Break a PRD into independently-grabbable local Markdown issue files using vertical slices (tracer bullets).
The generated issues must be junior-developer-ready: each issue should explain what to build, why the work is ordered that way, what to verify, and what assumptions or pitfalls to avoid. A junior developer should be able to pick up a single AFK issue without rereading the whole conversation.
Process
1. Locate the PRD
Ask the user for the PRD file path (e.g. docs/prds/<slug>.md).
If the PRD is not already in your context window, read the file.
2. Explore the codebase (optional)
If you have not already explored the codebase, do so to understand the current state of the code. Use the project's domain vocabulary consistently, and respect any existing ADRs or architecture docs in the area being changed.
3. Draft vertical slices
Break the PRD into tracer bullet issues. Each issue is a thin vertical slice that cuts through ALL integration layers end-to-end, NOT a horizontal slice of one layer.
Slices may be 'HITL' or 'AFK'. HITL slices require human interaction, such as an architectural decision or a design review. AFK slices can be implemented and merged without human interaction. Prefer AFK over HITL where possible.
4. Quiz the user
Present the proposed breakdown as a numbered list. For each slice, show:
- Title: short descriptive name
- Type: HITL / AFK
- Blocked by: which other slices (if any) must complete first
- User stories covered: which user stories from the PRD this addresses
Ask the user:
- Does the granularity feel right? (too coarse / too fine)
- Are the dependency relationships correct?
- Should any slices be merged or split further?
- Are the correct slices marked as HITL and AFK?
Iterate until the user approves the breakdown.
5. Create the issue files
For each approved slice, create a Markdown file at docs/issues/<prd-slug>/<NN>-<issue-slug>.md (create directories if needed). Number files sequentially (01, 02, 03...) in dependency order so blockers come first.
Tell the user the paths of all created files.
What to build
A concise description of this vertical slice. Describe the end-to-end behavior, not layer-by-layer implementation. Reference specific sections of the parent PRD rather than duplicating content.
Avoid specific file paths or code snippets — they go stale fast.
Exception: if the PRD or a prototype includes a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape, or API contract), inline only the decision-rich part and explain why it is included.
Step-by-step implementation plan
A numbered plan a junior developer can follow. Each step should include:
- What to change
- Why this step comes at this point in the sequence
- Which module, interface, API contract, schema, workflow, or test surface it affects
- What to verify before moving to the next step
- Common pitfalls or assumptions to avoid
Keep this concrete enough to execute, but avoid brittle line numbers or overly specific implementation scaffolding.
Acceptance criteria
- Criterion 1
- Criterion 2
- Criterion 3
Blocked by
- Blocked by -.md (if any)
Or "None - can start immediately" if no blockers.
User stories addressed
Reference by number from the parent PRD:
- User story 3
- User story 7
Do NOT modify the parent PRD file.