What it is
The Obsidian Tasks plugin stores tasks as plain markdown, but query results only exist inside Obsidian. A tasks query block on disk is just a filter definition — not the matching tasks. That makes dashboards invisible to scripts, grep, CI, and AI agents.
obsidian-tasks is an npm package and CLI that parses the Tasks emoji format, runs the query language (urgency, blocked tasks, today, grouping, limits), and prints materialized markdown to stdout — without rewriting your vault.
Install it from npm:
npm install -g @watkins-dev/obsidian-tasks
Typical uses:
- Render a
TASKS.mddashboard from the shell - Sync completed tasks into daily notes when files change
- Nightly completion logging
- Build automation or agent tooling on a real TypeScript API
How it works
TypeScript library + CLI. Scan the vault for task lines, parse emoji metadata (📅, ✅, ⛔, priorities, tags), execute query blocks, and output plain markdown. Tasks stay in their home files; automation reads the same query definitions you use in Obsidian.