A beginner-friendly guide to setting up and using Exocortex for task management in Obsidian.
- What is Exocortex?
- Installation
- Your First Area
- Your First Project
- Your First Task
- Daily Planning
- Understanding the Layout
- Next Steps
Exocortex transforms Obsidian into a powerful task management system with:
- Automatic layouts that appear below your note's metadata
- Hierarchical organization (Areas → Projects → Tasks)
- Daily planning with focused task lists
- Effort tracking from idea to completion
- Collaborative voting for prioritization
The key insight: Instead of manually maintaining task lists, you define relationships in frontmatter, and Exocortex automatically displays relevant information based on context.
Option A: Community Plugins (Recommended)
- Open Obsidian Settings → Community plugins
- Search for "Exocortex"
- Click Install → Enable
Option B: Manual Installation
cd /your/vault/.obsidian/plugins
git clone https://github.com/kitelev/exocortex
cd exocortex
npm install && npm run build- Settings → Community plugins → Installed plugins
- Find "Exocortex" in the list
- Toggle ON
- Create a test note with frontmatter:
---
exo__Instance_class: ems__Area
exo__Asset_label: Test Area
---- Switch to Reading Mode (Ctrl/Cmd + E)
- You should see the Exocortex layout below the metadata
If the layout doesn't appear:
- Check that the plugin is enabled (Settings → Community plugins)
- Verify you're in Reading Mode (not Live Preview or Source Mode)
- Check the console for errors (Ctrl/Cmd + Shift + I → Console tab)
Areas represent broad domains of work (e.g., "Development", "Marketing", "Personal Projects").
- Create a new note called
Development.md - Add frontmatter:
---
exo__Instance_class: ems__Area
exo__Asset_label: Development
---
# Development
All software development efforts live here.- Switch to Reading Mode
The Exocortex layout renders with these sections:
- Properties Table: Shows all frontmatter properties
- Action Buttons: Commands relevant to areas (Create Project, etc.)
- Area Hierarchy Tree: Parent/child area relationships (empty for now)
- Asset Relations: Notes referencing this area (empty for now)
📝 Note: The layout only appears in Reading Mode, not in Edit Mode.
Projects represent specific initiatives within an area.
- Create a new note called
Build API Server.md - Add frontmatter:
---
exo__Instance_class: ems__Project
exo__Asset_label: Build API Server
ems__Effort_area: "[[Development]]"
ems__Effort_status: "[[ems__EffortStatusBacklog]]"
---
# Build API Server
REST API for the mobile app.- Switch to Reading Mode
exo__Instance_class: ems__Project- Declares this note as a projectexo__Asset_label- Human-readable name (displayed everywhere)ems__Effort_area- Links to the parent area (wiki-link)ems__Effort_status- Current workflow status (Backlog, Analysis, ToDo, Doing, Done)
ems__EffortStatusDraft- Initial idea, not yet committedems__EffortStatusBacklog- Committed, awaiting analysisems__EffortStatusAnalysis- Being analyzed/plannedems__EffortStatusToDo- Ready to startems__EffortStatusDoing- In progressems__EffortStatusDone- Completed
- Action Buttons: Move between statuses, vote, create tasks
- Asset Relations: This project will appear in the Development area's relations
Tasks represent specific work items within a project.
- Open the project note (
Build API Server.md) in Reading Mode - Click "Create Task" button
- Fill in the form:
- Label:
Set up Express server - Status:
ems__EffortStatusToDo - Area: (auto-filled from parent project)
- Label:
Create Set up Express server.md:
---
exo__Instance_class: ems__Task
exo__Asset_label: Set up Express server
ems__Effort_area: "[[Development]]"
ems__Effort_project: "[[Build API Server]]"
ems__Effort_status: "[[ems__EffortStatusToDo]]"
---
# Set up Express server
Initialize Node.js project and configure Express.ems__Effort_project- Links to the parent project- All other properties work like projects
- Tasks can have
ems__Effort_parentfor sub-tasks
Daily notes show all tasks scheduled for a specific date.
- Create a note named
2025-11-10.md(use ISO format: YYYY-MM-DD) - Add frontmatter:
---
exo__Instance_class: pn__DailyNote
exo__Asset_label: "2025-11-10"
pn__Day_date: "2025-11-10"
---
# 2025-11-10
Today's plan.- Open a task note in Reading Mode
- Click "Plan on Today" button
- The task's frontmatter updates with today's date:
ems__Effort_scheduled_start_date: "2025-11-10"- Open today's daily note in Reading Mode
- The Daily Tasks section shows all scheduled tasks:
- Grouped by area
- Sorted by project
- Shows status, votes, and action buttons
- Toggle "Show Archived" to hide/show completed tasks
Use arrow buttons (◀ / ▶) to move tasks between days:
- ◀ Shift Day Backward (reschedule to yesterday)
- ▶ Shift Day Forward (reschedule to tomorrow)
The Exocortex layout renders automatically in Reading Mode based on the note's exo__Instance_class:
1. Properties Table
- Shows all frontmatter properties
- Resolves wiki-links to display labels
- Sortable columns (click headers)
- Toggle visibility with "Toggle Properties" button
2. Action Buttons
- Grouped by function:
- Creation: Create Task, Create Project
- Status: Move to Backlog, Move to ToDo, Start Effort, Mark Done
- Planning: Plan on Today, Shift Day Forward/Backward
- Maintenance: Archive, Trash, Vote, Clean Properties
- Only relevant buttons shown (based on note type and state)
3. Asset Relations
- Lists all notes that reference this note
- Grouped by property (e.g., all tasks with this project as parent)
- Sortable by name, class, status
- Click rows to navigate
ems__Area
- Area Hierarchy Tree: Interactive collapsible tree of parent/child areas
pn__DailyNote
- Daily Tasks: All tasks scheduled for this date
- Daily Projects: All projects scheduled for this date
- Focus Area Filter: Show only tasks from specific area
ems__Project / ems__Task
- Standard layout (Properties + Buttons + Relations)
Now that you have the basics, explore advanced features:
Learn the complete effort lifecycle:
Master daily note organization:
Build knowledge domains:
Discover all 32 commands:
| Property | Purpose | Example Value |
|---|---|---|
exo__Instance_class |
Note type | ems__Task, ems__Project, ems__Area, pn__DailyNote |
exo__Asset_label |
Display name | "Build API Server" |
ems__Effort_area |
Parent area | "[[Development]]" |
ems__Effort_project |
Parent project (tasks only) | "[[Build API Server]]" |
ems__Effort_status |
Workflow status | "[[ems__EffortStatusToDo]]" |
ems__Effort_scheduled_start_date |
Planned date | "2025-11-10" |
pn__Day_date |
Daily note date | "2025-11-10" |
| Action | Command |
|---|---|
| Create task | Click "Create Task" button or Cmd/Ctrl+P → "Create Task" |
| Move status | Use status buttons (Backlog → Analysis → ToDo → Doing → Done) |
| Plan for today | Click "Plan on Today" button |
| Shift day | Use ◀ / ▶ buttons |
| Vote on effort | Click "Vote" button |
| Reload layout | Cmd/Ctrl+P → "Reload Layout" |
| Problem | Solution |
|---|---|
| Layout doesn't appear | Switch to Reading Mode (Ctrl/Cmd + E) |
| Buttons don't work | Check console for errors (Ctrl/Cmd + Shift + I) |
| Wiki-links not resolving | Verify target note exists with correct exo__Asset_label |
| Daily tasks not showing | Check task has ems__Effort_scheduled_start_date matching daily note's pn__Day_date |
- Documentation: See full documentation index
- Troubleshooting: Troubleshooting Guide
- Issues: GitHub Issues
- Community: Obsidian Forum
Next: Task Workflows →