This commit is contained in:
Matt Pocock
2026-02-25 15:51:02 +00:00
parent 8e51ff765e
commit 78649baa3e
2 changed files with 10 additions and 20 deletions
+1
View File
@@ -0,0 +1 @@
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one.
+9 -20
View File
@@ -6,26 +6,24 @@ Break a PRD into independently-grabbable GitHub issues using vertical slices (tr
### 1. Locate the PRD ### 1. Locate the PRD
Ask the user for the PRD GitHub issue number (or URL). Fetch it with `gh issue view <number>`. Read and internalize the full PRD content (with all comments). Ask the user for the PRD GitHub issue number (or URL).
### 2. Explore the codebase If the PRD is not already in your context window, fetch it with `gh issue view <number>` (with comments).
Read the key modules and integration layers referenced in the PRD. Identify: ### 2. Explore the codebase (optional)
- The distinct integration layers the feature touches (e.g. DB/schema, API/backend, UI, tests, config) If you have not already explored the codebase, do so to understand the current state of the code.
- Existing patterns for similar features
- Natural seams where work can be parallelized
### 3. Draft vertical slices ### 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. 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.
<vertical-slice-rules> <vertical-slice-rules>
- Each slice delivers a narrow but COMPLETE path through every layer (schema, API, UI, tests) - Each slice delivers a narrow but COMPLETE path through every layer (schema, API, UI, tests)
- A completed slice is demoable or verifiable on its own - A completed slice is demoable or verifiable on its own
- Prefer many thin slices over few thick ones - Prefer many thin slices over few thick ones
- The first slice should be the simplest possible end-to-end path (the "hello world" tracer bullet)
- Later slices add breadth: edge cases, additional user stories, polish
</vertical-slice-rules> </vertical-slice-rules>
### 4. Quiz the user ### 4. Quiz the user
@@ -33,7 +31,7 @@ Break the PRD into **tracer bullet** issues. Each issue is a thin vertical slice
Present the proposed breakdown as a numbered list. For each slice, show: Present the proposed breakdown as a numbered list. For each slice, show:
- **Title**: short descriptive name - **Title**: short descriptive name
- **Layers touched**: which integration layers this slice cuts through - **Type**: HITL / AFK
- **Blocked by**: which other slices (if any) must complete first - **Blocked by**: which other slices (if any) must complete first
- **User stories covered**: which user stories from the PRD this addresses - **User stories covered**: which user stories from the PRD this addresses
@@ -42,8 +40,7 @@ Ask the user:
- Does the granularity feel right? (too coarse / too fine) - Does the granularity feel right? (too coarse / too fine)
- Are the dependency relationships correct? - Are the dependency relationships correct?
- Should any slices be merged or split further? - Should any slices be merged or split further?
- Is the ordering right for the first tracer bullet? - Are the correct slices marked as HITL and AFK?
- Are there any slices missing?
Iterate until the user approves the breakdown. Iterate until the user approves the breakdown.
@@ -80,15 +77,7 @@ Reference by number from the parent PRD:
- User story 3 - User story 3
- User story 7 - User story 7
</issue-template>
After creating all issues, print a summary table: </issue-template>
```
| # | Title | Blocked by | Status |
|---|-------|-----------|--------|
| 42 | Basic widget creation | None | Ready |
| 43 | Widget listing | #42 | Blocked |
```
Do NOT close or modify the parent PRD issue. Do NOT close or modify the parent PRD issue.