Break down a PRD into independently deliverable phases as vertical slices (tracer bullets). Output in docs/PLAN.md.
Process
1. Retrieve the PRD
By default, read docs/PRD.md. If a file path is passed as an argument, read it. If nothing usable, ask the user to point to the file or paste the content.
2. Extension mode if PLAN exists
If docs/PLAN.md already exists, read it. Identify the PRD user stories not covered by an existing phase and the inconsistencies with a PRD that has moved. Do not rewrite already-validated phases; propose additional phases or targeted extensions, and flag contradictions to the user before writing.
3. Explore the codebase
If you haven't already explored the codebase, do so to understand the current architecture, the patterns in place and the integration layers. If the project is greenfield, skip this step.
4. Identify the durable architectural decisions
Before breaking down, identify the high-level decisions that should not move during implementation:
- Route structure / URL patterns
- Database schema shape
- Names of key data models
- Authentication / authorization approach
- Third-party service boundaries
They go in the plan header, each phase can refer to them.
5. Draft the vertical slices
Break down the PRD into phases tracer bullets. Each phase is a thin slice that goes through ALL the integration layers end to end, NOT a horizontal slice of a single layer.
<règles-tranche-verticale>
- Each slice delivers a narrow but COMPLETE path through all the layers (schema, API, UI, tests)
- A completed slice is demonstrable or verifiable on its own
- Prefer many thin slices over few thick slices
- Do NOT include file names, function names, or implementation details likely to change
- INCLUDE the durable decisions: routes, schema shapes, model names </règles-tranche-verticale>
6. Quiz the user
Present the breakdown as a numbered list. For each phase:
- Title : short descriptive name
- Blocked by : other slices that must finish first
- User stories covered : numbers of the PRD user stories
Then ask:
- Is the granularity good? (too coarse / too fine)
- Are the dependencies correct?
- Any phases to merge or break down further?
Iterate until validated.
7. Write the plan
Create docs/ if absent. Write docs/PLAN.md according to the template. In extension mode, integrate the additional phases into the existing phases without touching the already validated content. Confirm "✓ written in docs/PLAN.md ».
Source PRD:
Architectural decisions
Durable decisions that apply to all phases:
- Routes : ...
- Schema : ...
- Key models : ...
- (add/remove sections depending on the context)
Phase 1:
User stories :
What we deliver
Concise description of this vertical slice. Describe the end-to-end behavior, not the implementation layer by layer.
Acceptance criteria
- Criterion 1
- Criterion 2
- Criterion 3
Blocked by
- Reference to the blocking phase (if any)
Or "None — immediately startable" if there is no blocker.
Phase 2:
User stories :
What we deliver
...
Acceptance criteria
- ...
Blocked by
- ...