|
| 1 | +Task management for planning and tracking work. |
| 2 | + |
| 3 | +When to Use: |
| 4 | +- Tasks requiring 3 or more distinct steps |
| 5 | +- User provides multiple tasks (numbered lists, comma-separated items) |
| 6 | +- Non-trivial work that benefits from planning and tracking |
| 7 | +- User explicitly requests task tracking or a todo list |
| 8 | + |
| 9 | +When NOT to Use: |
| 10 | +- Single, trivial task completable in very few steps |
| 11 | +- Purely informational or conversational queries |
| 12 | +- Quick fixes where tracking adds no organizational value |
| 13 | + |
| 14 | +Operations: |
| 15 | +- read: View current TODO state |
| 16 | +- plan: Create/replace TODO with goal and tasks (required: goal, tasks) |
| 17 | +- add: Append task(s) to existing TODO |
| 18 | +- update: Modify a single task metadata by `id` (content, priority, done_when, blocked_by) — cannot change status |
| 19 | +- start: Begin work on tasks by `ids` (sets to in_progress; rejects blocked or done tasks) |
| 20 | +- complete: Mark tasks by `ids` as done (verify done_when criteria first) |
| 21 | +- delete: Remove tasks by `ids` |
| 22 | +- clear: Reset entire TODO (removes goal and all tasks) |
| 23 | + |
| 24 | +Workflow: |
| 25 | +1. Use 'plan' to create TODO with goal and initial tasks |
| 26 | +2. Use 'start' before working on a task — marks it as in_progress |
| 27 | +3. Work sequentially by default. Batch 'start' or 'complete' operations (using multiple 'ids') ONLY for independent tasks being executed simultaneously (e.g., via subagents). |
| 28 | +4. Use 'complete' only for tasks that are actually finished; for each targeted task that has `done_when`, verify it first — the response tells you which tasks got unblocked |
| 29 | +5. Use 'add' if you discover additional work during execution |
| 30 | +6. When a plan is fully completed and no further work is needed for the current goal, always use the 'clear' operation to clean up the workspace. |
| 31 | + |
| 32 | +How to use done_when: |
| 33 | +- `done_when` is optional. |
| 34 | +- Use it for non-trivial tasks where completion must be verifiable (tests passing, behavior implemented, specific file changes, etc.). |
| 35 | +- For trivial/obvious tasks, you may omit `done_when` to avoid overhead. |
| 36 | + |
| 37 | +Task Completion Integrity: |
| 38 | +- Mark tasks complete as soon as they are finished. |
| 39 | +- If a task has `done_when`, ONLY mark it as completed when ALL `done_when` criteria are actually met (for each task in a batch). |
| 40 | +- Do NOT complete if: tests failing, implementation partial, or errors unresolved. |
| 41 | +- When completing reveals follow-up work, use 'add' to append new tasks. |
0 commit comments