Sections
On this page
Plan a feature
How an intent becomes a task tree: what the agent does, what you decide, and where the line runs.
Planning is where human and agent split the work most sharply. The agent decomposes and records; you decide what to build at all and in what order. The second part cannot be delegated, and the product does not pretend otherwise.
How to start
/plan-feature Magic-link sign-in: an email with a link instead of a password,
the link lives 15 minutes, one link means one sign-in.You can skip naming the skill — it is picked up from the sense of the request:
we need CSV export for reports, break it into tasksDescribe the outcome, not the implementation. "We need magic-link sign-in, the link
lives 15 minutes" is an intent. "Create a magic_links table and a POST /auth/magic
endpoint" is already a decomposition — and you have just done the part the agent does
better.
What happens
Search first, create second
The agent searches by meaning, not by title: something similar may have been planned under a different name. When it finds one, it proposes extending it or adding a dependency — and records that decision in a comment.
This is how the product defends against the classic tracker disease: a second identical task nobody knew about.
Top-down decomposition
| Level | When it is created |
|---|---|
| epic | only for a genuinely large body of work |
| feature | a shippable capability — something you can release |
| plan | the approach: goals, order, risks |
| task | one concrete unit of work, one sitting |
The shallowest tree that fits is chosen. An extra level helps nobody: it adds a click and no meaning.
The spec as a separate document
Besides the tasks, the agent writes a doc node: what the product becomes once the feature ships. Not a checklist — a description of behaviour that stays useful after every task is closed.
Tasks reference it. In strict mode that reference is mandatory: it is what the close gate checks against.
Dependencies
add_dependency states "A cannot start until B is done". This is not graph decoration:
the execution skill reads dependencies and will not pick up a task whose blocker is
still open.
What you do
Check the decomposition. Three questions catch almost everything:
- Is each task doable in one sitting? If not, it is a plan, not a task.
- Does each have acceptance criteria? Without them a task is closed by feel.
- Do dependencies reflect a real order, or just caution? A spurious dependency stalls work for nothing.
Cut scope. Agents decompose thoroughly; thorough and needed are different things. A task you have no intention of doing this quarter is clutter.
Say what the agent cannot know. Deadlines, priorities, agreements with people, the reasons behind "it is historical".
Common misses
Too fine. Fifteen ten-minute tasks are one task with a checklist inside. Splitting for the sake of splitting turns a tree into a to-do list.
Too coarse. "Do authentication" is a feature, not a task. The tell: the description does not fit into acceptance criteria.
A plan instead of an intent. If you spell out the implementation in your request, the agent will formalise your version rather than propose a better one.
Next
- Execute a task
- Hierarchy and statuses — what each level means