To Issues
用垂直切片(tracer bullets)将 plan 拆成可独立领取的 issue。
issue tracker 与 triage label 词汇表应已提供——若没有,运行 /setup-matt-pocock-skills。
流程
1. Gather context
从对话 context 已有内容工作。若用户传入 issue reference(issue number、URL 或 path),从 issue tracker fetch 并读完整 body 与 comments。
2. Explore the codebase (optional)
若尚未探索代码库,则探索以理解当前 state。issue title 与 description 应使用项目领域词汇表,并 respect 你即将改动区域的 ADR。
3. Draft vertical slices
将 plan 拆成 tracer bullet issue。每个 issue 是 thin vertical slice,贯穿 所有 integration layer end-to-end,不是 单层 horizontal slice。
Slice 可为 'HITL' 或 'AFK'。HITL slice 需人工交互,如 architectural decision 或 design review。AFK slice 可无人工 interaction 实现并 merge。可能时 prefer AFK over HITL。
- 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
- Prefer many thin slices over few thick ones
4. Quiz the user
以 numbered list 呈现 proposed breakdown。每个 slice 展示:
- Title: short descriptive name
- Type: HITL / AFK
- Blocked by: 哪些其他 slice(若有)须先完成
- User stories covered: 覆盖哪些 user story(若源材料有)
问用户:
- 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. Publish the issues to the issue tracker
对每个 approved slice,publish 新 issue。用下方 issue body template。这些 issue 视为 ready for AFK agents,除非另有指示,publish 时带正确 triage label。
按 dependency order publish(blocker 先),以便 "Blocked by" 引用 real issue identifier。
Parent
A reference to the parent issue on the issue tracker (if the source was 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 go stale fast. Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it here and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits.
Acceptance criteria
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
Blocked by
- A reference to the blocking ticket (if any)
Or "None - can start immediately" if no blockers.
Do NOT close or modify any parent issue.