Task Line Format¶
Every task in agentic-gtd is a single line in a domain file — this page is the complete tag reference.
Overview¶
Tasks use a fixed line format: checkbox, description, then space-separated key:value tags. Planning commands parse this format; the Obsidian dashboard writes it. Sticking to the format ensures nothing gets lost between tools.
Line Format¶
- [ ] <next action> prio:<value> project:<name> effort:<Xh|Xm> impact:<long|short> due:<YYYY-MM-DD> context:<@tag,...>
Completed tasks use - [x] instead of - [ ]. Won't-fix tasks use - [-].
Tags are double-space-separated from the description and from each other. Single-colon format (key:value) is required — do not use the Dataview double-colon format (key:: value) unless you intend to rewrite every planning command.
Full Tag Reference¶
| Tag | Required | Values / format | Notes |
|---|---|---|---|
prio |
Yes* | fulltime, parttime, side, trust, long, short, tedious |
Sets the priority ladder rank. *Missing = rank 99 + warning |
project |
No | any string (no spaces) | Groups tasks by project or area |
effort |
No | 30m, 1h, 2h, 1.5h, etc. |
Used for greedy time-filling; missing = unknown (sorts last) |
impact |
No | long, short |
Informational only; not used in ranking |
due |
No | YYYY-MM-DD |
ISO date; missing or malformed = no-due (sorts last) |
context |
No | @computer, @phone, @errand, etc. (comma-separated) |
Used for context filter in /plan-day |
recurs |
No | duration string, e.g. 7d, 14d |
Marks a recurring task; pairs with last: |
last |
No | YYYY-MM-DD |
Date of last completion; used with recurs to compute effective due |
resolution |
No | done, wontfix |
Written by dashboard resolve buttons; do not set manually |
resolved |
No | YYYY-MM-DD |
Date resolution was applied; written by dashboard |
blocked |
No | true (presence only) |
Set/cleared by the dashboard Block toggle; omitted when unblocked |
status |
No | in-progress |
Set/cleared by the dashboard Status Board (drag or select); checkbox stays [ ] while in progress |
order |
No | positive integer | Written by the dashboard drag-to-reorder; within-rank manual tiebreak used by plan commands; do not set manually |
Examples¶
- [ ] Deploy staging environment prio:fulltime project:backend effort:1h due:2026-06-15 context:@computer
- [ ] Read "Shape Up" ch 3 prio:long effort:45m context:@phone
- [ ] Fix flaky CI test prio:side project:my-app effort:30m context:@computer
- [ ] Water plants prio:tedious recurs:7d last:2026-06-02
Where the Format Is Enforced¶
Planning commands (/plan-day, /plan-week, /plan-weekend) and /sync-github all read this format. The Triage agent writes it. The Obsidian dashboard reads and writes individual tag tokens in place — it validates effort against \d+(\.\d+)?[hm] before committing a change.
See Priority Ladder for the meaning of each prio value.