obsidian-tasks
Task management in Obsidian vaults using Kanban boards, Dataview dashboards, and structured task notes.
Setup
Run the setup script to initialize a task board in an Obsidian vault:
python3 scripts/setup.py <vault-path> [--folder <name>] [--columns <col1,col2,...>]
- •
vault-path: Path to the Obsidian vault root - •
--folder: Subfolder to create (default:Tasks) - •
--columns: Kanban columns (default:Backlog,Todo,In Progress,Review,Done)
This creates:
- •
<folder>/Board.md- Kanban board (requires Kanban community plugin) - •
<folder>/Dashboard.md- Dataview dashboard (requires Dataview community plugin)
Tell the user to install Kanban and Dataview community plugins if not already installed.
Task Note Format
Each task is a separate markdown file with YAML frontmatter:
--- status: todo priority: P1 category: revenue created: 2026-02-03 due: 2026-02-07 --- # Task Title Description and notes here. ## References - [[linked-document|Display Name]] ## Status - [x] Step completed - [ ] Step pending
Frontmatter Fields
| Field | Values | Required |
|---|---|---|
| status | backlog, todo, in-progress, review, done | yes |
| priority | P1, P2, P3 | yes |
| category | free text (revenue, content, research, setup, project) | yes |
| created | YYYY-MM-DD | yes |
| due | YYYY-MM-DD | no |
| parked_until | YYYY-MM-DD | no |
Priority Labels on Board
Use emoji prefixes on the Kanban board for visual priority:
- •🔴 P1 (urgent)
- •🟡 P2 (normal)
- •🟢 P3 (backlog/parked)
Managing Tasks
Create a Task
- •Create a markdown file in the tasks folder with frontmatter
- •Add a card to Board.md in the appropriate column:
- [ ] [[Task Name]] 🔴 P1 @{2026-02-07}
Move a Task
- •Update
statusin the task note's frontmatter - •Move the card line in Board.md to the target column
Complete a Task
- •Set
status: donein frontmatter - •Move to Done column and mark checkbox:
- [x] [[Task Name]] ✅ 2026-02-03
Always update both Board.md AND the task note frontmatter to keep them in sync.
Linking Documents
Use Obsidian [[wikilinks]] to connect tasks to supporting documents:
## References - [[2026-02-03-research-report|Research Report]] - [[meeting-notes-jan|Meeting Notes]]
Store referenced documents in a sibling folder (e.g., Research/ next to Tasks/).
Dashboard Queries
The setup script creates a Dataview dashboard. Core queries:
Tasks by priority:
TABLE status, category, due FROM "<tasks-folder>" WHERE priority = "P1" AND status != "done" SORT due ASC
Overdue tasks:
TABLE priority, category FROM "<tasks-folder>" WHERE due AND due < date(today) AND status != "done" SORT due ASC
Recently completed:
TABLE category FROM "<tasks-folder>" WHERE status = "done" SORT file.mtime DESC LIMIT 10