| name | plan |
| description | Break down a goal into actionable tasks with dependencies, priorities, and optional specs. Use when the user wants to plan work, decompose a feature, or create a task breakdown. |
Plan Work
Break down the given goal into actionable tasks. The goal is: "$ARGUMENTS"
Process
-
Understand the goal — analyze what "$ARGUMENTS" requires. Read relevant code, configs, and docs in the codebase to understand the current state.
-
Decompose into tasks — create a logical breakdown of work items. Each task should be:
- Small enough to complete in one focused session
- Clear about what "done" looks like
- Independent where possible, with explicit dependencies where not
-
Create tasks — for each task, use task_add with:
- A clear, actionable description (start with a verb, max 500 chars — keep it to a one-line summary; longer content goes in step 4)
project set to a logical grouping
priority based on urgency and importance (H for blockers, M for core work, L for nice-to-have)
tags for categorization (e.g., frontend, backend, testing, docs)
depends to express ordering constraints (use UUIDs from previously created tasks)
scheduled if the task shouldn't start until a certain date
-
Write specs for complex tasks — for any task that needs detailed requirements or context (anything that wouldn't fit in 500 chars), use task_doc_write to attach a markdown document explaining:
- What needs to be built
- Key technical decisions
- Acceptance criteria
- Relevant code locations
-
Present the plan — show the created tasks in dependency order with their IDs, descriptions, and priorities. Highlight the first task(s) that can be started immediately (not blocked).