To Issues
Use vertical slices (tracer bullets) to break down plans into independently assignable issue tracker issues.
The issue tracker and triage label vocabulary should already be provided to you; if not, run
/setup-matt-pocock-skills
.
Process
1. Gather context
Work based on existing content in the conversation context. If the user passes an issue reference (issue number, URL, or path) as a parameter, retrieve it from the issue tracker and read the full body and comments.
2. Explore the codebase (optional)
If you haven't explored the codebase yet, do so first to understand the current state of the code. Issue titles and descriptions should use the project's domain glossary vocabulary and comply with relevant ADRs.
3. Draft vertical slices
Break down the plan into tracer bullet issues. Each issue is a thin vertical slice that goes end-to-end through all integration layers, rather than a horizontal slice of a single layer.
Slices can be
or
. HITL slices require human interaction, such as architecture decisions or design reviews. AFK slices can be implemented and merged without human interaction. Prioritize AFK whenever possible.
<vertical-slice-rules>
- Each slice delivers a narrow but COMPLETE path through every layer (schema, API, UI, tests)
- The completed slice can be demoed or validated on its own
- Prefer many thin slices over fewer thick slices
</vertical-slice-rules>
4. Quiz the user
Present the proposed breakdown as a numbered list. Each slice should display:
- Title: Short descriptive name
- Type: HITL / AFK
- Blocked by: Which other slices must be completed first (if any)
- User stories covered: Which user stories are covered (if present in the source material)
Ask the user:
- Is the granularity appropriate? (too coarse / too fine)
- Are the dependency relationships correct?
- Do any slices need to be merged or split further?
- Are the HITL and AFK labels correct?
Iterate until the user approves the breakdown.
5. Publish the issues to the issue tracker
For each approved slice, publish a new issue to the issue tracker. Use the issue body template below. These issues are considered ready for AFK agents to take over; apply the correct triage label when publishing unless instructed otherwise.
Publish issues in dependency order (blockers first) so that real issue identifiers can be referenced in the "Blocked by" field.
<issue-template>
## Parent
A reference to the parent issue in the issue tracker (if the source is an existing issue; otherwise omit this section).
What to build
A concise description of this vertical slice. Describe the end-to-end behavior, not layer-by-layer implementation.
Avoid specific file paths or code snippets; they become outdated quickly. Exception: If a snippet from a prototype encodes a decision (state machine, reducer, schema, type shape) more precisely than prose, it can be inline here with a brief note that it comes from the prototype. Keep decision-dense parts, not full working demos.
Acceptance criteria
Blocked by
- A reference to the blocking issue (if any)
If there are no blockers, write "None - can start immediately".
</issue-template>
Do not close or modify any parent issues.