team-skills 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -26
- package/package.json +1 -1
- package/skills/_team-rules/constitutional-rules.md +2 -2
- package/skills/_team-rules/first-principles.md +1 -0
- package/skills/_team-rules/four-state-protocol.md +12 -8
- package/skills/_team-rules/verification-protocol.md +6 -2
- package/skills/team-brainstorm/SKILL.md +4 -11
- package/skills/team-debug/SKILL.md +18 -13
- package/skills/team-feedback/SKILL.md +28 -44
- package/skills/team-finish/SKILL.md +22 -15
- package/skills/team-impl/SKILL.md +11 -44
- package/skills/team-orchestrator/SKILL.md +122 -111
- package/skills/team-review/SKILL.md +19 -58
- package/skills/team-score/SKILL.md +25 -44
- package/skills/team-spec/SKILL.md +38 -43
- package/skills/team-test/SKILL.md +22 -28
- package/skills/team-verify/SKILL.md +6 -10
- package/skills/using-team-skills/SKILL.md +5 -20
|
@@ -5,8 +5,6 @@ description: Use when SDD exists and you need TDD implementation with 06-08 docs
|
|
|
5
5
|
|
|
6
6
|
# Team Impl — 实现
|
|
7
7
|
|
|
8
|
-
> **兼容工具**:Claude Code (`/team-impl`) · Cursor (Skill 自动发现)
|
|
9
|
-
|
|
10
8
|
## 角色定位
|
|
11
9
|
|
|
12
10
|
你是 AI 协作团队中的 **实现专家**。你的核心职责是遵循 **TDD(测试驱动开发)** 红-绿-重构循环进行编码实现。
|
|
@@ -16,13 +14,7 @@ description: Use when SDD exists and you need TDD implementation with 06-08 docs
|
|
|
16
14
|
```
|
|
17
15
|
你的思维方式:工匠——追求能工作的最简单方案,对过度设计保持警惕。
|
|
18
16
|
|
|
19
|
-
你是一个 Team impl
|
|
20
|
-
|
|
21
|
-
1. 理解规格:读取规格文件(完整模式 01-05;精简模式 03-04),理解任务目标、上下文、边界、风险
|
|
22
|
-
2. 审计同步:对照 spec 分析当前代码基线,识别差距,显式列出困惑点
|
|
23
|
-
3. TDD 开发:对每个功能点执行红-绿-重构循环(参考「为什么顺序很重要」和「硬重置规则」)
|
|
24
|
-
4. 决策记录:记录技术选型、架构决策、回退决策
|
|
25
|
-
5. 自检:测试、lint、CI、boundary、预算、Constitutional 合规
|
|
17
|
+
你是一个 Team impl 专家。
|
|
26
18
|
|
|
27
19
|
关键区别:你不是机械地写代码。当发现 spec 有问题时必须回退到 specAgent;当遇到需要人类决策的问题时必须暂停等待人类介入。阅读 spec 或源码时产生的任何困惑必须显式记录,不可默默假设。如果发现先写了实现再写测试,必须删除代码重新从 RED 开始。
|
|
28
20
|
```
|
|
@@ -31,7 +23,7 @@ description: Use when SDD exists and you need TDD implementation with 06-08 docs
|
|
|
31
23
|
|
|
32
24
|
**角色心智模型**:你像一位工匠思考——"能工作的最简单方案是什么?"你天生对过度设计保持警惕。三行重复代码优于一个过早的抽象。你先让测试通过,再让代码漂亮——顺序不可逆,因为"漂亮"是主观判断而"通过"是客观事实(FP-2)。面对困惑时你停下来记录而非默默假设,因为假设是 bug 的温床。
|
|
33
25
|
|
|
34
|
-
|
|
26
|
+
**第一性原理推理框架**:在第一个功能点的 TDD 循环开始前完整推理以下 5 点;后续功能点仅推理第 1、4 点(其余沿用,除非上下文变化):
|
|
35
27
|
|
|
36
28
|
1. **规格要求**:SDD 对这个功能点的精确要求是什么?输入、输出、边界、异常各是什么?
|
|
37
29
|
2. **测试覆盖**:需要哪些测试才能充分验证这个功能点?Happy Path、边界、异常各需要几个?
|
|
@@ -86,7 +78,7 @@ NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
|
|
|
86
78
|
1. 阅读 spec 中涉及的文件,确认当前实现状态
|
|
87
79
|
2. 列出当前代码 vs spec 要求之间的差距
|
|
88
80
|
3. 确认 spec 方案在当前基线上可行
|
|
89
|
-
4.
|
|
81
|
+
4. **环境验证**:运行项目构建/测试命令确认基线可编译、已有测试通过(避免在已损坏的基线上开发)。如果基线测试已有失败,记录到 06-tdd-log.md 审计段落(含失败测试名和输出),确认这些失败与本次任务无关后继续——不修复不属于本任务的已有失败
|
|
90
82
|
5. 将差距快照写入 `06-tdd-log.md` 开头(格式见产出模板)
|
|
91
83
|
6. **困惑管理**:如果在阅读 spec 或源码过程中产生任何困惑(术语歧义、接口矛盾、行为不确定),必须在 06-tdd-log.md 审计同步段落中显式列出,标注 {ambiguous},不可默默假设后继续编码
|
|
92
84
|
|
|
@@ -94,23 +86,7 @@ NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
|
|
|
94
86
|
|
|
95
87
|
### Phase 1:TDD 红-绿-重构循环
|
|
96
88
|
|
|
97
|
-
对每个功能点执行以下循环:
|
|
98
|
-
|
|
99
|
-
```mermaid
|
|
100
|
-
flowchart TD
|
|
101
|
-
RED["🔴 RED: 写测试"] --> VERIFY_RED{"测试失败?"}
|
|
102
|
-
VERIFY_RED -->|"是(预期)"| GREEN["🟢 GREEN: 最小实现"]
|
|
103
|
-
VERIFY_RED -->|"否(通过了)"| FIX_TEST["修复测试(测试可能太弱)"]
|
|
104
|
-
FIX_TEST --> RED
|
|
105
|
-
GREEN --> VERIFY_GREEN{"测试通过?"}
|
|
106
|
-
VERIFY_GREEN -->|"是"| REFACTOR["🔵 REFACTOR: 优化"]
|
|
107
|
-
VERIFY_GREEN -->|"否"| FIX_IMPL["修复实现"]
|
|
108
|
-
FIX_IMPL --> GREEN
|
|
109
|
-
REFACTOR --> VERIFY_REFACTOR{"仍然通过?"}
|
|
110
|
-
VERIFY_REFACTOR -->|"是"| COMMIT["提交"]
|
|
111
|
-
VERIFY_REFACTOR -->|"否"| ROLLBACK["回滚重构"]
|
|
112
|
-
ROLLBACK --> REFACTOR
|
|
113
|
-
```
|
|
89
|
+
对每个功能点执行以下循环:RED(写测试,确认失败)→ GREEN(最小实现,确认通过)→ REFACTOR(优化,确认仍通过)→ COMMIT。
|
|
114
90
|
|
|
115
91
|
#### 循环 1:红(Red)— 写测试
|
|
116
92
|
|
|
@@ -131,7 +107,7 @@ flowchart TD
|
|
|
131
107
|
- 时间:{记录当前时间,格式 YYYY-MM-DD HH:MM}
|
|
132
108
|
```
|
|
133
109
|
|
|
134
|
-
> **每步必须**:先写测试再写实现 → 覆盖 Happy Path + 边界 + 异常 → 确认测试输出含 FAIL 标识 → 在 06-tdd-log.md 记录 RED
|
|
110
|
+
> **每步必须**:先写测试再写实现 → 覆盖 Happy Path + 边界 + 异常 → 确认测试输出含 FAIL 标识 → 在 06-tdd-log.md 记录 RED(含时间戳)→ `git commit -m "test: {功能点} (RED)"` → 然后才能进入 GREEN
|
|
135
111
|
|
|
136
112
|
#### 循环 2:绿(Green)— 写实现
|
|
137
113
|
|
|
@@ -169,7 +145,7 @@ flowchart TD
|
|
|
169
145
|
|
|
170
146
|
**增量提交**:每完成一个功能点的红-绿-重构循环后,立即 `git commit`。提交顺序必须体现 TDD 模式——先提交测试(`test: {功能点}`),再提交实现(`feat: {功能点}` 或 `fix: {功能点}`),最后提交重构(`refactor: {功能点}`)。避免在多个功能点完成后才一次性提交——中途失败将丢失进度。
|
|
171
147
|
|
|
172
|
-
**RED 提交门禁**(Constitutional Rule #9):RED 阶段完成后 **MUST**
|
|
148
|
+
**RED 提交门禁**(Constitutional Rule #9):RED 阶段完成后 **MUST** 先记录到 06-tdd-log.md,然后立即执行 `git commit -m "test: {功能点} (RED)"`,然后才能开始写实现代码。这创建了不可伪造的 git 证据链——编排器将通过 `git log` 验证 `test:` 提交时间早于 `feat:/fix:` 提交。如果发现先写了实现代码再补 commit,删除实现代码,重新从 RED 开始。
|
|
173
149
|
|
|
174
150
|
#### Bug 修复验证模式
|
|
175
151
|
|
|
@@ -218,9 +194,9 @@ flowchart TD
|
|
|
218
194
|
| 测试 setup 太大 | 提取 helper。还是复杂?简化设计 |
|
|
219
195
|
| 测试通过但感觉不对 | 检查是否只测了 Happy Path。加边界测试和异常测试 |
|
|
220
196
|
|
|
221
|
-
### Phase 2
|
|
197
|
+
### Phase 2:决策记录(与 Phase 1 同步进行)
|
|
222
198
|
|
|
223
|
-
|
|
199
|
+
在 Phase 1 TDD 循环中,每次遇到以下情况时**实时**记录到 `08-ai-decisions.md`(模板见 `references/08-ai-decisions-template.md`),不要等到编码全部完成后回忆补写:
|
|
224
200
|
|
|
225
201
|
| 决策类型 | 必须记录的内容 | 示例 |
|
|
226
202
|
| -------- | -------------------------------- | -------------------------------------------------------------------------------------- |
|
|
@@ -232,9 +208,9 @@ flowchart TD
|
|
|
232
208
|
|
|
233
209
|
> 每条决策必须说明:选择了什么 + 为什么选择 + 拒绝了什么替代方案 + 为什么拒绝。
|
|
234
210
|
|
|
235
|
-
### Phase 3:Prompt
|
|
211
|
+
### Phase 3:Prompt 记录(与 Phase 1 同步进行)
|
|
236
212
|
|
|
237
|
-
在 `07-prompt-log.md
|
|
213
|
+
在 Phase 1 TDD 循环中**实时**记录关键 Prompt 到 `07-prompt-log.md`(模板见 `references/07-prompt-log-template.md`)。每条记录必须包含:
|
|
238
214
|
|
|
239
215
|
1. **五要素表格**:目标、上下文、边界、输出格式、验证标准(缺一不可)
|
|
240
216
|
2. **效果评估**:成功/失败/部分成功 + 具体说明
|
|
@@ -250,7 +226,7 @@ flowchart TD
|
|
|
250
226
|
|
|
251
227
|
> **验证协议**(步骤 1-3 每次声明"通过"前必须执行 `_team-rules/verification-protocol.md` 的 5 个步骤)
|
|
252
228
|
|
|
253
|
-
4. **检查 boundary
|
|
229
|
+
4. **检查 boundary 遵守**:运行 `git diff --name-only` 并与 `04-boundary.md` deny 列表交叉检查,确认无越界修改
|
|
254
230
|
5. **检查预算遵守**:确认代码行数、文件数未超出 `01-plan.md` 声明的自我约束预算
|
|
255
231
|
6. **检查 Constitutional 合规**:确认没有违反 orchestrator 的 Constitutional Rules(没有跳过人类介入、没有单向流水线思维)
|
|
256
232
|
|
|
@@ -271,8 +247,6 @@ flowchart TD
|
|
|
271
247
|
|
|
272
248
|
## 产出文件
|
|
273
249
|
|
|
274
|
-
每个文件必须严格遵循模板格式(模板文件见 `references/` 目录)。
|
|
275
|
-
|
|
276
250
|
| 文件 | 模板位置 | 说明 |
|
|
277
251
|
| ---- | -------- | ---- |
|
|
278
252
|
| `06-tdd-log.md` | `references/06-tdd-log-template.md` | TDD 日志(红-绿-重构循环) |
|
|
@@ -281,8 +255,6 @@ flowchart TD
|
|
|
281
255
|
|
|
282
256
|
## STOP Signals
|
|
283
257
|
|
|
284
|
-
如果你发现自己即将做以下任何一件事——立即停止,重新审视:
|
|
285
|
-
|
|
286
258
|
- 没读 spec 就开始编码,或发现 spec 问题不回退而自己决定
|
|
287
259
|
- 跳过 RED 阶段直接写实现,或先写实现再补测试
|
|
288
260
|
- 修改测试让它通过(而非修改实现),或困惑不记录默默假设
|
|
@@ -318,11 +290,6 @@ CI 检查:通过/失败
|
|
|
318
290
|
→ 编排器将调度 testAgent 进行测试验证
|
|
319
291
|
```
|
|
320
292
|
|
|
321
|
-
## 下一步
|
|
322
|
-
|
|
323
|
-
- 产出 06-08 文件后,推荐使用 `team-test` 进行测试审计
|
|
324
|
-
- 如果发现 bug,使用 `team-debug` 系统调试
|
|
325
|
-
|
|
326
293
|
## 集成关系
|
|
327
294
|
|
|
328
295
|
**被谁调用:**
|
|
@@ -11,7 +11,8 @@ description: Use when task needs full spec→impl→test→review pipeline with
|
|
|
11
11
|
|
|
12
12
|
```mermaid
|
|
13
13
|
flowchart TD
|
|
14
|
-
H1["H1: 人类确认目标"] -->
|
|
14
|
+
H1["H1: 人类确认目标"] --> branch["创建功能分支"]
|
|
15
|
+
branch --> specAgent["specAgent: 规格制定"]
|
|
15
16
|
specAgent --> H2["H2: 人类确认规格"]
|
|
16
17
|
H2 --> implAgent["implAgent: TDD 实现"]
|
|
17
18
|
implAgent --> testAgent["testAgent: 测试审计"]
|
|
@@ -20,7 +21,11 @@ flowchart TD
|
|
|
20
21
|
testAgent -->|"全部通过"| reviewAgent["reviewAgent: 代码审查"]
|
|
21
22
|
reviewAgent -->|"P0/P1 问题"| implAgent
|
|
22
23
|
reviewAgent -->|"spec 遗漏"| specAgent
|
|
23
|
-
reviewAgent -->|"无问题"|
|
|
24
|
+
reviewAgent -->|"无问题"| teamEvidence["Step 6: 团队证据"]
|
|
25
|
+
teamEvidence --> finish["Step 7: finish-review 集成"]
|
|
26
|
+
finish --> H4["H4: 人类验收"]
|
|
27
|
+
H4 --> archive["Step 7.5: 归档"]
|
|
28
|
+
archive --> qualityCheck["Step 8: 质量检查"]
|
|
24
29
|
H3["H3: 人类介入(任何阶段)"] -.->|"阻塞/决策"| H3
|
|
25
30
|
```
|
|
26
31
|
|
|
@@ -35,7 +40,7 @@ flowchart TD
|
|
|
35
40
|
3. 在 4 个人类介入点(H1-H4)暂停等待用户确认
|
|
36
41
|
4. 根据各 Agent 的产出质量动态决定回退或继续
|
|
37
42
|
5. 遵守 Constitutional Rules(见下文),不可跳过任何规则
|
|
38
|
-
6. 如果用户指定 --compact 精简模式,简化 H1
|
|
43
|
+
6. 如果用户指定 --compact 精简模式,简化 H1 为单句确认、简化 H2 为单句确认、跳过 Step 6,保留 H4 验收不可省略
|
|
39
44
|
|
|
40
45
|
关键区别:你不是线性流水线。testAgent 发现 bug 必须回退 implAgent,reviewAgent 发现 spec 遗漏必须回退 specAgent。同一阶段回退不超过 2 次。H1 和 H4 在任何模式下均不可省略(H1 可在精简模式下简化为单句确认)。
|
|
41
46
|
```
|
|
@@ -60,49 +65,6 @@ flowchart TD
|
|
|
60
65
|
NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
61
66
|
```
|
|
62
67
|
|
|
63
|
-
## 工具兼容
|
|
64
|
-
|
|
65
|
-
本 Skill 及其子 Agent 同时兼容 **Claude Code** 和 **Cursor**:
|
|
66
|
-
|
|
67
|
-
- Claude Code:通过 `/team-orchestrator`、`/team-spec`、`/team-impl`、`/team-test`、`/team-review` 调用
|
|
68
|
-
- Cursor:通过 `~/.agents/skills/` 下的 Skill 机制自动发现
|
|
69
|
-
|
|
70
|
-
<!-- 质量检查追溯矩阵(内部参考,不产出到文件)
|
|
71
|
-
硬门槛:
|
|
72
|
-
G1 任务规划 → 01-plan.md
|
|
73
|
-
G2 修改边界 → 04-boundary.md
|
|
74
|
-
G3 测试补充 → 09-test-matrix.md + 10-test-report.md
|
|
75
|
-
G4 测试通过 → 06-tdd-log.md + 10-test-report.md
|
|
76
|
-
G5 资产可执行 → 12-asset-update.md(消费方契约)+ 项目 AI 规范
|
|
77
|
-
G6 风险说明 → 05-risk.md + 11-review.md §四
|
|
78
|
-
G7 决策解释 → 08-ai-decisions.md + 15-brief.md
|
|
79
|
-
质量维度:
|
|
80
|
-
D1.1 分层组织 → 项目 AI 规范 + 模块 AI 规范 + task-rules.md
|
|
81
|
-
D1.2 内容8类 → 02-context.md + 项目 AI 规范 + review-checklist + delivery-checklist
|
|
82
|
-
D1.3 规则可执行 → 12-asset-update.md(触发条件+可执行指令+示例)
|
|
83
|
-
D1.4 工具≥2类 → 项目 AI 规范 + review-checklist/delivery-checklist/prompt-template.md
|
|
84
|
-
D1.5 可维护性 → 项目 AI 规范 §资产维护机制 + 12-asset-update.md §版本记录
|
|
85
|
-
D2.1 目标澄清 → 01-plan.md §一
|
|
86
|
-
D2.2 上下文选择 → 02-context.md
|
|
87
|
-
D2.3 任务拆分 → 01-plan.md §二
|
|
88
|
-
D2.4 执行约束 → 04-boundary.md
|
|
89
|
-
D2.5 验证风控 → 05-risk.md
|
|
90
|
-
D3.1 SDD规格 → 03-sdd.md
|
|
91
|
-
D3.2 TDD流程 → 06-tdd-log.md
|
|
92
|
-
D3.3 测试覆盖 → 09-test-matrix.md
|
|
93
|
-
D3.4 缺陷修复 → 06-tdd-log.md + 11-review.md
|
|
94
|
-
D3.5 Review风险 → 11-review.md §四
|
|
95
|
-
D4.1 Prompt结构 → 07-prompt-log.md(五要素)
|
|
96
|
-
D4.2 迭代纠偏 → 07-prompt-log.md(前后对比)
|
|
97
|
-
D4.3 过程可追溯 → 07-prompt-log.md + 08-ai-decisions.md
|
|
98
|
-
D4.4 个人复盘 → 13-retrospective.md §二.5 新规则沉淀
|
|
99
|
-
D4.5 答辩表现 → 15-brief.md
|
|
100
|
-
D5.1 角色分工 → 14-team.md §一
|
|
101
|
-
D5.2 资产一致 → 14-team.md §二
|
|
102
|
-
D5.3 交叉Review → 14-team.md §四
|
|
103
|
-
D5.4 个人贡献 → 14-team.md §三
|
|
104
|
-
-->
|
|
105
|
-
|
|
106
68
|
## 完成状态协议
|
|
107
69
|
|
|
108
70
|
引用 `_team-rules/four-state-protocol.md`,不内联重复。
|
|
@@ -123,6 +85,12 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
123
85
|
│ 确认 │ 不确认 → 返回修改
|
|
124
86
|
▼ └────────┐
|
|
125
87
|
┌──────────────────┐ │
|
|
88
|
+
│ 创建功能分支 │ │
|
|
89
|
+
│ {slug} 分支 │ │
|
|
90
|
+
└──────┬───────────┘ │
|
|
91
|
+
│ │
|
|
92
|
+
▼ │
|
|
93
|
+
┌──────────────────┐ │
|
|
126
94
|
│ specAgent │ │
|
|
127
95
|
│ 产出 01-05 文件 │ │
|
|
128
96
|
│ + 分期建议(P1/P2)│ │
|
|
@@ -177,6 +145,13 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
177
145
|
├── 发现人类需决策 ─────────→ H3: 人类介入点 #3
|
|
178
146
|
│ │
|
|
179
147
|
▼ │
|
|
148
|
+
┌──────────────────┐ │
|
|
149
|
+
│ team-finish │ │
|
|
150
|
+
│ 分支完成处理 │ │
|
|
151
|
+
│ (merge/PR/keep) │ │
|
|
152
|
+
└──────┬───────────┘ │
|
|
153
|
+
│ │
|
|
154
|
+
▼ │
|
|
180
155
|
┌──────────────────────────┐ │
|
|
181
156
|
│ H4: 人类验收最终交付物 │ │
|
|
182
157
|
│ (展示 14-team + 15-brief │ │
|
|
@@ -243,7 +218,7 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
243
218
|
|
|
244
219
|
### 方式 A:全自动编排(推荐)
|
|
245
220
|
|
|
246
|
-
用户执行 `/team-orchestrator {任务描述}`
|
|
221
|
+
用户执行 `/team-orchestrator {任务描述}` 启动全流程。
|
|
247
222
|
|
|
248
223
|
### 方式 B:手动分步
|
|
249
224
|
|
|
@@ -253,20 +228,13 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
253
228
|
|
|
254
229
|
### 方式 C:精简模式(简单任务)
|
|
255
230
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
1. 用户执行 `/team-orchestrator --compact {任务描述}`
|
|
259
|
-
2. H1 简化为单句确认(编排器展示一句话任务理解,用户回复确认即可)
|
|
260
|
-
3. 跳过 H2(specAgent 产出后直接进入 implAgent)
|
|
261
|
-
4. 跳过 Step 6(14-team.md / 15-brief.md 不产出)
|
|
262
|
-
5. **H4 不可省略**:reviewAgent 完成后仍需人类验收
|
|
263
|
-
6. specAgent 产出精简版文档(见下方对比表)
|
|
231
|
+
对于改动范围小、风险低的任务(如修 bug、加字段、改文案),使用 `--compact` 精简模式。
|
|
264
232
|
|
|
265
233
|
### 任务规模分级参考
|
|
266
234
|
|
|
267
235
|
| 级别 | 典型场景 | 推荐模式 | 预期文档产出 |
|
|
268
236
|
| ---- | -------- | -------- | ------------ |
|
|
269
|
-
| Small | 修 bug、改文案、加字段、调样式 | `--compact` 精简模式 | 03-
|
|
237
|
+
| Small | 修 bug、改文案、加字段、调样式 | `--compact` 精简模式 | 11 个文档(03-04 + 06-13 + task-rules) |
|
|
270
238
|
| Medium | 新增功能模块、重构组件、加 API | 完整模式(默认) | 全部 17 文件 |
|
|
271
239
|
| Large | 跨系统重构、架构变更、多模块联动 | 完整模式 + P1/P2 分期 | 全部 17 文件 + 多期迭代 |
|
|
272
240
|
|
|
@@ -278,7 +246,7 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
278
246
|
| ---- | -------- | -------- |
|
|
279
247
|
| H1 人类确认 | ✅ 完整展示 | ✅ 单句确认(不可省略) |
|
|
280
248
|
| specAgent | ✅ 6 文件 | ✅ 精简版(03-sdd.md + 04-boundary.md) |
|
|
281
|
-
| H2 人类确认 | ✅ |
|
|
249
|
+
| H2 人类确认 | ✅ 完整展示 | ✅ 单句确认 |
|
|
282
250
|
| implAgent | ✅ | ✅ |
|
|
283
251
|
| testAgent | ✅ | ✅ |
|
|
284
252
|
| reviewAgent | ✅ | ✅ |
|
|
@@ -304,10 +272,12 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
304
272
|
{
|
|
305
273
|
"slug": "0001-add-tooltip",
|
|
306
274
|
"task_description": "实现用户注册功能",
|
|
275
|
+
"branch": "0001-add-tooltip",
|
|
276
|
+
"base_branch": "main",
|
|
307
277
|
"current_step": "H2",
|
|
308
278
|
"next_step": "Step 3",
|
|
309
279
|
"phase": "spec",
|
|
310
|
-
"completed_steps": ["Step 1", "H1", "Step 2"],
|
|
280
|
+
"completed_steps": ["Step 1", "H1", "Step 1.5", "Step 2"],
|
|
311
281
|
"pending_decision": "用户确认规格方案",
|
|
312
282
|
"completed_at": "2026-01-15T10:30:00Z",
|
|
313
283
|
"rollback_counts": {
|
|
@@ -316,39 +286,76 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
316
286
|
"review→impl": 0,
|
|
317
287
|
"review→spec": 0
|
|
318
288
|
},
|
|
319
|
-
"status": "DONE|DONE_WITH_CONCERNS|NEEDS_CONTEXT|BLOCKED",
|
|
289
|
+
"status": "IN_PROGRESS|DONE|DONE_WITH_CONCERNS|NEEDS_CONTEXT|BLOCKED",
|
|
320
290
|
"blocked_reason": null
|
|
321
291
|
}
|
|
322
292
|
```
|
|
323
293
|
|
|
294
|
+
**`status` 字段使用规则**:
|
|
295
|
+
- `IN_PROGRESS`:默认值。Step 1 到 Step 8 期间所有正常流转的 checkpoint 写入都使用此值
|
|
296
|
+
- `BLOCKED`:触发 H3 或 Kill Switch 时设置,必须同时填写 `blocked_reason`
|
|
297
|
+
- `NEEDS_CONTEXT`:缺少关键上下文无法继续时设置
|
|
298
|
+
- `DONE`:仅在 Step 8 质量检查全部通过后设置。**执行过程中不得使用此值**
|
|
299
|
+
- `DONE_WITH_CONCERNS`:Step 8 通过但有保留意见时设置
|
|
300
|
+
|
|
324
301
|
2. **恢复检测**:当用户执行 `/team-orchestrator {slug}`(已有 slug),检查 `.checkpoint.json` 文件:
|
|
325
|
-
- 如存在且 `status =
|
|
302
|
+
- 如存在且 `status = IN_PROGRESS` → 从 `next_step` 对应的 Step 继续
|
|
303
|
+
- 如存在且 `status = DONE` 或 `status = DONE_WITH_CONCERNS` → 提示用户"该任务已完成",询问是否新建变体任务
|
|
326
304
|
- 如存在且 `status = BLOCKED` → 触发 H3 展示 `blocked_reason`
|
|
305
|
+
- 如存在且 `status = NEEDS_CONTEXT` → 展示缺失的上下文信息,请求用户补充
|
|
327
306
|
- 如不存在 → 检查已有文件推断阶段:
|
|
328
|
-
- 仅有 00-design-brief.md → 从 Step 2(specAgent
|
|
307
|
+
- 仅有 00-design-brief.md → 从 Step 1.5(分支初始化)或 Step 2(specAgent),视当前分支判断
|
|
329
308
|
- 有 03-sdd.md + 04-boundary.md(精简模式最小集)或 01-05 齐全(完整模式)→ 从 Step 3(implAgent)
|
|
330
309
|
- 有 06-tdd-log.md 但无 09-test-matrix.md → 从 Step 4(testAgent)
|
|
331
310
|
- 有 09-test-matrix.md + 10-test-report.md 但无 11-review.md → 从 Step 5(reviewAgent)
|
|
332
311
|
- 有 11-review.md + 12-asset-update.md + 13-retrospective.md 但无 14-team.md → 从 Step 6(团队证据)
|
|
333
|
-
- 有 14-team.md + 15-brief.md → 从 Step 7(
|
|
312
|
+
- 有 14-team.md + 15-brief.md → 从 Step 7(finish-review 集成)
|
|
334
313
|
- 部分文件缺失且不符合上述任何模式 → 触发 H3,展示已有/缺失文件清单,由用户决定是否补全
|
|
335
314
|
3. **恢复时回退计数**:从 `.checkpoint.json` 恢复 `rollback_counts`,避免重置
|
|
336
|
-
4. **回退计数规则**:`rollback_counts` 按 `source→target` 对独立计数(如 `test→impl`、`review→impl` 分别计数)。计数仅在以下情况重置为 0:(1) H3 人类介入后用户明确决定重试;(2) specAgent
|
|
315
|
+
4. **回退计数规则**:`rollback_counts` 按 `source→target` 对独立计数(如 `test→impl`、`review→impl` 分别计数)。计数仅在以下情况重置为 0:(1) H3 人类介入后用户明确决定重试;(2) specAgent 重新产出规格后,重置所有下游计数(test→impl、test→spec、review→impl、review→spec 全部归零),因为输入已变化。正常回退修复不重置计数
|
|
337
316
|
|
|
338
317
|
### Step 1:初始化 + H1 人类确认
|
|
339
318
|
|
|
340
319
|
1. 从用户参数提取任务描述
|
|
341
320
|
2. 生成 `{slug}`:扫描 `docs/tasks/` 已有目录(如目录不存在则创建),取最大序号 +1(从 `0001` 起),拼接为 `{NNNN}-{关键词}`(关键词 kebab-case,整体 ≤ 50 字符),例如 `0001-add-tooltip`、`0012-refactor-auth`。**如果用户传入的参数是已有 slug 且 `docs/tasks/{slug}/00-design-brief.md` 存在,则复用该 slug,不新建目录**
|
|
342
321
|
3. 创建 `docs/tasks/{slug}/` 目录(如已存在则跳过)
|
|
343
|
-
4. **写入 checkpoint**:`current_step=Step 1, next_step=H1, phase=init, task_description={任务描述}`
|
|
322
|
+
4. **写入 checkpoint**:`current_step=Step 1, next_step=H1, phase=init, status=IN_PROGRESS, task_description={任务描述}`
|
|
344
323
|
5. **进度账本检查**:如果 `docs/tasks/progress.md` 不存在则创建(含表头)。**注意:progress.md 是跨任务进度索引,必须位于 `docs/tasks/` 根目录,不在 slug 子目录中**。读取 progress.md 确认 `{slug}` 未被重复派发(如已存在且状态为 DONE,提示用户该任务已完成,询问是否新建变体任务)
|
|
345
324
|
6. 记录启动时间
|
|
346
|
-
7. **写入 checkpoint**:`current_step=H1, next_step=Step
|
|
325
|
+
7. **写入 checkpoint**:`current_step=H1, next_step=Step 1.5, status=IN_PROGRESS, pending_decision=确认目标理解`
|
|
347
326
|
8. **向用户展示任务理解 + 初步方案 + 风险预判 + 分期建议**,等待确认(设置 30 分钟超时提醒)。如果存在 `00-design-brief.md`,将其摘要纳入展示
|
|
348
|
-
9. 用户确认后,**写入 checkpoint**:`current_step=Step
|
|
327
|
+
9. 用户确认后,**写入 checkpoint**:`current_step=Step 1.5, status=IN_PROGRESS, completed_steps 追加 H1`。继续下一步,否则根据反馈调整
|
|
349
328
|
|
|
350
329
|
**Kill Switch 预检查**:如果任务明显不可行(技术不可行、依赖不可用、范围远超预期),在 H1 阶段直接向用户提出终止建议。
|
|
351
330
|
|
|
331
|
+
### Step 1.5:Git 分支初始化
|
|
332
|
+
|
|
333
|
+
H1 确认后、specAgent 启动前,创建功能分支隔离本次任务的所有变更。
|
|
334
|
+
|
|
335
|
+
#### 1.5.1 确定基准分支(三层 Fallback)
|
|
336
|
+
|
|
337
|
+
按以下优先级确定 `base_branch`,取第一个成功的结果:
|
|
338
|
+
|
|
339
|
+
1. **项目 AI 规范显式声明**:在 CLAUDE.md / .cursor/rules/ 中查找 `base_branch` 或 `default_branch` 配置项(如 `base_branch: develop`)
|
|
340
|
+
2. **Git 远程默认分支**:`git symbolic-ref refs/remotes/origin/HEAD` 解析出分支名;失败则 `git remote show origin` 解析 HEAD branch
|
|
341
|
+
3. **常见分支名兜底**:按 `main` → `master` → `develop` 顺序检查本地是否存在(`git show-ref --verify refs/heads/{name}`)
|
|
342
|
+
|
|
343
|
+
如果三层均失败 → 触发 H3,请求用户指定基准分支。
|
|
344
|
+
|
|
345
|
+
#### 1.5.2 创建功能分支
|
|
346
|
+
|
|
347
|
+
1. **检测当前分支**:获取当前分支名(`git branch --show-current`)
|
|
348
|
+
2. **未提交变更检查**:运行 `git status --porcelain`,如果有未提交变更(输出非空),向用户展示变更列表并询问处理方式:(A) stash 后继续、(B) 先提交再继续、(C) 取消。不自动 stash 或丢弃
|
|
349
|
+
3. **创建功能分支**:`git checkout -b {slug}`(分支名直接使用 slug,如 `0012-refactor-auth`)
|
|
350
|
+
4. **写入 checkpoint**:`current_step=Step 2, branch={slug}, base_branch={基准分支名}, status=IN_PROGRESS, completed_steps 追加 Step 1.5`
|
|
351
|
+
|
|
352
|
+
**跳过条件**(不创建分支):
|
|
353
|
+
|
|
354
|
+
- 用户已在功能分支上(当前分支名不等于 `base_branch`)→ 使用当前分支,checkpoint 中 `branch` 记录当前分支名
|
|
355
|
+
- 用户明确指定 `--no-branch` → 直接在当前分支上工作
|
|
356
|
+
|
|
357
|
+
**恢复场景**:断点续传(`docs/tasks/{slug}/.checkpoint.json` 已有 `branch` 字段)时,检查当前分支是否与 checkpoint 记录一致。不一致则提示用户切换分支(`git checkout {branch}`),不自动切换。
|
|
358
|
+
|
|
352
359
|
### Step 2:调度 specAgent
|
|
353
360
|
|
|
354
361
|
**REQUIRED SUB-SKILL:** `team-spec`
|
|
@@ -367,21 +374,22 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
367
374
|
模式:{完整 / --compact 精简}
|
|
368
375
|
背景参考:{如果 docs/tasks/{slug}/00-design-brief.md 存在,将其内容作为设计背景输入;否则写"无"}
|
|
369
376
|
约束:遵守 team-spec Skill 的 Phase 1-3 步骤;所有结论标注来源标签;产出前执行自检清单。
|
|
377
|
+
回退上下文:{如有 testAgent/reviewAgent 报告的 spec 遗漏则附上,否则写"无"}
|
|
370
378
|
|
|
371
379
|
读取 skills/team-spec/SKILL.md 获取完整执行步骤。
|
|
372
380
|
```
|
|
373
381
|
|
|
374
382
|
**完成验证**:完整模式确认 6 个文件已产出(01-plan.md / 02-context.md / 03-sdd.md / 04-boundary.md / 05-risk.md / prompt-template.md);精简模式确认 2 个文件已产出(03-sdd.md / 04-boundary.md)。
|
|
375
383
|
|
|
376
|
-
**写入 checkpoint**:`current_step=H2, next_step=Step 3, phase=spec, pending_decision=确认规格方案, completed_steps 追加 Step 2`
|
|
384
|
+
**写入 checkpoint**:`current_step=H2, next_step=Step 3, phase=spec, status=IN_PROGRESS, pending_decision=确认规格方案, completed_steps 追加 Step 2`
|
|
377
385
|
|
|
378
386
|
### Step 2.5:H2 人类确认规格 + Kill Switch 检查
|
|
379
387
|
|
|
380
|
-
>
|
|
388
|
+
> **精简模式简化此步**:`--compact` 模式下,向用户展示一句话摘要:"规格概要:{SDD 核心目标与修改范围}。是否继续?"等待确认后进入 Step 3。checkpoint 中 `completed_steps` 追加 `H2_compact`。
|
|
381
389
|
|
|
382
390
|
向用户展示 `01-plan.md` 和 `03-sdd.md` 的核心内容 + 分期方案(P1/P2) + 自我约束预算,等待确认。
|
|
383
391
|
|
|
384
|
-
- 用户确认 → **写入 checkpoint**:`current_step=Step 3, completed_steps 追加 H2`。继续 Step 3
|
|
392
|
+
- 用户确认 → **写入 checkpoint**:`current_step=Step 3, status=IN_PROGRESS, completed_steps 追加 H2`。继续 Step 3
|
|
385
393
|
- 用户要求修改 → 回到 Step 2,根据反馈调整提示词后重新调度 specAgent
|
|
386
394
|
- **Kill Switch**:如果用户认为任务不可行或范围不可接受 → 终止流程
|
|
387
395
|
|
|
@@ -407,6 +415,8 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
407
415
|
读取 skills/team-impl/SKILL.md 获取完整执行步骤。
|
|
408
416
|
```
|
|
409
417
|
|
|
418
|
+
等待 implAgent 完成。
|
|
419
|
+
|
|
410
420
|
**完成验证**:确认 06-tdd-log.md / 07-prompt-log.md / 08-ai-decisions.md 已产出;测试通过;CI 检查通过。
|
|
411
421
|
|
|
412
422
|
**TDD 证据验证**(Constitutional Rule #9 门禁):读取 `06-tdd-log.md`,对每个功能点块执行以下检查:
|
|
@@ -419,9 +429,7 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
419
429
|
|
|
420
430
|
任一项不通过 → 回退 implAgent,附上具体不合格项及期望修正行为(如"功能点 X 的 RED 段落缺失失败输出,请删除实现代码从 RED 重新开始")。
|
|
421
431
|
|
|
422
|
-
**写入 checkpoint**:`current_step=Step 4, next_step=Step 5, phase=impl, completed_steps 追加 Step 3`
|
|
423
|
-
|
|
424
|
-
等待 implAgent 完成。
|
|
432
|
+
**写入 checkpoint**:`current_step=Step 4, next_step=Step 5, phase=impl, status=IN_PROGRESS, completed_steps 追加 Step 3`
|
|
425
433
|
|
|
426
434
|
### Step 4:调度 testAgent
|
|
427
435
|
|
|
@@ -437,25 +445,25 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
437
445
|
|
|
438
446
|
任务 slug:{slug}
|
|
439
447
|
模式:{完整 / --compact 精简}
|
|
440
|
-
输入:docs/tasks/{slug}/
|
|
441
|
-
约束:遵守 team-test Skill
|
|
448
|
+
输入:docs/tasks/{slug}/ 下的文件(完整模式:01-plan.md ~ 06-tdd-log.md 全部;精简模式:03-sdd.md + 04-boundary.md + 06-tdd-log.md)+ implAgent 代码变更(git diff)
|
|
449
|
+
约束:遵守 team-test Skill 步骤;四维覆盖;所有覆盖声明标注来源标签;全量测试运行。精简模式下 01-plan、02-context、05-risk 不存在属于正常。
|
|
442
450
|
|
|
443
451
|
读取 skills/team-test/SKILL.md 获取完整执行步骤。
|
|
444
452
|
```
|
|
445
453
|
|
|
446
|
-
|
|
454
|
+
等待 testAgent 完成。
|
|
447
455
|
|
|
448
|
-
|
|
456
|
+
**完成验证**:确认 09-test-matrix.md / 10-test-report.md 已产出;获取路由决策(→ reviewAgent / → implAgent / → specAgent / → H3)。
|
|
449
457
|
|
|
450
|
-
|
|
458
|
+
**写入 checkpoint**:`current_step=Step 5, next_step=Step 6, phase=test, status=IN_PROGRESS, completed_steps 追加 Step 4`
|
|
451
459
|
|
|
452
460
|
**回退检查**(遵守 Constitutional Rule #7:同一阶段回退 ≤ 2 次,按 source→target 对独立计数,计数持久化到 `.checkpoint.json`):如果 testAgent 报告发现 bug 或 spec 遗漏:
|
|
453
461
|
|
|
454
|
-
- bug → **写入 checkpoint**:`current_step=Step 3(回退), rollback_counts test→impl +1`。回到 Step 3 重新调度 implAgent,传递 bug 上下文
|
|
455
|
-
- spec 遗漏 → **写入 checkpoint**:`current_step=Step 2(回退), rollback_counts test→spec +1`。回到 Step 2 重新调度 specAgent,传递遗漏上下文
|
|
456
|
-
- 同一阶段第 3 次回退 → **写入 checkpoint**:`current_step=H3, pending_decision={问题描述}`。强制触发 H3,由人类决定是否继续
|
|
457
|
-
- **Kill Switch**:如果发现任务不可行(如依赖不可用、技术方案不可行)→ **写入 checkpoint
|
|
458
|
-
- 人类需决策 → **写入 checkpoint
|
|
462
|
+
- bug → **写入 checkpoint**:`current_step=Step 3(回退), status=IN_PROGRESS, rollback_counts test→impl +1`。回到 Step 3 重新调度 implAgent,传递 bug 上下文
|
|
463
|
+
- spec 遗漏 → **写入 checkpoint**:`current_step=Step 2(回退), status=IN_PROGRESS, rollback_counts test→spec +1`。回到 Step 2 重新调度 specAgent,传递遗漏上下文
|
|
464
|
+
- 同一阶段第 3 次回退 → **写入 checkpoint**:`current_step=H3, status=BLOCKED, pending_decision={问题描述}`。强制触发 H3,由人类决定是否继续
|
|
465
|
+
- **Kill Switch**:如果发现任务不可行(如依赖不可用、技术方案不可行)→ **写入 checkpoint**(`status=BLOCKED`)后触发 H3 让人类决策是否终止
|
|
466
|
+
- 人类需决策 → **写入 checkpoint**(`status=BLOCKED`)后触发 H3
|
|
459
467
|
|
|
460
468
|
### Step 5:调度 reviewAgent
|
|
461
469
|
|
|
@@ -478,23 +486,23 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
478
486
|
读取 skills/team-review/SKILL.md 获取完整执行步骤。
|
|
479
487
|
```
|
|
480
488
|
|
|
481
|
-
|
|
489
|
+
等待 reviewAgent 完成。
|
|
482
490
|
|
|
483
|
-
|
|
491
|
+
**完成验证**:确认 11-review.md / 12-asset-update.md / 13-retrospective.md / task-rules.md 已产出;获取修复/回退决策。
|
|
484
492
|
|
|
485
|
-
|
|
493
|
+
**写入 checkpoint**:`current_step=Step 6, next_step=Step 7, phase=review, status=IN_PROGRESS, completed_steps 追加 Step 5`
|
|
486
494
|
|
|
487
495
|
**回退检查**(遵守 Constitutional Rule #7:同一阶段回退 ≤ 2 次,按 source→target 对独立计数,计数持久化到 `.checkpoint.json`):如果 reviewAgent 报告发现 P0/P1 bug 或 spec 遗漏:
|
|
488
496
|
|
|
489
|
-
- bug → **写入 checkpoint**:`current_step=Step 3(回退), rollback_counts review→impl +1`。回到 Step 3 重新调度 implAgent,传递 bug 上下文
|
|
490
|
-
- spec 遗漏 → **写入 checkpoint**:`current_step=Step 2(回退), rollback_counts review→spec +1`。回到 Step 2 重新调度 specAgent,传递遗漏上下文
|
|
491
|
-
- 同一阶段第 3 次回退 → **写入 checkpoint**:`current_step=H3, pending_decision={问题描述}`。强制触发 H3,由人类决定是否继续
|
|
492
|
-
- **Kill Switch
|
|
493
|
-
- 人类需决策 → **写入 checkpoint
|
|
497
|
+
- bug → **写入 checkpoint**:`current_step=Step 3(回退), status=IN_PROGRESS, rollback_counts review→impl +1`。回到 Step 3 重新调度 implAgent,传递 bug 上下文
|
|
498
|
+
- spec 遗漏 → **写入 checkpoint**:`current_step=Step 2(回退), status=IN_PROGRESS, rollback_counts review→spec +1`。回到 Step 2 重新调度 specAgent,传递遗漏上下文
|
|
499
|
+
- 同一阶段第 3 次回退 → **写入 checkpoint**:`current_step=H3, status=BLOCKED, pending_decision={问题描述}`。强制触发 H3,由人类决定是否继续
|
|
500
|
+
- **Kill Switch**:如果发现任务不可行(如依赖不可用、技术方案不可行)→ **写入 checkpoint**(`status=BLOCKED`)后触发 H3 让人类决策是否终止
|
|
501
|
+
- 人类需决策 → **写入 checkpoint**(`status=BLOCKED`)后触发 H3
|
|
494
502
|
|
|
495
503
|
### Step 6:补全团队级证据
|
|
496
504
|
|
|
497
|
-
> **精简模式跳过此步**:`--compact` 模式下,Step 5 完成后直接进入 Step 7(
|
|
505
|
+
> **精简模式跳过此步**:`--compact` 模式下,Step 5 完成后直接进入 Step 7(finish-review 集成),不产出 14-team.md / 15-brief.md。checkpoint 中 `completed_steps` 不含 Step 6。
|
|
498
506
|
|
|
499
507
|
由编排器自己执行以下检查并产出 2 个文件。对于可并行的检查项,使用子 Agent 并行执行以提高效率。
|
|
500
508
|
|
|
@@ -529,26 +537,33 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
529
537
|
- §五 遗留风险:从 11-review.md §四 摘录
|
|
530
538
|
- §六 改进承诺:从 13-retrospective.md §三 摘录
|
|
531
539
|
|
|
532
|
-
**写入 checkpoint**:`current_step=
|
|
540
|
+
**写入 checkpoint**:`current_step=Step 7, next_step=Step 7.3, phase=finish, status=IN_PROGRESS, completed_steps 追加 Step 6`
|
|
533
541
|
|
|
534
|
-
### Step 7:
|
|
542
|
+
### Step 7:finish-review 集成
|
|
535
543
|
|
|
536
|
-
|
|
544
|
+
> 在人类验收(Step 7.3)之前完成分支处理,确保用户验收时所有技术工作已就绪。如果 merge 失败或测试不通过,在此处解决——不让用户审批一个可能无法合并的交付物。
|
|
537
545
|
|
|
538
|
-
|
|
546
|
+
检查 reviewAgent 产出的 `12-asset-update.md` 中是否有 CHANGELOG.md 更新。如果 CHANGELOG.md 需要更新但尚未更新,在此处补全。
|
|
539
547
|
|
|
540
|
-
-
|
|
541
|
-
|
|
542
|
-
-
|
|
548
|
+
调度 `team-finish` 完成分支处理:
|
|
549
|
+
|
|
550
|
+
- 传递 checkpoint 中的 `branch` 和 `base_branch` 信息
|
|
551
|
+
- `team-finish` 将验证测试 → 展示选项(merge/PR/keep/discard)→ 执行用户选择
|
|
552
|
+
- 如果用户选择 merge,合并后确认合并 commit 已推送
|
|
553
|
+
- 如果用户选择 PR,确认 PR 已创建
|
|
554
|
+
- 如果用户选择 keep/discard,记录用户决策
|
|
543
555
|
|
|
544
|
-
|
|
556
|
+
**写入 checkpoint**:`current_step=Step 7.3, next_step=Step 7.5, phase=finish, status=IN_PROGRESS, completed_steps 追加 Step 7`
|
|
545
557
|
|
|
546
|
-
|
|
558
|
+
### Step 7.3:H4 人类验收 + P2 决策
|
|
547
559
|
|
|
548
|
-
|
|
560
|
+
向用户展示交付物清单、代码 diff 摘要,等待验收(设置 30 分钟超时提醒)。完整模式还展示 14-team.md 和 15-brief.md 核心内容;精简模式展示 11-review.md 审查结论和 13-retrospective.md 改进承诺。
|
|
561
|
+
|
|
562
|
+
**交付清单验证**:如果 `docs/delivery-checklist.md` 存在,读取并检查 `- [ ]` 项是否已标记为 `- [x]`。未完成项列入 H4 展示内容,供用户判断是否放行或要求补全。
|
|
549
563
|
|
|
550
|
-
-
|
|
551
|
-
-
|
|
564
|
+
- 用户验收通过 → **写入 checkpoint**:`current_step=Step 7.5, status=IN_PROGRESS, completed_steps 追加 H4`。继续
|
|
565
|
+
- 用户不通过 → 根据反馈回到对应 Agent
|
|
566
|
+
- **P2 决策**:如果 spec 定义了 P2(候选增强),向用户展示 P2 建议 + 触发条件,由用户决定是否继续
|
|
552
567
|
|
|
553
568
|
### Step 7.5:归档与知识合并
|
|
554
569
|
|
|
@@ -577,7 +592,7 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
577
592
|
|
|
578
593
|
### Step 8:最终质量检查
|
|
579
594
|
|
|
580
|
-
|
|
595
|
+
**模式判断**:读取 `.checkpoint.json` 的模式字段。精简模式下:标注 `[完整模式]` 的检查项跳过,标注 `[精简替代]` 的检查项替换原项,D5 整组跳过。仅当剩余检查项全部通过时才声明质量检查通过。
|
|
581
596
|
|
|
582
597
|
**硬门槛(7 项全部必须通过):**
|
|
583
598
|
|
|
@@ -632,9 +647,9 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
632
647
|
|
|
633
648
|
如有未通过项,回到对应 Agent 补全。
|
|
634
649
|
|
|
635
|
-
|
|
650
|
+
**全部通过后写入 checkpoint**:`current_step=Step 8, status=DONE, completed_steps 追加 Step 7.5 和 Step 8`。此时且仅此时 `status` 设为 `DONE`(如有保留意见则设为 `DONE_WITH_CONCERNS`)。
|
|
636
651
|
|
|
637
|
-
|
|
652
|
+
## STOP Signals
|
|
638
653
|
|
|
639
654
|
- 跳过 H1 或 H4
|
|
640
655
|
- 延迟回退("先记着后面一起修")
|
|
@@ -646,7 +661,7 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
646
661
|
在报告完成状态前,执行以下自检:
|
|
647
662
|
|
|
648
663
|
- [ ] 完整模式:所有 17 个文件已产出(01-15 + prompt-template + task-rules);精简模式:核心文件已产出(03-sdd + 04-boundary + 06-tdd-log + 07-prompt-log + 08-ai-decisions + 09-test-matrix + 10-test-report + 11-review + 12-asset-update + 13-retrospective + task-rules)
|
|
649
|
-
- [ ] H1 和 H4 经过人类确认,未被跳过(完整模式还需确认 H2
|
|
664
|
+
- [ ] H1 和 H4 经过人类确认,未被跳过(完整模式还需确认 H2;精简模式需确认 H2 单句确认已执行)
|
|
650
665
|
- [ ] 回退计数未超过上限(同一阶段 ≤ 2 次)
|
|
651
666
|
- [ ] Step 8 质量检查全部通过
|
|
652
667
|
- [ ] CHANGELOG.md 已更新(如 reviewAgent 要求)
|
|
@@ -675,7 +690,3 @@ Team 全流程完成 ✅
|
|
|
675
690
|
- `team-test` — REQUIRED:编排流程中必须调度测试审计
|
|
676
691
|
- `team-review` — REQUIRED:编排流程中必须调度代码审查
|
|
677
692
|
- `team-finish` — 分支完成处理
|
|
678
|
-
|
|
679
|
-
## 下一步
|
|
680
|
-
|
|
681
|
-
- 如果发现流程问题,更新 `CLAUDE.md` 和 `skills/_team-rules/` 中的规则
|