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
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 status in the task note's frontmatter
Move the card line in Board.md to the target column
Complete a Task
Set status: done in 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