@haaaiawd/anws 2.2.2 → 2.2.3

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 (36) hide show
  1. package/README.md +180 -180
  2. package/lib/manifest.js +212 -212
  3. package/package.json +1 -1
  4. package/templates/.agents/skills/anws-system/SKILL.md +108 -108
  5. package/templates/.agents/skills/code-reviewer/SKILL.md +101 -101
  6. package/templates/.agents/skills/concept-modeler/SKILL.md +179 -178
  7. package/templates/.agents/skills/craft-authoring/SKILL.md +6 -6
  8. package/templates/.agents/skills/design-reviewer/SKILL.md +190 -176
  9. package/templates/.agents/skills/e2e-testing-guide/SKILL.md +204 -59
  10. package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -306
  11. package/templates/.agents/skills/report-template/SKILL.md +92 -85
  12. package/templates/.agents/skills/runtime-inspector/SKILL.md +12 -12
  13. package/templates/.agents/skills/sequential-thinking/SKILL.md +225 -216
  14. package/templates/.agents/skills/spec-writer/SKILL.md +9 -9
  15. package/templates/.agents/skills/spec-writer/references/prd_template.md +6 -6
  16. package/templates/.agents/skills/system-architect/SKILL.md +678 -620
  17. package/templates/.agents/skills/system-designer/SKILL.md +601 -534
  18. package/templates/.agents/skills/system-designer/references/system-design-detail-template.md +5 -5
  19. package/templates/.agents/skills/system-designer/references/system-design-template.md +28 -28
  20. package/templates/.agents/skills/task-planner/SKILL.md +699 -629
  21. package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +15 -15
  22. package/templates/.agents/skills/task-reviewer/SKILL.md +388 -363
  23. package/templates/.agents/skills/tech-evaluator/SKILL.md +144 -135
  24. package/templates/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +80 -78
  25. package/templates/.agents/workflows/blueprint.md +391 -391
  26. package/templates/.agents/workflows/challenge.md +52 -52
  27. package/templates/.agents/workflows/change.md +346 -346
  28. package/templates/.agents/workflows/craft.md +11 -11
  29. package/templates/.agents/workflows/design-system.md +631 -631
  30. package/templates/.agents/workflows/explore.md +399 -399
  31. package/templates/.agents/workflows/forge.md +75 -73
  32. package/templates/.agents/workflows/genesis.md +353 -353
  33. package/templates/.agents/workflows/probe.md +243 -243
  34. package/templates/.agents/workflows/quickstart.md +123 -123
  35. package/templates/.agents/workflows/upgrade.md +10 -10
  36. package/templates/AGENTS.md +149 -149
@@ -1,363 +1,388 @@
1
- ---
2
- name: task-reviewer
3
- description: 系统性审查 05_TASKS.md 的质量与完备性,作为 challenge 工作流中的规范契约任务承接证据层。通过 7 大检测 Pass 在语义模型上运行,检测重复、歧义、欠详述、不一致、覆盖缺口和质量问题。
4
- ---
5
-
6
- # 任务审查大师手册
7
-
8
- > "计划的质量取决于最薄弱的那个任务。
9
- > 在代码暴露问题之前,找到裂缝。"
10
-
11
- 你是**任务审查大师**,负责对 `05_TASKS.md` 进行系统性审计——以 PRD、Architecture 和 ADR 文档为基准,运行 **7 大检测 Pass**。你的武器是**语义模型**,而非朴素的字符串匹配。
12
- `/challenge` 工作流中,你的角色是:**为规范契约是否被任务承接、覆盖和验证提供证据**,而不是单独替代 challenge 的总判断。
13
- 你优先要证明的是:关键承诺是否有实现任务、验证任务、边界/失败路径任务,以及是否存在幽灵任务稀释主轴。
14
-
15
- ---
16
- ## 任务目标
17
-
18
- 1. **加载文档 (必须)**: 读取 `.anws/v{N}/05_TASKS.md`、`01_PRD.md`、`02_ARCHITECTURE_OVERVIEW.md`、所有 `03_ADR/*.md`,以及 `04_SYSTEM_DESIGN/*.md`(如存在)。
19
- 2. **构建语义模型**: 构建 4 个清单模型(见 §语义模型构建)。
20
- 3. **执行 7 大 Pass (A→G)**: 顺序执行每个检测 Pass——每个 Pass 在语义模型上操作。
21
- 4. **严重度分级**: 为每条发现分配严重度(CRITICAL / HIGH / MEDIUM / LOW)。
22
- 5. **生成报告**: 输出任务审查报告(见 §输出格式)。
23
- 6. **展示摘要**: 向用户展示检测汇总表 + 10 条发现。
24
-
25
- ## 硬约束
26
-
27
- - **发现上限**: 最多 50 条。超出时按严重度排序 → 截断 → 追加溢出摘要。
28
- - **只报告不修复**: 本技能**仅输出报告**。修复由用户或其他工作流完成。
29
- - **跨文档依赖**: Pass D E **依赖** PRD + Architecture。若缺失,跳过相应 Pass 并注明。
30
- - **契约证据依赖**: Pass G 默认依赖 `04_SYSTEM_DESIGN/*.md`。若任务涉及公共契约而设计文档缺失,必须报告“证据不足 / 契约定义缺口”,不得静默忽略。
31
- - **客观性**: 仅标记客观可检测的问题。不要为了填满报告而捏造问题。
32
-
33
- ---
34
- ## 语义模型构建
35
-
36
- > 在执行任何 Pass 之前,先构建以下 4 个模型。所有 Pass 在模型上操作,而非原始文本。
37
-
38
- ### 模型 1: 需求清单 (Requirements Inventory)
39
-
40
- 从 `01_PRD.md` 提取**每一条**需求:
41
-
42
- ```
43
- REQ-001: slug-key-from-title
44
- ├── 来源章节: §4 User Stories / §3 功能需求
45
- ├── 优先级: P0 | P1 | P2
46
- ├── 验收标准: [列表]
47
- └── 关键词: [提取的名词短语,用于模糊匹配]
48
- ```
49
-
50
- ### 模型 2: 用户故事清单 (User Story Inventory)
51
-
52
- 从 `01_PRD.md` 提取**每一个** User Story:
53
-
54
- ```
55
- US-001: 标题 (Priority)
56
- ├── 用户价值: [一句话]
57
- ├── 涉及系统: [系统 ID 列表]
58
- ├── 独立可测: [如何独立验证]
59
- ├── 验收场景: [Given-When-Then 列表]
60
- └── 边界情况: [边界条件]
61
- ```
62
-
63
- ### 模型 3: 任务覆盖映射 (Task Coverage Mapping)
64
-
65
- 为 `05_TASKS.md` 中的每个任务提取:
66
-
67
- ```
68
- T{X.Y.Z}: 标题
69
- ├── 显式 REQ: 任务头部标注的 [REQ-XXX]
70
- ├── 推断 REQ: 通过关键词与 REQ 清单匹配
71
- ├── 关联 US: 通过 REQ 或系统重叠连接的 [US-XXX]
72
- ├── 所属系统: Level 1 WBS 系统名称
73
- ├── 依赖: [T{A.B.C}, ...]
74
- ├── 验收标准: [列表]
75
- ├── 契约承接: [公共契约列表]
76
- ├── 预估工时: N
77
- └── Sprint: S{N}
78
- ```
79
-
80
- ### 模型 4: 契约清单 (Contract Inventory)
81
-
82
- 从 `02_ARCHITECTURE_OVERVIEW.md`、`03_ADR/*.md`、`04_SYSTEM_DESIGN/*.md` 中提取所有公共契约:
83
-
84
- ```
85
- CONTRACT-001: CLI / API / 接口 / 配置 / 文件格式 / 错误语义 / 持久化结构
86
- ├── 来源文档: Architecture / ADR / System Design
87
- ├── 风险级别: 基础规则层 | 跨系统 | 关键路径
88
- ├── 实现承接任务: [T{...}, ...]
89
- ├── 验证承接任务: [T{...}, INT-S{N}, ...]
90
- └── 关注点: [边界情况 / 错误路径 / 回归责任]
91
- ```
92
-
93
- ---
94
-
95
- ## 🔍 7 大检测 Pass
96
-
97
- ### Pass A: 重复检测 (Duplication Detection)
98
-
99
- **目标**: 发现浪费精力或导致混乱的冗余任务。
100
-
101
- | # | 检查项 | 如何检查 |
102
- |---|--------|---------|
103
- | A1 | **近重复任务** | 比较任务标题+描述的语义相似度。标记意图重叠 >70% 的任务对。 |
104
- | A2 | **共享验收标准** | 相同的 Given-When-Then 在多个任务中逐字或换述出现。 |
105
- | A3 | **输出重叠** | 两个任务产出同一个文件/组件/接口。 |
106
-
107
- **建议**: 合并重复项,或标注为"共享验收"(如确实都需要)。
108
-
109
- ---
110
-
111
- ### Pass B: 歧义检测 (Ambiguity Detection)
112
-
113
- **目标**: 消除使任务不可验证的模糊语言。
114
-
115
- | # | 检查项 | 如何检查 |
116
- |---|--------|---------|
117
- | B1 | **模糊形容词扫描** | 标记验收标准中的这些词:正确/正常/合理/快速/稳定/安全/直观/健壮/appropriate/proper/correct/fast/stable/secure/intuitive/robust |
118
- | B2 | **未解决占位符扫描** | 标记:`TODO`、`TBD`、`???`、`<placeholder>`、`[TBD]`、`FIXME` |
119
- | B3 | **未量化的非功能需求** | 没有具体数字的性能/安全需求(如"快速响应"但无延迟目标) |
120
- | B4 | **含糊代词** | 任务描述中 "它"、"这个"、"系统" 指代不明 |
121
-
122
- **严重度规则**: B1/B3 P0 任务中 HIGH;在 P2 任务中 → MEDIUM。B2 一律 → HIGH。
123
-
124
- ---
125
-
126
- ### Pass C: 欠详述检测 (Underspecification)
127
-
128
- **目标**: 发现信息不足以执行的任务。
129
-
130
- | # | 检查项 | 如何检查 |
131
- |---|--------|---------|
132
- | C1 | **有动词无宾语** | 验收标准有动作动词但无具体目标(如"处理错误" → 什么错误?哪个处理器?) |
133
- | C2 | **缺失验收标准** | 任务的验收标准为零或只有 1 条模糊标准 |
134
- | C3 | **幽灵引用** | 任务引用了 Architecture 文档中不存在的组件/接口/API |
135
- | C4 | **缺失输入/输出** | 任务没有明确的输入或输出字段 |
136
- | C5 | **缺失验证说明** | 任务没有说明如何验证完成 |
137
- | C6 | **缺失验证类型** | 任务没有指定验证类型(单元测试/集成测试/E2E测试/冒烟测试/回归测试/手动验证/编译检查/Lint检查) |
138
-
139
- **严重度规则**: C2 P0 任务上 CRITICAL。C3 一律 → HIGH。C6 在 P0 任务上 → HIGH。
140
-
141
- ---
142
-
143
- ### Pass D: 不一致性检测 (Inconsistency) — 跨文档交叉验证
144
-
145
- > ⚠️ 依赖 PRD + Architecture。若不可用,跳过并注明。
146
-
147
- **目标**: 捕捉 PRD、Architecture、ADR 和 Tasks 之间的矛盾。
148
-
149
- | # | 检查项 | 如何检查 |
150
- |---|--------|---------|
151
- | D1 | **术语漂移** | 同一概念在不同文档中使用不同名称(如 PRD: "game core", Architecture: "Core Engine", Tasks: "核心引擎") |
152
- | D2 | **孤儿架构组件** | Architecture 中定义的系统/组件在 Tasks 中没有对应任务覆盖 |
153
- | D3 | **依赖与排期冲突** | 任务 A 依赖任务 B,但 A 被安排在比 B 更早的 Sprint |
154
- | D4 | **技术栈冲突** | ADR 选定技术 X,但任务中使用技术 Y |
155
- | D5 | **接口不匹配** | 任务 A 的输出格式 ≠ 任务 B 的预期输入格式(当 B 依赖 A 时) |
156
-
157
- **严重度规则**: D3 一律 → CRITICAL(执行必然失败)。D2 → HIGH。D1 → MEDIUM。
158
-
159
- ---
160
-
161
- ### Pass E: 覆盖率检测 (Coverage Gaps)
162
-
163
- **目标**: 确保没有遗漏。
164
-
165
- | # | 检查项 | 如何检查 |
166
- |---|--------|---------|
167
- | E1 | **正向覆盖** | PRD 中每个 REQ-XXX → 至少 1 个 task?构建 REQ 覆盖矩阵。 |
168
- | E2 | **反向覆盖(幽灵任务)** | 每个 task追溯到某个 REQ?无 REQ 追溯的任务是"幽灵任务"——可能是过度工程。 |
169
- | E3 | **User Story 完整性** | 每个 US-XXX → 任务链覆盖其所有涉及系统?能形成独立可验证的闭环? |
170
- | E4 | **NFR 覆盖** | 非功能需求(性能、安全、无障碍)→ 有专门任务或已融入现有任务? |
171
- | E5 | **边界/错误覆盖** | PRD 边界情况 → 有对应的测试/处理任务? |
172
-
173
- **输出**: REQ 覆盖矩阵 + US 完整性表(见 §输出格式)。
174
-
175
- **严重度规则**: E1 在 P0 REQ 上缺失 → CRITICAL。E2 幽灵任务 → LOW(仅信息)。E3 不完整 US → HIGH。
176
-
177
- ---
178
-
179
- ### Pass F: 质量与粒度检查 (Quality & Granularity)
180
-
181
- **目标**: 确保任务大小合理、结构正确。
182
-
183
- | # | 检查项 | 如何检查 |
184
- |---|--------|---------|
185
- | F1 | **过大任务** | 预估工时 > 8h → 建议拆分 |
186
- | F2 | **过小任务** | 预估工时 < 1h → 建议与相关任务合并 |
187
- | F3 | **深度依赖链** | 链长 > 5 → 警告瓶颈风险 |
188
- | F4 | **孤立任务** | 无依赖方且不被依赖(孤岛)→ 确认是否有意为之 |
189
- | F5 | **关键路径分析** | 识别最长依赖链 → 标出瓶颈任务 |
190
- | F6 | **验收标准质量** | 默认检查 Given-When-Then 完整性;纯技术性基础任务允许清晰 Done When + 可执行验证方法 |
191
- | F7 | **Sprint 均衡度** | Sprint 工作量方差 > 均值 50% → 不均衡警告 |
192
-
193
- **严重度规则**: F1 > 16h → HIGH。F3 链 > 7 → HIGH。F5 仅信息 → LOW。
194
-
195
- ---
196
-
197
- ### Pass G: 契约覆盖检测 (Contract Coverage)
198
-
199
- **目标**: 确保公共契约与基础单测责任没有漏口。
200
-
201
- | # | 检查项 | 如何检查 |
202
- |---|--------|---------|
203
- | G1 | **公共契约无实现承接** | Contract Inventory 中的公共契约在 Tasks 中找不到对应实现任务。 |
204
- | G2 | **公共契约无验证承接** | 契约有实现任务,但没有明确验证类型/验证说明/INT 承接。 |
205
- | G3 | **高风险契约缺错误路径验证** | API / CLI / 配置 / 文件格式等契约没有失败态、边界态验证责任。 |
206
- | G4 | **基础逻辑缺单测承接** | registry / manifest / parser / schema / diff / merge / normalizer / planner 等基础逻辑没有单元测试承接。 |
207
- | G5 | **契约与验证类型错配** | 明显公共契约仅给模糊手动验证或验证层级明显不足。 |
208
- | G6 | **回归责任缺失** | 变更影响既有关键契约,但任务中无最小回归验证。 |
209
-
210
- **严重度规则**: G1 在 P0 或核心契约上 → CRITICAL。G2/G3/G6 → HIGH。G4 共享基础逻辑缺单测 → HIGH。G5 → MEDIUM。
211
-
212
- > [!IMPORTANT]
213
- > **如果任务声明了 `契约承接`,但在 `04_SYSTEM_DESIGN/*.md` / ADR / Architecture 中找不到对应契约来源,应优先报告为设计证据缺口,而不是默认视作任务正确。**
214
-
215
- ---
216
-
217
- ## 📊 输出格式:任务审查报告
218
-
219
- 按以下结构生成报告:
220
-
221
- ```markdown
222
- ## 📊 任务审查报告
223
-
224
- > **审查文件**: .anws/v{N}/05_TASKS.md
225
- > **对照文档**: 01_PRD.md, 02_ARCHITECTURE_OVERVIEW.md, 03_ADR/*, 04_SYSTEM_DESIGN/*
226
- > **日期**: {YYYY-MM-DD}
227
-
228
- ---
229
-
230
- ### 检测摘要
231
-
232
- | Pass | 检测项数 | CRITICAL | HIGH | MEDIUM | LOW |
233
- |------|:-------:|:--------:|:----:|:------:|:---:|
234
- | A 重复检测 | — | — | — | — | — |
235
- | B 歧义检测 | — | — | — | — | — |
236
- | C 欠详述检测 | — | — | — | — | — |
237
- | D 不一致性检测 | — | — | — | — | — |
238
- | E 覆盖率检测 | — | — | — | — | — |
239
- | F 质量粒度 | — | — | — | — | — |
240
- | G 契约覆盖 | — | — | — | — | — |
241
- | **合计** | **—** | **—** | **—** | **—** | **—** |
242
-
243
- **整体健康度**: 🟢 健康 / 🟡 需关注 / 🔴 阻塞
244
-
245
- **高信号结论**: [用 1-3 句概括最值得进入 challenge 主报告的问题]
246
-
247
- ---
248
-
249
- ### REQ 覆盖率
250
-
251
- | REQ-ID | 标题 | 优先级 | 关联任务 | 状态 |
252
- |--------|------|:------:|---------|:----:|
253
- | REQ-001 | ... | P0 | T2.1.1, T2.1.2 | |
254
- | REQ-003 | ... | P0 | — | GAP |
255
-
256
- **覆盖率**: {已覆盖}/{总数} ({百分比}%)
257
-
258
- ---
259
-
260
- ### User Story 完整性
261
-
262
- | US-ID | 标题 | 涉及系统 | 关联任务 | 独立可测 | 状态 |
263
- |-------|------|---------|---------|:--------:|:----:|
264
- | US-001 | ... | core, client | T2.1.1→T7.2.1 | ✅ | ✅ |
265
- | US-003 | ... | core, executor | T3.2.1 (不完整) | ❌ | ⚠️ |
266
-
267
- ---
268
-
269
- ### 术语一致性
270
-
271
- | 术语 | PRD | Architecture | Tasks | 状态 |
272
- |------|--------|----------------|---------|:----:|
273
- | ... | "..." | "..." | "..." | ⚠️ 漂移 |
274
-
275
- ---
276
-
277
- ### 契约覆盖率
278
-
279
- | 契约 | 类型 | 实现承接 | 验证承接 | 状态 |
280
- |------|------|---------|---------|:----:|
281
- | `update --target` 显式选择语义 | CLI | T1.2.1 | T6.2.1 ||
282
- | install-lock fallback 重建语义 | 状态/文件格式 | T4.1.1 | T6.2.1 | |
283
- | adapter target matrix 映射 | 基础规则层 | T2.1.1 | T6.1.1 | ✅ |
284
-
285
- **设计证据来源**: 已读取 / 未读取 `04_SYSTEM_DESIGN/*`
286
-
287
- ---
288
-
289
- ### 关键路径
290
-
291
- > 最长依赖链,高亮瓶颈任务。
292
-
293
- ```mermaid
294
- graph LR
295
- T1.1.1 --> T2.1.1 --> T2.1.2 --> T4.1.1:::bottleneck --> T6.1.1
296
- classDef bottleneck fill:#f96,stroke:#333
297
- ```
298
-
299
- ---
300
-
301
- ### 核心发现清单
302
-
303
- | ID | 严重度 | Pass | 位置 | 发现 | 影响 | 建议 |
304
- |----|:------:|:----:|------|------|------|------|
305
- | TR-01 | CRITICAL | E1 | REQ-003 / 05_TASKS.md §X | P0 需求无对应任务 | 核心能力无法落地 | 在对应 Sprint 增加实现与验证任务 |
306
- | TR-02 | HIGH | B1 | T4.1.3 | 验收标准使用“正确处理”等模糊措辞 | 任务不可验证 | 量化错误码、兜底行为和验证方式 |
307
- | TR-03 | HIGH | D1 | PRD / Architecture / Tasks | 术语漂移导致任务引用不一致 | 实施与对齐成本上升 | 按 ADR 统一术语 |
308
-
309
- > 仅输出真正影响执行和验收的问题。低价值措辞润色不要淹没核心发现。
310
-
311
- ---
312
-
313
- ### Top Findings 详情(仅展开 Critical / High)
314
-
315
- #### TR-01 [标题]
316
-
317
- **Pass**: E1
318
- **严重度**: CRITICAL
319
- **位置**: [REQ-ID / Task ID / 文档章节]
320
-
321
- **证据**:
322
- - 需求来源: [PRD 中的 REQ / US]
323
- - 任务映射: [哪些任务缺失 / 不完整]
324
- - 交叉验证: [与 Architecture / ADR 的不一致点,如适用]
325
-
326
- **影响**:
327
- - [不修复会导致什么执行或交付问题]
328
-
329
- **建议**:
330
- - [最小修复方向]
331
-
332
- ---
333
-
334
- ### 溢出摘要(发现 > 50 条时)
335
-
336
- {N} 条额外发现被省略。主要类别: ...
337
- ```
338
-
339
- ---
340
-
341
- ## 🎚️ 严重度分级
342
-
343
- | 等级 | 判定标准 | 所需行动 |
344
- |:----:|---------|---------|
345
- | **Critical** 🔴 | 根本性矛盾或不可能实现。不解决无法继续。 | P0 — 必须在 blueprint/forge 之前修复 |
346
- | **High** 🟠 | 大概率导致返工或失败的严重风险。 | P1 — 在 forge 之前修复 |
347
- | **Medium** 🟡 | 有变通方案的质量隐患。 | P2 — 实现阶段修复 |
348
- | **Low** 🟢 | 润色项或轻微不一致。 | P3 — 后续跟踪 |
349
-
350
- **健康度规则**: Critical ≥ 1 → 整体健康度设为 🔴 阻塞。High ≥ 5 → 🟡 需关注。其余 → 🟢 健康。
351
-
352
- > [!NOTE]
353
- > 输出时优先保留 Critical / High。Medium / Low 仅在确实影响执行判断或有稳定改进价值时保留。
354
-
355
- ---
356
-
357
- ## 💡 审查要诀
358
-
359
- 1. **不要过度标记**: 如果任务虽措辞不完美但意思明确,最多标 LOW。
360
- 2. **上下文很重要**: 游戏 Tick 循环里的"快速"和批处理任务里的"快速"含义截然不同。
361
- 3. **架构感知**: 用 `02_ARCHITECTURE_OVERVIEW.md` 的系统边界验证任务范围。
362
- 4. **尊重 ADR**: 如果 ADR 明确选择了某个权衡并有文档记录,不要重新翻旧账。
363
- 5. **增量价值**: 哪怕只找到 3 条 CRITICAL,审查就物有所值。完美不是目标。
1
+ ---
2
+
3
+ ## name: task-reviewer
4
+
5
+ description: 系统性审查 05_TASKS.md 的质量与完备性,作为 challenge 工作流中的规范契约任务承接证据层。通过 7 大检测 Pass 在语义模型上运行,检测重复、歧义、欠详述、不一致、覆盖缺口和质量问题。
6
+
7
+ # 任务审查大师手册
8
+
9
+ > "计划的质量取决于最薄弱的那个任务。
10
+ > 在代码暴露问题之前,找到裂缝。"
11
+
12
+ 你是**任务审查大师**,负责对 `05_TASKS.md` 进行系统性审计——以 PRD、Architecture 和 ADR 文档为基准,运行 **7 大检测 Pass**。你的武器是**语义模型**,而非朴素的字符串匹配。
13
+ 在 `/challenge` 工作流中,你的角色是:**为规范契约是否被任务承接、覆盖和验证提供证据**,而不是单独替代 challenge 的总判断。
14
+ 你优先要证明的是:关键承诺是否有实现任务、验证任务、边界/失败路径任务,以及是否存在幽灵任务稀释主轴。
15
+
16
+ ---
17
+
18
+ ## 任务目标
19
+
20
+ 1. **加载文档 (必须)**: 读取 `.anws/v{N}/05_TASKS.md`、`01_PRD.md`、`02_ARCHITECTURE_OVERVIEW.md`、所有 `03_ADR/*.md`,以及 `04_SYSTEM_DESIGN/*.md`(如存在)。
21
+ 2. **构建语义模型**: 构建 4 个清单模型(见 §语义模型构建)。
22
+ 3. **执行 7 大 Pass (A→G)**: 顺序执行每个检测 Pass——每个 Pass 在语义模型上操作。
23
+ 4. **严重度分级**: 为每条发现分配严重度(CRITICAL / HIGH / MEDIUM / LOW)。
24
+ 5. **生成报告**: 输出任务审查报告(见 §输出格式)。
25
+ 6. **展示摘要**: 向用户展示检测汇总表 + 前 10 条发现。
26
+
27
+ ## 硬约束
28
+
29
+ - **发现上限**: 最多 50 条。超出时按严重度排序 截断 追加溢出摘要。
30
+ - **只报告不修复**: 本技能**仅输出报告**。修复由用户或其他工作流完成。
31
+ - **跨文档依赖**: Pass D 和 E **依赖** PRD + Architecture。若缺失,跳过相应 Pass 并注明。
32
+ - **契约证据依赖**: Pass G 默认依赖 `04_SYSTEM_DESIGN/*.md`。若任务涉及公共契约而设计文档缺失,必须报告“证据不足 / 契约定义缺口”,不得静默忽略。
33
+ - **客观性**: 仅标记客观可检测的问题。不要为了填满报告而捏造问题。
34
+
35
+ ---
36
+
37
+ ## 语义模型构建
38
+
39
+ > 在执行任何 Pass 之前,先构建以下 4 个模型。所有 Pass 在模型上操作,而非原始文本。
40
+
41
+ ### 模型 1: 需求清单 (Requirements Inventory)
42
+
43
+ `01_PRD.md` 提取**每一条**需求:
44
+
45
+ ```
46
+ REQ-001: slug-key-from-title
47
+ ├── 来源章节: §4 User Stories / §3 功能需求
48
+ ├── 优先级: P0 | P1 | P2
49
+ ├── 验收标准: [列表]
50
+ └── 关键词: [提取的名词短语,用于模糊匹配]
51
+ ```
52
+
53
+ ### 模型 2: 用户故事清单 (User Story Inventory)
54
+
55
+ `01_PRD.md` 提取**每一个** User Story:
56
+
57
+ ```
58
+ US-001: 标题 (Priority)
59
+ ├── 用户价值: [一句话]
60
+ ├── 涉及系统: [系统 ID 列表]
61
+ ├── 独立可测: [如何独立验证]
62
+ ├── 验收场景: [Given-When-Then 列表]
63
+ └── 边界情况: [边界条件]
64
+ ```
65
+
66
+ ### 模型 3: 任务覆盖映射 (Task Coverage Mapping)
67
+
68
+ 为 `05_TASKS.md` 中的每个任务提取:
69
+
70
+ ```
71
+ T{X.Y.Z}: 标题
72
+ ├── 显式 REQ: 任务头部标注的 [REQ-XXX]
73
+ ├── 推断 REQ: 通过关键词与 REQ 清单匹配
74
+ ├── 关联 US: 通过 REQ 或系统重叠连接的 [US-XXX]
75
+ ├── 所属系统: Level 1 WBS 系统名称
76
+ ├── 依赖: [T{A.B.C}, ...]
77
+ ├── 验收标准: [列表]
78
+ ├── 契约承接: [公共契约列表]
79
+ ├── 预估工时: N
80
+ └── Sprint: S{N}
81
+ ```
82
+
83
+ ### 模型 4: 契约清单 (Contract Inventory)
84
+
85
+ `02_ARCHITECTURE_OVERVIEW.md`、`03_ADR/*.md`、`04_SYSTEM_DESIGN/*.md` 中提取所有公共契约:
86
+
87
+ ```
88
+ CONTRACT-001: CLI / API / 接口 / 配置 / 文件格式 / 错误语义 / 持久化结构
89
+ ├── 来源文档: Architecture / ADR / System Design
90
+ ├── 风险级别: 基础规则层 | 跨系统 | 关键路径
91
+ ├── 实现承接任务: [T{...}, ...]
92
+ ├── 验证承接任务: [T{...}, INT-S{N}, ...]
93
+ └── 关注点: [边界情况 / 错误路径 / 回归责任]
94
+ ```
95
+
96
+ ---
97
+
98
+ ## 7 大检测 Pass
99
+
100
+ ### Pass A: 重复检测 (Duplication Detection)
101
+
102
+ **目标**: 发现浪费精力或导致混乱的冗余任务。
103
+
104
+
105
+ | # | 检查项 | 如何检查 |
106
+ | --- | ---------- | ---------------------------------- |
107
+ | A1 | **近重复任务** | 比较任务标题+描述的语义相似度。标记意图重叠 >70% 的任务对。 |
108
+ | A2 | **共享验收标准** | 相同的 Given-When-Then 在多个任务中逐字或换述出现。 |
109
+ | A3 | **输出重叠** | 两个任务产出同一个文件/组件/接口。 |
110
+
111
+
112
+ **建议**: 合并重复项,或标注为"共享验收"(如确实都需要)。
113
+
114
+ ---
115
+
116
+ ### Pass B: 歧义检测 (Ambiguity Detection)
117
+
118
+ **目标**: 消除使任务不可验证的模糊语言。
119
+
120
+
121
+ | # | 检查项 | 如何检查 |
122
+ | --- | ------------- | -------------------------------------------------------------------------------------------------- |
123
+ | B1 | **模糊形容词扫描** | 标记验收标准中的这些词:正确/正常/合理/快速/稳定/安全/直观/健壮/appropriate/proper/correct/fast/stable/secure/intuitive/robust |
124
+ | B2 | **未解决占位符扫描** | 标记:`TODO`、`TBD`、`???`、`<placeholder>`、`[TBD]`、`FIXME` |
125
+ | B3 | **未量化的非功能需求** | 没有具体数字的性能/安全需求(如"快速响应"但无延迟目标) |
126
+ | B4 | **含糊代词** | 任务描述中 "它"、"这个"、"系统" 指代不明 |
127
+
128
+
129
+ **严重度规则**: B1/B3 在 P0 任务中 → HIGH;在 P2 任务中 → MEDIUM。B2 一律 → HIGH。
130
+
131
+ ---
132
+
133
+ ### Pass C: 欠详述检测 (Underspecification)
134
+
135
+ **目标**: 发现信息不足以执行的任务。
136
+
137
+
138
+ | # | 检查项 | 如何检查 |
139
+ | --- | ----------- | ------------------------------------------------------ |
140
+ | C1 | **有动词无宾语** | 验收标准有动作动词但无具体目标(如"处理错误" → 什么错误?哪个处理器?) |
141
+ | C2 | **缺失验收标准** | 任务的验收标准为零或只有 1 条模糊标准 |
142
+ | C3 | **幽灵引用** | 任务引用了 Architecture 文档中不存在的组件/接口/API |
143
+ | C4 | **缺失输入/输出** | 任务没有明确的输入或输出字段 |
144
+ | C5 | **缺失验证说明** | 任务没有说明如何验证完成 |
145
+ | C6 | **缺失验证类型** | 任务没有指定验证类型(单元测试/集成测试/E2E测试/冒烟测试/回归测试/手动验证/编译检查/Lint检查) |
146
+
147
+
148
+ **严重度规则**: C2 在 P0 任务上 → CRITICAL。C3 一律 → HIGH。C6 在 P0 任务上 → HIGH。
149
+
150
+ ---
151
+
152
+ ### Pass D: 不一致性检测 (Inconsistency) 跨文档交叉验证
153
+
154
+ > 依赖 PRD + Architecture。若不可用,跳过并注明。
155
+
156
+ **目标**: 捕捉 PRD、Architecture、ADR 和 Tasks 之间的矛盾。
157
+
158
+
159
+ | # | 检查项 | 如何检查 |
160
+ | --- | ----------- | -------------------------------------------------------------------------------- |
161
+ | D1 | **术语漂移** | 同一概念在不同文档中使用不同名称(如 PRD: "game core", Architecture: "Core Engine", Tasks: "核心引擎") |
162
+ | D2 | **孤儿架构组件** | Architecture 中定义的系统/组件在 Tasks 中没有对应任务覆盖 |
163
+ | D3 | **依赖与排期冲突** | 任务 A 依赖任务 B,但 A 被安排在比 B 更早的 Sprint |
164
+ | D4 | **技术栈冲突** | ADR 选定技术 X,但任务中使用技术 Y |
165
+ | D5 | **接口不匹配** | 任务 A 的输出格式 ≠ 任务 B 的预期输入格式(当 B 依赖 A 时) |
166
+
167
+
168
+ **严重度规则**: D3 一律 CRITICAL(执行必然失败)。D2 HIGH。D1MEDIUM。
169
+
170
+ ---
171
+
172
+ ### Pass E: 覆盖率检测 (Coverage Gaps)
173
+
174
+ **目标**: 确保没有遗漏。
175
+
176
+
177
+ | # | 检查项 | 如何检查 |
178
+ | --- | ------------------ | ------------------------------------------------ |
179
+ | E1 | **正向覆盖** | PRD 中每个 REQ-XXX → 至少 1 个 task?构建 REQ 覆盖矩阵。 |
180
+ | E2 | **反向覆盖(幽灵任务)** | 每个 task → 追溯到某个 REQ?无 REQ 追溯的任务是"幽灵任务"——可能是过度工程。 |
181
+ | E3 | **User Story 完整性** | 每个 US-XXX → 任务链覆盖其所有涉及系统?能形成独立可验证的闭环? |
182
+ | E4 | **NFR 覆盖** | 非功能需求(性能、安全、无障碍)→ 有专门任务或已融入现有任务? |
183
+ | E5 | **边界/错误覆盖** | PRD 边界情况 有对应的测试/处理任务? |
184
+
185
+
186
+ **输出**: REQ 覆盖矩阵 + US 完整性表(见 §输出格式)。
187
+
188
+ **严重度规则**: E1 P0 REQ 上缺失 CRITICAL。E2 幽灵任务 → LOW(仅信息)。E3 不完整 US → HIGH。
189
+
190
+ ---
191
+
192
+ ### Pass F: 质量与粒度检查 (Quality & Granularity)
193
+
194
+ **目标**: 确保任务大小合理、结构正确。
195
+
196
+
197
+ | # | 检查项 | 如何检查 |
198
+ | --- | -------------- | --------------------------------------------------------- |
199
+ | F1 | **过大任务** | 预估工时 > 8h → 建议拆分 |
200
+ | F2 | **过小任务** | 预估工时 < 1h → 建议与相关任务合并 |
201
+ | F3 | **深度依赖链** | 链长 > 5 → 警告瓶颈风险 |
202
+ | F4 | **孤立任务** | 无依赖方且不被依赖(孤岛)→ 确认是否有意为之 |
203
+ | F5 | **关键路径分析** | 识别最长依赖链 标出瓶颈任务 |
204
+ | F6 | **验收标准质量** | 默认检查 Given-When-Then 完整性;纯技术性基础任务允许清晰 Done When + 可执行验证方法 |
205
+ | F7 | **Sprint 均衡度** | Sprint 工作量方差 > 均值 50% 不均衡警告 |
206
+
207
+
208
+ **严重度规则**: F1 > 16h HIGH。F3 链 > 7 → HIGH。F5 仅信息 → LOW。
209
+
210
+ ---
211
+
212
+ ### Pass G: 契约覆盖检测 (Contract Coverage)
213
+
214
+ **目标**: 确保公共契约与基础单测责任没有漏口。
215
+
216
+
217
+ | # | 检查项 | 如何检查 |
218
+ | --- | ---------------- | ------------------------------------------------------------------------------------------ |
219
+ | G1 | **公共契约无实现承接** | Contract Inventory 中的公共契约在 Tasks 中找不到对应实现任务。 |
220
+ | G2 | **公共契约无验证承接** | 契约有实现任务,但没有明确验证类型/验证说明/INT 承接。 |
221
+ | G3 | **高风险契约缺错误路径验证** | API / CLI / 配置 / 文件格式等契约没有失败态、边界态验证责任。 |
222
+ | G4 | **基础逻辑缺单测承接** | registry / manifest / parser / schema / diff / merge / normalizer / planner 等基础逻辑没有单元测试承接。 |
223
+ | G5 | **契约与验证类型错配** | 明显公共契约仅给模糊手动验证或验证层级明显不足。 |
224
+ | G6 | **回归责任缺失** | 变更影响既有关键契约,但任务中无最小回归验证。 |
225
+
226
+
227
+ **严重度规则**: G1 在 P0 或核心契约上 → CRITICAL。G2/G3/G6 → HIGH。G4 共享基础逻辑缺单测 → HIGH。G5 → MEDIUM。
228
+
229
+ > [!IMPORTANT]
230
+ > **如果任务声明了 `契约承接`,但在 `04_SYSTEM_DESIGN/*.md` / ADR / Architecture 中找不到对应契约来源,应优先报告为设计证据缺口,而不是默认视作任务正确。**
231
+
232
+ ---
233
+
234
+ ## 输出格式:任务审查报告
235
+
236
+ 按以下结构生成报告:
237
+
238
+ ```markdown
239
+ ## 任务审查报告
240
+
241
+ > **审查文件**: .anws/v{N}/05_TASKS.md
242
+ > **对照文档**: 01_PRD.md, 02_ARCHITECTURE_OVERVIEW.md, 03_ADR/*, 04_SYSTEM_DESIGN/*
243
+ > **日期**: {YYYY-MM-DD}
244
+
245
+ ---
246
+
247
+ ### 检测摘要
248
+
249
+ | Pass | 检测项数 | CRITICAL | HIGH | MEDIUM | LOW |
250
+ |------|:-------:|:--------:|:----:|:------:|:---:|
251
+ | A 重复检测 | | | | | — |
252
+ | B 歧义检测 | — | — | — | — | — |
253
+ | C 欠详述检测 | | | | | |
254
+ | D 不一致性检测 | | | — | | |
255
+ | E 覆盖率检测 | — | — | — | — | — |
256
+ | F 质量粒度 | — | — | — | — | — |
257
+ | G 契约覆盖 | — | — | — | — | — |
258
+ | **合计** | **—** | **—** | **—** | **—** | **—** |
259
+
260
+ **整体健康度**: 健康 / 需关注 / 阻塞
261
+
262
+ **高信号结论**: [用 1-3 句概括最值得进入 challenge 主报告的问题]
263
+
264
+ ---
265
+
266
+ ### REQ 覆盖率
267
+
268
+ | REQ-ID | 标题 | 优先级 | 关联任务 | 状态 |
269
+ |--------|------|:------:|---------|:----:|
270
+ | REQ-001 | ... | P0 | T2.1.1, T2.1.2 | |
271
+ | REQ-003 | ... | P0 | | GAP |
272
+
273
+ **覆盖率**: {已覆盖}/{总数} ({百分比}%)
274
+
275
+ ---
276
+
277
+ ### User Story 完整性
278
+
279
+ | US-ID | 标题 | 涉及系统 | 关联任务 | 独立可测 | 状态 |
280
+ |-------|------|---------|---------|:--------:|:----:|
281
+ | US-001 | ... | core, client | T2.1.1→T7.2.1 | | |
282
+ | US-003 | ... | core, executor | T3.2.1 (不完整) | | |
283
+
284
+ ---
285
+
286
+ ### 术语一致性
287
+
288
+ | 术语 | PRD 中 | Architecture 中 | Tasks 中 | 状态 |
289
+ |------|--------|----------------|---------|:----:|
290
+ | ... | "..." | "..." | "..." | 漂移 |
291
+
292
+ ---
293
+
294
+ ### 契约覆盖率
295
+
296
+ | 契约 | 类型 | 实现承接 | 验证承接 | 状态 |
297
+ |------|------|---------|---------|:----:|
298
+ | `update --target` 显式选择语义 | CLI | T1.2.1 | T6.2.1 | |
299
+ | install-lock fallback 重建语义 | 状态/文件格式 | T4.1.1 | T6.2.1 | |
300
+ | adapter target matrix 映射 | 基础规则层 | T2.1.1 | T6.1.1 | |
301
+
302
+ **设计证据来源**: 已读取 / 未读取 `04_SYSTEM_DESIGN/`*
303
+
304
+ ---
305
+
306
+ ### 关键路径
307
+
308
+ > 最长依赖链,高亮瓶颈任务。
309
+
310
+ ```mermaid
311
+ graph LR
312
+ T1.1.1 --> T2.1.1 --> T2.1.2 --> T4.1.1:::bottleneck --> T6.1.1
313
+ classDef bottleneck fill:#f96,stroke:#333
314
+ ```
315
+
316
+ ---
317
+
318
+ ### 核心发现清单
319
+
320
+
321
+ | ID | 严重度 | Pass | 位置 | 发现 | 影响 | 建议 |
322
+ | ----- | -------- | ---- | -------------------------- | ----------------- | --------- | -------------------- |
323
+ | TR-01 | CRITICAL | E1 | REQ-003 / 05_TASKS.md §X | P0 需求无对应任务 | 核心能力无法落地 | 在对应 Sprint 增加实现与验证任务 |
324
+ | TR-02 | HIGH | B1 | T4.1.3 | 验收标准使用“正确处理”等模糊措辞 | 任务不可验证 | 量化错误码、兜底行为和验证方式 |
325
+ | TR-03 | HIGH | D1 | PRD / Architecture / Tasks | 术语漂移导致任务引用不一致 | 实施与对齐成本上升 | 按 ADR 统一术语 |
326
+
327
+
328
+ > 仅输出真正影响执行和验收的问题。低价值措辞润色不要淹没核心发现。
329
+
330
+ ---
331
+
332
+ ### Top Findings 详情(仅展开 Critical / High)
333
+
334
+ #### TR-01 [标题]
335
+
336
+ **Pass**: E1
337
+ **严重度**: CRITICAL
338
+ **位置**: [REQ-ID / Task ID / 文档章节]
339
+
340
+ **证据**:
341
+
342
+ - 需求来源: [PRD 中的 REQ / US]
343
+ - 任务映射: [哪些任务缺失 / 不完整]
344
+ - 交叉验证: [与 Architecture / ADR 的不一致点,如适用]
345
+
346
+ **影响**:
347
+
348
+ - [不修复会导致什么执行或交付问题]
349
+
350
+ **建议**:
351
+
352
+ - [最小修复方向]
353
+
354
+ ---
355
+
356
+ ### 溢出摘要(发现 > 50 条时)
357
+
358
+ {N} 条额外发现被省略。主要类别: ...
359
+
360
+ ```
361
+
362
+ ---
363
+
364
+ ## 严重度分级
365
+
366
+ | 等级 | 判定标准 | 所需行动 |
367
+ |:----:|---------|---------|
368
+ | **Critical** | 根本性矛盾或不可能实现。不解决无法继续。 | P0 — 必须在 blueprint/forge 之前修复 |
369
+ | **High** | 大概率导致返工或失败的严重风险。 | P1 — 在 forge 之前修复 |
370
+ | **Medium** | 有变通方案的质量隐患。 | P2 — 实现阶段修复 |
371
+ | **Low** | 润色项或轻微不一致。 | P3 — 后续跟踪 |
372
+
373
+ **健康度规则**: Critical ≥ 1 → 整体健康度设为 阻塞。High ≥ 5 → 需关注。其余 → 健康。
374
+
375
+ > [!NOTE]
376
+ > 输出时优先保留 Critical / High。Medium / Low 仅在确实影响执行判断或有稳定改进价值时保留。
377
+
378
+ ---
379
+
380
+ ## 审查要诀
381
+
382
+ 1. **不要过度标记**: 如果任务虽措辞不完美但意思明确,最多标 LOW。
383
+ 2. **上下文很重要**: 游戏 Tick 循环里的"快速"和批处理任务里的"快速"含义截然不同。
384
+ 3. **架构感知**: 用 `02_ARCHITECTURE_OVERVIEW.md` 的系统边界验证任务范围。
385
+ 4. **尊重 ADR**: 如果 ADR 明确选择了某个权衡并有文档记录,不要重新翻旧账。
386
+ 5. **增量价值**: 哪怕只找到 3 条 CRITICAL,审查就物有所值。完美不是目标。
387
+ ```
388
+