to-issues

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

To Issues

To Issues

使用 vertical slices(tracer bullets)把计划拆成可独立领取的 issue tracker issues。
Issue tracker 和 triage label vocabulary 应该已经提供给你;如果没有,运行
/setup-matt-pocock-skills
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

Process

1. Gather context

1. Gather context

基于 conversation context 中已有内容工作。如果用户传入 issue reference(issue number、URL 或 path)作为参数,从 issue tracker 获取它,并读取完整 body 和 comments。
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)

2. Explore the codebase (optional)

如果还没探索 codebase,就先探索,以理解代码当前状态。Issue titles 和 descriptions 应使用项目 domain glossary vocabulary,并遵守相关 ADRs。
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

3. Draft vertical slices

把计划拆成 tracer bullet issues。每个 issue 都是一个薄 vertical slice,end-to-end 穿过所有 integration layers,而不是某一层的 horizontal slice。
Slices 可以是
HITL
AFK
。HITL slices 需要人类交互,例如 architecture decision 或 design review。AFK slices 可以无人交互地实现并合并。尽可能优先 AFK。
<vertical-slice-rules> - 每个 slice 都交付一条窄但 COMPLETE 的路径,穿过每一层(schema, API, UI, tests) - 完成后的 slice 自身可 demo 或验证 - 偏好多而薄的 slices,而不是少而厚的 slices </vertical-slice-rules>
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
HITL
or
AFK
. 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

4. Quiz the user

把 proposed breakdown 作为编号列表展示。每个 slice 显示:
  • Title:短描述名
  • Type:HITL / AFK
  • Blocked by:哪些其他 slices 必须先完成(如果有)
  • User stories covered:覆盖哪些 user stories(如果 source material 中有)
询问用户:
  • Granularity 是否合适?(too coarse / too fine)
  • Dependency relationships 是否正确?
  • 是否需要 merge 或继续 split 某些 slices?
  • HITL 和 AFK 标记是否正确?
迭代直到用户批准 breakdown。
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

5. Publish the issues to the issue tracker

对每个批准的 slice,把新 issue 发布到 issue tracker。使用下面的 issue body template。这些 issues 被视为已准备好给 AFK agents 接手;除非另有指示,发布时应用正确的 triage label。
按 dependency order 发布 issues(blockers first),这样可以在 "Blocked by" 字段引用真实 issue identifiers。
<issue-template>
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

Parent

对 issue tracker 中 parent issue 的引用(如果 source 是现有 issue;否则省略本 section)。
A reference to the parent issue in the issue tracker (if the source is an existing issue; otherwise omit this section).

What to build

What to build

这个 vertical slice 的简洁描述。描述 end-to-end behavior,不要按 layer-by-layer implementation 描述。
避免具体 file paths 或 code snippets;它们很快会过时。例外:如果 prototype 产出的 snippet 比 prose 更精确地编码了某个决策(state machine、reducer、schema、type shape),可以内联在这里,并简短说明它来自 prototype。保留决策密集部分,不要放完整 working demo。
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

Acceptance criteria

  • Criterion 1
  • Criterion 2
  • Criterion 3
  • Criterion 1
  • Criterion 2
  • Criterion 3

Blocked by

Blocked by

  • 对 blocking issue 的引用(如果有)
如果没有 blocker,写 "None - can start immediately"。
</issue-template>
不要 close 或 modify 任何 parent issue。
  • 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.