45 lines
2.0 KiB
Plaintext
45 lines
2.0 KiB
Plaintext
Create and maintain a structured task list for the current coding session. Tracks progress, organizes multi-step work, and surfaces status to the user.
|
|
|
|
## When to use
|
|
Use proactively when:
|
|
- The task requires 3+ distinct steps or actions (not just 3 tool calls for a single conceptual step)
|
|
- The work is non-trivial and benefits from planning
|
|
- The user provides multiple tasks (numbered or comma-separated) or explicitly asks for a todo list
|
|
- New instructions arrive - capture them as todos
|
|
- You start a task - mark it `in_progress` (only one at a time) before working
|
|
- You finish a task - mark it `completed` and add any follow-ups discovered during the work
|
|
|
|
## When NOT to use
|
|
Skip when:
|
|
- The work is a single, straightforward task (or <3 trivial steps)
|
|
- The request is purely informational or conversational
|
|
- Tracking adds no organizational value
|
|
|
|
## States
|
|
- `pending` - not started
|
|
- `in_progress` - actively working (exactly ONE at a time)
|
|
- `completed` - finished successfully
|
|
- `cancelled` - no longer needed
|
|
|
|
## Rules
|
|
- Update status in real time; don't batch completions
|
|
- Mark `completed` only after the required work is actually done, including any required verification. Never based on intent.
|
|
- Keep exactly one `in_progress` while work remains
|
|
- If blocked or partial, keep it `in_progress` and add a follow-up todo describing the blocker
|
|
- Preserve user-provided commands verbatim (flags, args, order)
|
|
- Items should be specific and actionable; break large work into smaller steps
|
|
|
|
## Examples
|
|
|
|
Use it:
|
|
- "Add a dark mode toggle and run the tests" -> multi-step feature + explicit verification
|
|
- "Rename getCwd -> getCurrentWorkingDirectory across the repo" -> grep reveals 15 occurrences in 8 files
|
|
- "Implement registration, catalog, cart, checkout" -> multiple complex features
|
|
|
|
Skip it:
|
|
- "How do I print Hello World in Python?" -> informational
|
|
- "Add a comment to calculateTotal" -> single edit
|
|
- "Run npm install and tell me what happened" -> one command
|
|
|
|
When in doubt, use it.
|