dev-playbooks-cn 1.6.7 → 1.7.0

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.
Files changed (35) hide show
  1. package/package.json +1 -1
  2. package/skills/_shared//344/270/212/344/270/213/346/226/207/346/243/200/346/265/213/346/250/241/346/235/{277-context-detection.md → 277.md} +2 -2
  3. package/skills/devbooks-archiver/SKILL.md +2 -2
  4. package/skills/devbooks-brownfield-bootstrap/SKILL.md +3 -3
  5. package/skills/devbooks-code-review/SKILL.md +3 -3
  6. package/skills/devbooks-coder/SKILL.md +114 -328
  7. package/skills/devbooks-coder/references//345/256/214/346/210/220/347/212/266/346/200/201/344/270/216/350/267/257/347/224/261.md +74 -0
  8. package/skills/devbooks-coder/references//346/265/213/350/257/225/350/277/220/350/241/214/347/255/226/347/225/245.md +51 -0
  9. package/skills/devbooks-coder/references//347/203/255/347/202/271/346/204/237/347/237/245/344/270/216/351/243/216/351/231/251/350/257/204/344/274/260.md +37 -0
  10. package/skills/devbooks-delivery-workflow/SKILL.md +23 -259
  11. package/skills/devbooks-delivery-workflow/references//345/255/220Agent/350/260/203/347/224/250/350/247/204/350/214/203.md +42 -0
  12. package/skills/devbooks-delivery-workflow/references//347/274/226/346/216/222/351/200/273/350/276/221/344/274/252/344/273/243/347/240/201.md +115 -0
  13. package/skills/devbooks-delivery-workflow/references//351/227/270/351/227/250/346/243/200/346/237/245/344/270/216/351/224/231/350/257/257/345/244/204/347/220/206.md +79 -0
  14. package/skills/devbooks-design-backport/SKILL.md +2 -2
  15. package/skills/devbooks-design-doc/SKILL.md +3 -3
  16. package/skills/devbooks-entropy-monitor/SKILL.md +2 -2
  17. package/skills/devbooks-impact-analysis/SKILL.md +2 -2
  18. package/skills/devbooks-implementation-plan/SKILL.md +3 -3
  19. package/skills/devbooks-proposal-author/SKILL.md +3 -3
  20. package/skills/devbooks-proposal-challenger/SKILL.md +2 -2
  21. package/skills/devbooks-proposal-judge/SKILL.md +2 -2
  22. package/skills/devbooks-router/SKILL.md +2 -2
  23. package/skills/devbooks-spec-contract/SKILL.md +3 -3
  24. package/skills/devbooks-test-owner/SKILL.md +120 -467
  25. package/skills/devbooks-test-owner/references/verification/346/250/241/346/235/277/344/270/216/347/273/223/346/236/204.md +140 -0
  26. package/skills/devbooks-test-owner/references//346/265/213/350/257/225/345/210/206/345/261/202/344/270/216/350/277/220/350/241/214/347/255/226/347/225/245.md +66 -0
  27. package/skills/devbooks-test-owner/references//347/273/235/345/257/271/347/246/201/344/273/244/344/270/216/350/247/204/345/210/231.md +108 -0
  28. package/skills/devbooks-test-owner/references//351/230/266/346/256/2652/350/257/201/346/215/256/345/256/241/350/256/241/346/270/205/345/215/225.md +125 -0
  29. package/skills/devbooks-test-reviewer/SKILL.md +2 -2
  30. package/skills//346/270/220/350/277/233/346/212/253/351/234/262/346/224/271/350/277/233/345/273/272/350/256/256.md +143 -0
  31. /package/skills/_shared/MCP/345/242/236/345/274/272/346/250/241/346/235/{277-mcp-enhancement.md" → 277.md"} +0 -0
  32. /package/skills/_shared//345/267/245/344/275/234/346/265/201/344/270/213/344/270/200/346/255/{245-workflow-next-steps.md" → 245.md"} +0 -0
  33. /package/skills/_template//351/205/215/347/275/256/345/217/221/347/216/260/346/250/241/346/235/{277-config-discovery.md" → 277.md"} +0 -0
  34. /package/skills/devbooks-brownfield-bootstrap/templates//351/241/271/347/233/256/347/224/273/345/203/217/346/250/241/346/235/{277-project-profile.md" → 277.md"} +0 -0
  35. /package/skills/devbooks-delivery-workflow/templates//344/272/244/346/216/245/346/226/207/346/241/{243-handoff.md" → 243.md"} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-playbooks-cn",
3
- "version": "1.6.7",
3
+ "version": "1.7.0",
4
4
  "description": "AI-driven spec-based development workflow",
5
5
  "keywords": [
6
6
  "devbooks",
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 本模板为所有 SKILL.md 提供标准化的上下文检测规则。
4
4
  >
5
- > 产物落点:`skills/_shared/上下文检测模板-context-detection.md`
5
+ > 产物落点:`skills/_shared/上下文检测模板.md`
6
6
 
7
7
  ---
8
8
 
@@ -277,7 +277,7 @@ echo "=== 测试完成 ==="
277
277
 
278
278
  本 Skill 在执行前自动检测上下文,选择合适的运行模式。
279
279
 
280
- 检测规则参考:`skills/_shared/上下文检测模板-context-detection.md`
280
+ 检测规则参考:`skills/_shared/上下文检测模板.md`
281
281
 
282
282
  ### 检测流程
283
283
 
@@ -290,7 +290,7 @@ archived-by: devbooks-archiver
290
290
 
291
291
  本 Skill 在执行前自动检测上下文,选择合适的运行模式。
292
292
 
293
- 检测规则参考:`skills/_shared/上下文检测模板-context-detection.md`
293
+ 检测规则参考:`skills/_shared/上下文检测模板.md`
294
294
 
295
295
  ### 检测流程
296
296
 
@@ -412,4 +412,4 @@ archived-by: devbooks-archiver
412
412
 
413
413
  本 Skill 不依赖 MCP 服务,无需运行时检测。
414
414
 
415
- MCP 增强规则参考:`skills/_shared/MCP增强模板-mcp-enhancement.md`
415
+ MCP 增强规则参考:`skills/_shared/MCP增强模板.md`
@@ -184,7 +184,7 @@ allowed-tools:
184
184
 
185
185
  - 工作流:`references/存量项目初始化.md`
186
186
  - 代码导航策略:`references/代码导航策略.md`
187
- - **项目画像模板(三层架构)**:`templates/项目画像模板-project-profile.md`
187
+ - **项目画像模板(三层架构)**:`templates/项目画像模板.md`
188
188
  - 一次性提示词:`references/存量项目初始化提示词.md`
189
189
  - 模板(按需):`references/术语表模板.md`
190
190
 
@@ -194,7 +194,7 @@ allowed-tools:
194
194
 
195
195
  本 Skill 在执行前自动检测上下文,选择合适的初始化范围。
196
196
 
197
- 检测规则参考:`skills/_shared/上下文检测模板-context-detection.md`
197
+ 检测规则参考:`skills/_shared/上下文检测模板.md`
198
198
 
199
199
  ### 检测流程
200
200
 
@@ -234,7 +234,7 @@ allowed-tools:
234
234
 
235
235
  本 Skill 支持 MCP 运行时增强,自动检测并启用高级功能。
236
236
 
237
- MCP 增强规则参考:`skills/_shared/MCP增强模板-mcp-enhancement.md`
237
+ MCP 增强规则参考:`skills/_shared/MCP增强模板.md`
238
238
 
239
239
  ### 依赖的 MCP 服务
240
240
 
@@ -136,7 +136,7 @@ override dispose() {
136
136
 
137
137
  本 Skill 在执行前自动检测上下文,选择合适的审查范围。
138
138
 
139
- 检测规则参考:`skills/_shared/上下文检测模板-context-detection.md`
139
+ 检测规则参考:`skills/_shared/上下文检测模板.md`
140
140
 
141
141
  ### 检测流程
142
142
 
@@ -166,7 +166,7 @@ override dispose() {
166
166
 
167
167
  ## 下一步推荐
168
168
 
169
- **参考**:`skills/_shared/工作流下一步-workflow-next-steps.md`
169
+ **参考**:`skills/_shared/工作流下一步.md`
170
170
 
171
171
  完成 code-review 后,下一步取决于具体情况:
172
172
 
@@ -210,7 +210,7 @@ Review 通过后,Reviewer 必须执行:
210
210
 
211
211
  本 Skill 支持 MCP 运行时增强,自动检测并启用高级功能。
212
212
 
213
- MCP 增强规则参考:`skills/_shared/MCP增强模板-mcp-enhancement.md`
213
+ MCP 增强规则参考:`skills/_shared/MCP增强模板.md`
214
214
 
215
215
  ### 依赖的 MCP 服务
216
216
 
@@ -12,11 +12,15 @@ allowed-tools:
12
12
 
13
13
  # DevBooks:实现负责人(Coder)
14
14
 
15
- ## 工作流位置感知(Workflow Position Awareness)
15
+ ## 快速开始
16
16
 
17
- > **核心原则**:Coder 在 Test Owner 阶段 1 之后执行,通过**模式标签**(而非会话隔离)实现思维清晰。
17
+ 我的职责:
18
+ 1. **严格按 tasks.md 实现功能**
19
+ 2. **运行快轨测试**(@smoke + @critical)
20
+ 3. **触发 @full 测试**(CI 异步)
21
+ 4. **禁止修改 tests/**
18
22
 
19
- ### 我在整体工作流中的位置
23
+ ## 工作流位置
20
24
 
21
25
  ```
22
26
  proposal → design → [TEST-OWNER] → [CODER] → [TEST-OWNER] → code-review → archive
@@ -25,9 +29,7 @@ proposal → design → [TEST-OWNER] → [CODER] → [TEST-OWNER] → code-revie
25
29
  (@smoke/@critical) (不重跑@full)
26
30
  ```
27
31
 
28
- ### AI 时代个人开发优化
29
-
30
- > **重要变更**:本协议针对 AI 编程 + 个人开发场景优化,**去掉了"单独会话"的硬性要求**。
32
+ ## AI 时代优化
31
33
 
32
34
  | 旧设计 | 新设计 | 原因 |
33
35
  |--------|--------|------|
@@ -35,89 +37,74 @@ proposal → design → [TEST-OWNER] → [CODER] → [TEST-OWNER] → code-revie
35
37
  | Coder 跑完整测试等待结果 | Coder 跑快轨(`@smoke`/`@critical`),`@full` 异步触发 | 快速迭代 |
36
38
  | 完成后直接交给 Test Owner | 完成后状态为 `Implementation Done`,等 @full 通过 | 异步不阻塞,归档同步 |
37
39
 
38
- ### Coder 的职责边界
39
-
40
- | 允许 | 禁止 |
41
- |------|------|
42
- | 修改 `src/**` 代码 | ❌ 修改 `tests/**` |
43
- | 勾选 `tasks.md` 任务项 | ❌ 修改 `verification.md` |
44
- | 记录偏离到 `deviation-log.md` | ❌ 勾选 AC 覆盖矩阵 |
45
- | 运行快轨测试(`@smoke`/`@critical`) | ❌ 设置 verification.md Status 为 Verified/Done |
46
- | 触发 `@full` 测试(CI/后台) | ❌ 等待 @full 完成(可以开始下一个变更) |
40
+ ---
47
41
 
48
- ### Coder 完成后的流程
42
+ ## 前置:配置发现
49
43
 
50
- 1. **快轨测试绿**:`@smoke` + `@critical` 通过
51
- 2. **触发 @full**:提交代码,CI 开始异步运行 @full 测试
52
- 3. **状态变更**:设置变更状态为 `Implementation Done`
53
- 4. **可以开始下一个变更**(不阻塞)
54
- 5. **等待 @full 结果**:
55
- - @full 通过 → Test Owner 进入阶段 2 审计证据
56
- - @full 失败 → Coder 修复
44
+ 执行前**必须**按以下顺序查找配置(找到后停止):
45
+ 1. `.devbooks/config.yaml`(如存在)→ 解析并使用其中的映射
46
+ 2. `dev-playbooks/project.md`(如存在)→ Dev-Playbooks 协议
47
+ 3. `project.md`(如存在)→ template 协议
48
+ 4. 若仍无法确定 **停止并询问用户**
57
49
 
58
- **关键提醒**:
59
- - Coder 完成后,状态是 `Implementation Done`,**不是直接进入 Code Review**
60
- - 开发迭代是异步的(可以开始下一个变更),但归档是同步的(必须等 @full 通过)
50
+ **关键约束**:
51
+ - 如果配置中指定了 `agents_doc`(规则文档),**必须先阅读该文档**再执行任何操作
52
+ - 禁止猜测目录根
61
53
 
62
54
  ---
63
55
 
64
- ## 测试分层与运行策略(关键!)
56
+ ## 📚 参考文档
65
57
 
66
- > **核心原则**:Coder 只运行快轨测试,@full 测试异步触发,不阻塞开发迭代。
58
+ ### 必读(立即阅读)
67
59
 
68
- ### 测试分层标签
60
+ 1. **通用守门协议**:`~/.claude/skills/_shared/references/通用守门协议.md`
61
+ - 可验证性守门、结构质量守门、完整性守门
62
+ - 所有 skills 的基础规则
69
63
 
70
- | 标签 | 用途 | Coder 何时运行 | 预期耗时 |
71
- |------|------|----------------|----------|
72
- | `@smoke` | 快速反馈,核心路径 | 每次代码修改后 | 秒级 |
73
- | `@critical` | 关键功能验证 | 准备提交前 | 分钟级 |
74
- | `@full` | 完整验收测试 | **不运行**,触发 CI 异步执行 | 可以慢 |
64
+ 2. **代码实现提示词**:`references/代码实现提示词.md`
65
+ - 完整的代码实现指南
66
+ - 严格按此提示词执行
75
67
 
76
- ### Coder 的测试运行策略
68
+ ### 按需阅读
77
69
 
78
- ```bash
79
- # 开发过程中:频繁运行 @smoke
80
- npm test -- --grep "@smoke"
70
+ 3. **测试运行策略**:`references/测试运行策略.md`
71
+ - @smoke/@critical/@full 标签详解
72
+ - 异步与同步的边界
73
+ - 何时阅读:需要理解测试运行策略时
81
74
 
82
- # 准备提交前:运行 @critical
83
- npm test -- --grep "@smoke|@critical"
75
+ 4. **完成状态与路由**:`references/完成状态与路由.md`
76
+ - 完成状态分类(MECE)
77
+ - 路由输出模板
78
+ - 何时阅读:任务完成时输出状态
84
79
 
85
- # 提交后:CI 自动运行 @full(Coder 不等待)
86
- git push # 触发 CI
87
- # → Coder 可以开始下一个任务
88
- ```
80
+ 5. **热点感知与风险评估**:`references/热点感知与风险评估.md`
81
+ - MCP 增强功能
82
+ - 热点文件预警
83
+ - 何时阅读:需要风险评估时
89
84
 
90
- ### 异步与同步的边界
85
+ 6. **低风险改动技术**:`references/低风险改动技术.md`
86
+ - 安全重构技巧
87
+ - 何时阅读:需要重构时
91
88
 
92
- | 动作 | 阻塞/异步 | 说明 |
93
- |------|-----------|------|
94
- | `@smoke` 测试 | 同步 | 每次修改后立即运行 |
95
- | `@critical` 测试 | 同步 | 提交前必须通过 |
96
- | `@full` 测试 | **异步** | CI 后台运行,不阻塞 Coder |
97
- | 开始下一个变更 | **不阻塞** | Coder 可以立即开始 |
98
- | 归档 | **阻塞** | 必须等 @full 通过 |
89
+ 7. **编码风格细则**:`references/编码风格细则.md`
90
+ - 代码风格规范
91
+ - 何时阅读:不确定代码风格时
99
92
 
100
- ---
101
-
102
- ## 前置:配置发现(协议无关)
93
+ 8. **日志规范**:`references/日志规范.md`
94
+ - 日志级别和格式
95
+ - 何时阅读:需要添加日志时
103
96
 
104
- - `<truth-root>`:当前真理目录根
105
- - `<change-root>`:变更包目录根
97
+ 9. **错误码规范**:`references/错误码规范.md`
98
+ - 错误码设计
99
+ - 何时阅读:需要定义错误码时
106
100
 
107
- 执行前**必须**按以下顺序查找配置(找到后停止):
108
- 1. `.devbooks/config.yaml`(如存在)→ 解析并使用其中的映射
109
- 2. `dev-playbooks/project.md`(如存在)→ Dev-Playbooks 协议,使用默认映射
110
- 3. `project.md`(如存在)→ template 协议,使用默认映射
111
- 4. 若仍无法确定 → **停止并询问用户**
101
+ ---
112
102
 
113
- **关键约束**:
114
- - 如果配置中指定了 `agents_doc`(规则文档),**必须先阅读该文档**再执行任何操作
115
- - 禁止猜测目录根
116
- - 禁止跳过规则文档阅读
103
+ ## 核心流程
117
104
 
118
- ## 断点续做协议(Plan Persistence)
105
+ ### 1. 断点续做
119
106
 
120
- 每次开始前**必须**执行以下步骤:
107
+ 每次开始前**必须**执行:
121
108
 
122
109
  1. **读取进度**:打开 `<change-root>/<change-id>/tasks.md`,识别已勾选 `- [x]` 的任务
123
110
  2. **定位续做点**:找到"最后一个 `[x]`"后的第一个 `- [ ]`
@@ -125,46 +112,12 @@ git push # 触发 CI
125
112
  ```
126
113
  检测到 T1-T6 已完成(6/10),从 T7 继续。
127
114
  ```
128
- 4. **检查断点区**:如果 tasks.md 有"断点区"记录,优先恢复断点状态
129
- 5. **异常处理**:如果发现"未勾选但代码已存在"的任务,提示用户确认
130
115
 
131
- ### 断点区格式(tasks.md 末尾)
132
-
133
- ```markdown
134
- ### 断点区 (Context Switch Breakpoint Area)
135
- - 上次进度:T6 完成,T7 开始但未完成
136
- - 当前阻塞:<阻塞原因>
137
- - 下一步最短路径:<建议动作>
138
- ```
139
-
140
- ---
141
-
142
- ## 实时进度更新协议(Real-time Progress Update)
116
+ ### 2. 实时进度更新
143
117
 
144
118
  > **核心原则**:完成一个任务,立即勾选一个。不要等到全部完成再批量勾选。
145
119
 
146
- **必须遵守**:
147
-
148
- ### 单任务完成后立即勾选
149
-
150
- 每完成 tasks.md 中的一个任务项后,**立即**将其从 `- [ ]` 改为 `- [x]`:
151
-
152
- ```markdown
153
- # 任务完成前
154
- - [ ] MP1.1 实现缓存管理器基础结构
155
-
156
- # 任务完成后,立即更新
157
- - [x] MP1.1 实现缓存管理器基础结构
158
- ```
159
-
160
- ### 为什么必须实时勾选
161
-
162
- 1. **断点恢复**:中断后可以准确知道从哪里继续
163
- 2. **进度可视**:用户和 AI 都能清楚看到当前进度
164
- 3. **避免遗忘**:批量勾选容易遗漏已完成项
165
- 4. **证据链完整**:每个勾选代表一个完成的里程碑
166
-
167
- ### 勾选时机
120
+ **勾选时机**:
168
121
 
169
122
  | 时机 | 操作 |
170
123
  |------|------|
@@ -173,63 +126,40 @@ git push # 触发 CI
173
126
  | 相关测试通过 | **立即勾选** |
174
127
  | 多个任务一起完成 | 逐个勾选,不要批量 |
175
128
 
176
- ### 禁止行为
129
+ ### 3. 实现代码
177
130
 
178
- - 禁止等所有任务完成后再批量勾选
179
- - ❌ 禁止"代码写完就算完成"而不勾选
180
- - ❌ 禁止勾选后又改回未勾选状态(除非回滚代码)
131
+ 严格按 `references/代码实现提示词.md` 执行。
181
132
 
182
- ---
133
+ ### 4. 运行测试
183
134
 
184
- ## 输出管理约束(Observation Masking)
185
-
186
- 防止大量输出污染 context:
187
-
188
- | 场景 | 处理方式 |
189
- |------|----------|
190
- | 命令输出 > 50 行 | 只保留首尾各 10 行 + 中间摘要 |
191
- | 测试输出 | 提取关键失败信息,不要全量贴入对话 |
192
- | 日志输出 | 落盘到 `<change-root>/<change-id>/evidence/`,对话中只引用路径 |
193
- | 大文件内容 | 引用路径,不要内联 |
194
-
195
- **示例**:
196
- ```
197
- ❌ 错误:贴入 2000 行测试日志
198
- ✅ 正确:测试失败 3 个,详见 <change-root>/<change-id>/evidence/green-final/test-output.log
199
- 关键错误:FAIL src/order.test.ts:45 - Expected 400, got 500
200
- ```
201
-
202
- ---
135
+ ```bash
136
+ # 开发过程中:频繁运行 @smoke
137
+ npm test -- --grep "@smoke"
203
138
 
204
- ## 证据路径强制约定
139
+ # 准备提交前:运行 @critical
140
+ npm test -- --grep "@smoke|@critical"
205
141
 
206
- **Green 证据必须保存到变更包目录**:
207
- ```
208
- <change-root>/<change-id>/evidence/green-final/
142
+ # 提交后:CI 自动运行 @full(Coder 不等待)
143
+ git push # 触发 CI
209
144
  ```
210
145
 
211
- **禁止的路径**:
212
- - ❌ `./evidence/`(项目根目录)
213
- - ❌ `evidence/`(相对于当前工作目录)
146
+ ### 5. 输出完成状态
214
147
 
215
- **正确的路径示例**:
216
- ```bash
217
- # Dev-Playbooks 默认路径
218
- dev-playbooks/changes/<change-id>/evidence/green-final/test-$(date +%Y%m%d-%H%M%S).log
219
-
220
- # 使用脚本
221
- devbooks change-evidence <change-id> --label green-final -- npm test
222
- ```
148
+ 参考 `references/完成状态与路由.md`。
223
149
 
224
150
  ---
225
151
 
226
152
  ## 关键约束
227
153
 
228
- ### 角色边界约束
229
- - **禁止修改 `tests/**`**(需要改测试必须交还 Test Owner)
230
- - **禁止修改 `verification.md`**(由 Test Owner 维护)
231
- - **禁止修改 `verification.md` 的 Status 字段**(只有 Reviewer 可以设为 Done)
232
- - **禁止修改 `.devbooks/`、`build/`、工程配置文件**(除非 proposal.md 明确声明)
154
+ ### 角色边界
155
+
156
+ | 允许 | 禁止 |
157
+ |------|------|
158
+ | 修改 `src/**` 代码 | ❌ 修改 `tests/**` |
159
+ | 勾选 `tasks.md` 任务项 | ❌ 修改 `verification.md` |
160
+ | 记录偏离到 `deviation-log.md` | ❌ 勾选 AC 覆盖矩阵 |
161
+ | 运行快轨测试(`@smoke`/`@critical`) | ❌ 设置 verification.md Status 为 Verified/Done |
162
+ | 触发 `@full` 测试(CI/后台) | ❌ 等待 @full 完成(可以开始下一个变更) |
233
163
 
234
164
  ### 代码质量约束
235
165
 
@@ -269,75 +199,42 @@ if rg -l 'console\.(log|debug)|debugger' src/ --type ts; then
269
199
  fi
270
200
  ```
271
201
 
272
- ### 验证前置约束
273
-
274
- **核心要求**:每次修改代码后,必须运行验证命令并确认通过。
275
-
276
- - [ ] 修改代码后立即运行 `npm run compile`
277
- - [ ] 编译通过后运行 `npm run lint`
278
- - [ ] Lint 通过后运行 `npm test`
279
- - [ ] 禁止在验证失败时声明"任务完成"
280
- - [ ] 验证命令输出必须记录到证据文件
281
-
282
- ### 资源清理约束
283
-
284
- - [ ] 临时文件必须在任务结束时删除
285
- - [ ] 后台进程必须在任务结束时终止
286
- - [ ] 无论成功失败,都必须执行清理
287
-
288
- ## 执行方式
289
-
290
- 1) 先阅读并遵守:`~/.claude/skills/_shared/references/通用守门协议.md`(可验证性 + 结构质量守门)。
291
- 2) 阅读低风险改动技术:`references/低风险改动技术.md`(需要时再读)。
292
- 3) 严格按完整提示词执行:`references/代码实现提示词.md`。
293
-
294
202
  ---
295
203
 
296
- ## 上下文感知
297
-
298
- 本 Skill 在执行前自动检测上下文,确保前置条件满足。
299
-
300
- 检测规则参考:`skills/_shared/上下文检测模板-context-detection.md`
204
+ ## 输出管理
301
205
 
302
- ### 检测流程
303
-
304
- 1. 检测 `tasks.md` 是否存在
305
- 2. 检测 `verification.md` 是否存在(Test Owner 已完成)
306
- 3. 检测当前会话是否已执行过 Test Owner 角色
307
- 4. 识别 tasks.md 中的进度(已完成/待做)
206
+ 防止大量输出污染 context:
308
207
 
309
- ### Skill 支持的模式
208
+ | 场景 | 处理方式 |
209
+ |------|----------|
210
+ | 命令输出 > 50 行 | 只保留首尾各 10 行 + 中间摘要 |
211
+ | 测试输出 | 提取关键失败信息,不要全量贴入对话 |
212
+ | 日志输出 | 落盘到 `<change-root>/<change-id>/evidence/`,对话中只引用路径 |
213
+ | 大文件内容 | 引用路径,不要内联 |
310
214
 
311
- | 模式 | 触发条件 | 行为 |
312
- |------|----------|------|
313
- | **首次实现** | tasks.md 全部为 `[ ]` | 从 MP1.1 开始 |
314
- | **断点续做** | tasks.md 有部分 `[x]` | 从最后 `[x]` 后的第一个 `[ ]` 继续 |
315
- | **闸门修复** | 测试失败需要修复 | 优先处理失败项 |
215
+ ---
316
216
 
317
- ### 前置检查
217
+ ## 证据路径约定
318
218
 
319
- - [ ] `tasks.md` 存在
320
- - [ ] `verification.md` 存在
321
- - [ ] 当前会话未执行过 Test Owner
322
- - [ ] `tests/**` 有测试文件
219
+ **Green 证据必须保存*:
220
+ ```
221
+ <change-root>/<change-id>/evidence/green-final/
222
+ ```
323
223
 
324
- ### 检测输出示例
224
+ **正确的路径示例**:
225
+ ```bash
226
+ # Dev-Playbooks 默认路径
227
+ dev-playbooks/changes/<change-id>/evidence/green-final/test-$(date +%Y%m%d-%H%M%S).log
325
228
 
326
- ```
327
- 检测结果:
328
- - 产物存在性:tasks.md ✓, verification.md ✓
329
- - 角色隔离:✓(当前会话未执行 Test Owner)
330
- - 进度:6/10 已完成
331
- - 运行模式:断点续做,从 MP1.7 继续
229
+ # 使用脚本
230
+ devbooks change-evidence <change-id> --label green-final -- npm test
332
231
  ```
333
232
 
334
233
  ---
335
234
 
336
- ## 偏离检测与落盘协议
235
+ ## 偏离检测与落盘
337
236
 
338
- **参考**:`skills/_shared/references/偏离检测与路由协议.md`
339
-
340
- ### 实时落盘要求
237
+ **参考**:`~/.claude/skills/_shared/references/偏离检测与路由协议.md`
341
238
 
342
239
  在实现过程中,**必须立即**将以下情况写入 `deviation-log.md`:
343
240
 
@@ -345,136 +242,25 @@ fi
345
242
  |------|------|------|
346
243
  | 添加了 tasks.md 中没有的功能 | NEW_FEATURE | 新增 warmup() 方法 |
347
244
  | 修改了 design.md 中的约束 | CONSTRAINT_CHANGE | 超时改为 60s |
348
- | 发现设计未覆盖的边界情况 | DESIGN_GAP | 并发场景 |
349
- | 公共接口与设计不一致 | API_CHANGE | 参数增加 |
350
-
351
- ### deviation-log.md 格式
352
-
353
- ```markdown
354
- # 偏离日志
355
-
356
- ## 待回写记录
357
-
358
- | 时间 | 类型 | 描述 | 涉及文件 | 已回写 |
359
- |------|------|------|----------|:------:|
360
- | 2024-01-15 10:30 | NEW_FEATURE | 添加缓存预热功能 | src/cache.ts | ❌ |
361
- ```
362
-
363
- ### Compact 保护
364
-
365
- **重要**:deviation-log.md 是持久化文件,不受 compact 影响。即使对话被压缩,偏离信息仍然保留。
245
+ | 发现设计未覆盖的边界情况 | DESIGN_GAP | 公共接口与设计不一致 | API_CHANGE | 参数增加 |
366
246
 
367
247
  ---
368
248
 
369
- ## 完成状态与下一步路由
370
-
371
- ### 完成状态分类(MECE)
372
-
373
- | 状态码 | 状态 | 判定条件 | 下一步 |
374
- |:------:|------|----------|--------|
375
- | ✅ | IMPLEMENTATION_DONE | 快轨测试绿,@full 已触发,无偏离 | 切换到 `[TEST-OWNER]` 等待 @full |
376
- | ⚠️ | IMPLEMENTATION_DONE_WITH_DEVIATION | 快轨绿,deviation-log 有未回写记录 | `devbooks-design-backport` |
377
- | 🔄 | HANDOFF | 发现测试问题需要修改 | 切换到 `[TEST-OWNER]` 模式修复测试 |
378
- | ❌ | BLOCKED | 需要外部输入/决策 | 记录断点,等待用户 |
379
- | 💥 | FAILED | 快轨测试未通过 | 修复后重试 |
380
-
381
- ### 状态判定流程
382
-
383
- ```
384
- 1. 检查 deviation-log.md 是否有 "| ❌" 记录
385
- → 有:IMPLEMENTATION_DONE_WITH_DEVIATION
386
-
387
- 2. 检查是否需要修改 tests/
388
- → 是:HANDOFF to [TEST-OWNER] 模式
389
-
390
- 3. 检查快轨测试(@smoke + @critical)是否全部通过
391
- → 否:FAILED
392
-
393
- 4. 检查 tasks.md 是否全部完成
394
- → 否:BLOCKED 或继续实现
395
-
396
- 5. 以上都通过,触发 @full
397
- → IMPLEMENTATION_DONE
398
- ```
399
-
400
- ### 路由输出模板(必须使用)
401
-
402
- 完成 coder 后,**必须**输出以下格式:
403
-
404
- ```markdown
405
- ## 完成状态
406
-
407
- **状态**:✅ IMPLEMENTATION_DONE / ⚠️ ... / 🔄 HANDOFF / ❌ BLOCKED / 💥 FAILED
408
-
409
- **任务进度**:X/Y 已完成
410
-
411
- **快轨测试**:@smoke ✅ / @critical ✅
412
-
413
- **@full 测试**:已触发(CI 异步运行中)
414
-
415
- **偏离记录**:有 N 条待回写 / 无
416
-
417
- ## 下一步
418
-
419
- **推荐**:切换到 `[TEST-OWNER]` 模式等待 @full / `devbooks-xxx skill`
420
-
421
- **原因**:[具体原因]
422
-
423
- **注意**:可以开始下一个变更,不需要等待 @full 完成
424
- ```
425
-
426
- ### 具体路由规则
427
-
428
- | 我的状态 | 下一步 | 原因 |
429
- |----------|--------|------|
430
- | IMPLEMENTATION_DONE | 切换到 `[TEST-OWNER]` 模式(等 @full) | 快轨绿,等 @full 通过后审计证据 |
431
- | IMPLEMENTATION_DONE_WITH_DEVIATION | `devbooks-design-backport` | 先回写设计 |
432
- | HANDOFF (测试问题) | 切换到 `[TEST-OWNER]` 模式 | Coder 不能修改测试 |
433
- | BLOCKED | 等待用户 | 记录断点区 |
434
- | FAILED | 修复后重试 | 分析失败原因 |
435
-
436
- **关键约束**:
437
- - Coder **永远不能修改** `tests/**`
438
- - 如发现测试问题,必须切换到 `[TEST-OWNER]` 模式处理
439
- - 如有偏离,必须先 design-backport 再继续
440
- - **Coder 完成后状态是 `Implementation Done`,必须等 @full 通过后才能进入 Test Owner 阶段 2**
441
- - **模式切换替代会话隔离**:使用 `[TEST-OWNER]` / `[CODER]` 标签切换模式
442
-
443
- ---
444
-
445
- ## MCP 增强
446
-
447
- 本 Skill 支持 MCP 运行时增强,自动检测并启用高级功能。
448
-
449
- MCP 增强规则参考:`skills/_shared/MCP增强模板-mcp-enhancement.md`
450
-
451
- ### 依赖的 MCP 服务
452
-
453
- | 服务 | 用途 | 超时 |
454
- |------|------|------|
455
- | `mcp__ckb__getHotspots` | 检测热点文件,输出预警 | 2s |
456
- | `mcp__ckb__getStatus` | 检测 CKB 索引可用性 | 2s |
457
-
458
- ### 检测流程
459
-
460
- 1. 调用 `mcp__ckb__getStatus`(2s 超时)
461
- 2. 若 CKB 可用 → 调用 `mcp__ckb__getHotspots` 获取热点文件
462
- 3. 若超时或失败 → 降级到基础模式(无热点预警)
463
-
464
- ### 增强模式 vs 基础模式
249
+ ## 上下文感知
465
250
 
466
- | 功能 | 增强模式 | 基础模式 |
467
- |------|----------|----------|
468
- | 热点文件预警 | CKB 实时分析 | 不可用 |
469
- | 风险文件识别 | 自动高亮高热点变更 | 手动识别 |
470
- | 代码导航 | 符号级跳转 | 文件级搜索 |
251
+ 检测规则参考:`~/.claude/skills/_shared/上下文检测模板.md`
471
252
 
472
- ### 降级提示
253
+ ### 本 Skill 支持的模式
473
254
 
474
- MCP 不可用时,输出以下提示:
255
+ | 模式 | 触发条件 | 行为 |
256
+ |------|----------|------|
257
+ | **首次实现** | tasks.md 全部为 `[ ]` | 从 MP1.1 开始 |
258
+ | **断点续做** | tasks.md 有部分 `[x]` | 从最后 `[x]` 后的第一个 `[ ]` 继续 |
259
+ | **闸门修复** | 测试失败需要修复 | 优先处理失败项 |
475
260
 
476
- ```
477
- ⚠️ CKB 不可用,跳过热点检测。
478
- 如需启用热点预警,请手动生成 SCIP 索引。
479
- ```
261
+ ### 前置检查
480
262
 
263
+ - [ ] `tasks.md` 存在
264
+ - [ ] `verification.md` 存在
265
+ - [ ] 当前会话未执行过 Test Owner
266
+ - [ ] `tests/**` 有测试文件