sdd-full 3.2.0 → 4.2.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.
- package/bin.js +63 -31
- package/package.json +1 -1
- package/skills/brainstorming/SKILL.md +164 -0
- package/skills/brainstorming/scripts/frame-template.html +214 -0
- package/skills/brainstorming/scripts/helper.js +88 -0
- package/skills/brainstorming/scripts/server.cjs +338 -0
- package/skills/brainstorming/scripts/start-server.sh +153 -0
- package/skills/brainstorming/scripts/stop-server.sh +55 -0
- package/skills/brainstorming/spec-document-reviewer-prompt.md +48 -0
- package/skills/brainstorming/visual-companion.md +286 -0
- package/skills/chinese-code-review/SKILL.md +277 -0
- package/skills/chinese-commit-conventions/SKILL.md +364 -0
- package/skills/chinese-documentation/SKILL.md +448 -0
- package/skills/chinese-git-workflow/SKILL.md +510 -0
- package/skills/design-planning/enterprise-spec/SKILL.md +3 -52
- package/skills/design-planning/flutter-av/SKILL.md +34 -44
- package/skills/design-planning/flutter-map/SKILL.md +31 -41
- package/skills/design-planning/ui-sdd-specialized/SKILL.md +40 -46
- package/skills/development-execution/flutter-errors/SKILL.md +34 -44
- package/skills/dispatching-parallel-agents/SKILL.md +182 -0
- package/skills/executing-plans/SKILL.md +175 -0
- package/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/mcp-builder/SKILL.md +255 -0
- package/skills/quality-assurance/bdd-acceptance/SKILL.md +37 -44
- package/skills/receiving-code-review/SKILL.md +213 -0
- package/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/requesting-code-review/code-reviewer.md +146 -0
- package/skills/requirement-analysis/sdd-full/SKILL.md +36 -717
- package/skills/requirement-analysis/unified-flow/SKILL.md +26 -128
- package/skills/rules/skill-map.md +97 -0
- package/skills/rules/user_rules.md +69 -223
- package/skills/special-tools/env-check/SKILL.md +34 -40
- package/skills/subagent-driven-development/SKILL.md +277 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/subagent-driven-development/implementer-prompt.md +113 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/systematic-debugging/SKILL.md +296 -0
- package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/systematic-debugging/find-polluter.sh +63 -0
- package/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/systematic-debugging/test-academic.md +14 -0
- package/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/test-driven-development/SKILL.md +371 -0
- package/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/using-git-worktrees/SKILL.md +218 -0
- package/skills/using-superpowers/SKILL.md +134 -0
- package/skills/using-superpowers/references/codex-tools.md +25 -0
- package/skills/using-superpowers/references/gemini-tools.md +33 -0
- package/skills/verification-before-completion/SKILL.md +139 -0
- package/skills/workflow-runner/SKILL.md +172 -0
- package/skills/writing-plans/SKILL.md +152 -0
- package/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/skills/writing-skills/SKILL.md +654 -0
- package/skills/writing-skills/anthropic-best-practices.md +1149 -0
- package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/writing-skills/persuasion-principles.md +187 -0
- package/skills/writing-skills/render-graphs.js +168 -0
- package/skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/README.md +0 -97
- package/skills/call-adaptation/SKILL.md +0 -23
- package/skills/call-adaptation/call-adaptation-guide.md +0 -136
- package/skills/call-adaptation/claude-code-call-spec.md +0 -50
- package/skills/call-adaptation/trae-call-spec.md +0 -56
- package/skills/checklist.md +0 -154
- package/skills/design-planning/ai-coding-rules/SKILL.md +0 -52
- package/skills/design-planning/design-to-code/SKILL.md +0 -53
- package/skills/design-planning/function-sdd/SKILL.md +0 -54
- package/skills/design-planning/sdd-code/SKILL.md +0 -347
- package/skills/design-planning/sdd-deploy/SKILL.md +0 -501
- package/skills/design-planning/sdd-ops/SKILL.md +0 -306
- package/skills/design-planning/sdd-test/SKILL.md +0 -383
- package/skills/design-planning/ui-sdd/SKILL.md +0 -291
- package/skills/design-planning/writing-plans/SKILL.md +0 -144
- package/skills/development-execution/sdd-add/SKILL.md +0 -540
- package/skills/development-execution/systematic-debugging/SKILL.md +0 -298
- package/skills/development-execution/test-driven-development/SKILL.md +0 -373
- package/skills/development-execution/verification-before-completion/SKILL.md +0 -141
- package/skills/knowledge-precipitation/claudeception/SKILL.md +0 -96
- package/skills/knowledge-precipitation/mempalace-auto-saver/SKILL.md +0 -302
- package/skills/quality-assurance/flutter-test/SKILL.md +0 -56
- package/skills/quality-assurance/quality-gate/SKILL.md +0 -350
- package/skills/quality-assurance/security-audit/SKILL.md +0 -386
- package/skills/release-ops/finishing-a-development-branch/SKILL.md +0 -202
- package/skills/release-ops/release-flow/SKILL.md +0 -404
- package/skills/requirement-analysis/brainstorming/SKILL.md +0 -166
- package/skills/requirement-analysis/competitive-brief/SKILL.md +0 -121
- package/skills/requirement-analysis/market-research/SKILL.md +0 -143
- package/skills/requirement-analysis/prd-write/SKILL.md +0 -111
- package/skills/requirement-analysis/requirement-completion-officer/SKILL.md +0 -124
- package/skills/requirement-analysis/sdd/SKILL.md +0 -1044
- package/skills/rules/project_rules.md +0 -167
- package/skills/sdd-framework/SKILL.md +0 -90
- package/skills/special-tools/receiving-code-review/SKILL.md +0 -215
- package/skills/special-tools/requesting-code-review/SKILL.md +0 -107
- package/skills/special-tools/using-superpowers/SKILL.md +0 -117
- package/skills/templates/API-SDD.md +0 -31
- package/skills/templates/Andrej Karpathy AI/347/274/226/347/240/201/350/247/204/345/210/231/350/220/275/345/234/260SDD.md" +0 -117
- package/skills/templates/BDD/351/243/216/346/240/274/351/252/214/346/224/266/346/240/207/345/207/206SDD.md +0 -147
- package/skills/templates/Base-SDD.md +0 -38
- package/skills/templates/Brain-SDD.md +0 -36
- package/skills/templates/Code-SDD.md +0 -41
- package/skills/templates/Competitor-SDD.md +0 -34
- package/skills/templates/Env-SDD.md +0 -37
- package/skills/templates/Flutter/345/205/250/347/261/273/345/236/213/346/265/213/350/257/225/347/255/226/347/225/245SDD.md +0 -162
- package/skills/templates/Flutter/345/234/260/345/233/276/345/257/274/350/210/252/344/270/232/345/212/241SDD.md +0 -136
- package/skills/templates/Flutter/345/270/270/350/247/201/345/274/202/345/270/270/344/270/223/351/241/271SDD.md +0 -159
- package/skills/templates/Flutter/351/237/263/350/247/206/351/242/221/345/205/250/346/240/210SDD.md +0 -121
- package/skills/templates/PRD-SDD.md +0 -45
- package/skills/templates/SKILL.md +0 -29
- package/skills/templates/Test-SDD.md +0 -34
- package/skills/templates/UI-SDD.md +0 -38
- package/skills/templates/UI-SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +0 -141
- package/skills/templates/UI/350/265/204/346/272/220/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220SDD.md +0 -67
- package/skills/templates//344/274/201/344/270/232/347/272/247/345/205/250/346/240/210/345/267/245/347/250/213/350/247/204/350/214/203SDD.md +0 -152
- package/skills/templates//345/212/237/350/203/275SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +0 -132
- package/skills/templates//347/216/257/345/242/203/351/242/204/346/243/200/346/240/207/345/207/206/345/214/226SDD.md +0 -153
- package/skills/templates//351/253/230/344/277/235/347/234/237/350/256/276/350/256/241/350/275/254/344/273/243/347/240/201SDD.md +0 -119
- package/skills//345/256/214/346/225/264/345/274/200/345/217/221/346/265/201/347/250/213/346/211/213/345/206/214.md +0 -408
- package/skills//346/212/200/350/203/275/344/275/223/347/263/273/345/256/214/345/226/204/345/273/272/350/256/256.md +0 -305
- package/skills//346/212/200/350/203/275/344/275/277/347/224/250/346/214/207/345/215/227.md +0 -265
- package/skills//346/212/200/350/203/275/345/206/263/347/255/226/346/240/221.md +0 -294
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: receiving-code-review
|
|
3
|
+
description: 收到代码审查反馈后、实施建议之前使用,尤其当反馈不明确或技术上有疑问时——需要技术严谨性和验证,而非敷衍附和或盲目执行
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 接收代码审查
|
|
7
|
+
|
|
8
|
+
## 概述
|
|
9
|
+
|
|
10
|
+
代码审查需要的是技术评估,不是情绪表演。
|
|
11
|
+
|
|
12
|
+
**核心原则:** 先验证再实施。先提问再假设。技术正确性优先于社交舒适度。
|
|
13
|
+
|
|
14
|
+
## 响应模式
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
收到代码审查反馈时:
|
|
18
|
+
|
|
19
|
+
1. 阅读:完整阅读反馈,不急于反应
|
|
20
|
+
2. 理解:用自己的话复述需求(或提问)
|
|
21
|
+
3. 验证:对照代码库的实际情况检查
|
|
22
|
+
4. 评估:对这个代码库来说技术上合理吗?
|
|
23
|
+
5. 回应:技术性确认或有理有据的反驳
|
|
24
|
+
6. 实施:一次一项,逐个测试
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 禁止的回应
|
|
28
|
+
|
|
29
|
+
**绝不要说:**
|
|
30
|
+
- "你说得太对了!"(明确违反 CLAUDE.md 规定)
|
|
31
|
+
- "好观点!"/"反馈很棒!"(敷衍表演)
|
|
32
|
+
- "让我立刻实施"(在验证之前)
|
|
33
|
+
|
|
34
|
+
**应该这样做:**
|
|
35
|
+
- 复述技术需求
|
|
36
|
+
- 提出澄清性问题
|
|
37
|
+
- 如果审查意见有误,用技术理由反驳
|
|
38
|
+
- 直接动手做(行动胜于言辞)
|
|
39
|
+
|
|
40
|
+
## 处理不明确的反馈
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
如果有任何一项不明确:
|
|
44
|
+
停下来——先不要实施任何内容
|
|
45
|
+
就不明确的项目提出澄清
|
|
46
|
+
|
|
47
|
+
为什么:各项之间可能有关联。部分理解 = 错误实施。
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**示例:**
|
|
51
|
+
```
|
|
52
|
+
搭档:"修复第 1-6 项"
|
|
53
|
+
你理解 1、2、3、6。对 4、5 不确定。
|
|
54
|
+
|
|
55
|
+
❌ 错误做法:先实施 1、2、3、6,稍后再问 4、5
|
|
56
|
+
✅ 正确做法:"第 1、2、3、6 项我理解了。第 4 和第 5 项需要澄清后再动手。"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 按来源区别处理
|
|
60
|
+
|
|
61
|
+
### 来自搭档的反馈
|
|
62
|
+
- **可信赖** —— 理解后直接实施
|
|
63
|
+
- **仍然要问** 如果范围不明确
|
|
64
|
+
- **不要敷衍附和**
|
|
65
|
+
- **直接行动** 或给出技术性确认
|
|
66
|
+
|
|
67
|
+
### 来自外部审查者的反馈
|
|
68
|
+
```
|
|
69
|
+
实施之前:
|
|
70
|
+
1. 检查:对这个代码库来说技术上正确吗?
|
|
71
|
+
2. 检查:是否会破坏现有功能?
|
|
72
|
+
3. 检查:当前实现这样写是否有原因?
|
|
73
|
+
4. 检查:在所有平台/版本上都适用吗?
|
|
74
|
+
5. 检查:审查者了解完整上下文吗?
|
|
75
|
+
|
|
76
|
+
如果建议似乎有误:
|
|
77
|
+
用技术理由反驳
|
|
78
|
+
|
|
79
|
+
如果无法轻易验证:
|
|
80
|
+
说明情况:"没有 [X] 我无法验证这一点。我应该 [调查/提问/先做]?"
|
|
81
|
+
|
|
82
|
+
如果与搭档之前的决策冲突:
|
|
83
|
+
先停下来和搭档讨论
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**搭档的原则:** "对外部反馈要持怀疑态度,但要仔细核实"
|
|
87
|
+
|
|
88
|
+
## YAGNI 检查——针对"专业化"功能建议
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
如果审查者建议"正规地实现":
|
|
92
|
+
在代码库中 grep 实际使用情况
|
|
93
|
+
|
|
94
|
+
如果没人用:"这个接口没有被调用。删掉它(YAGNI)?"
|
|
95
|
+
如果有人用:那就正规实现
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**搭档的原则:** "你和审查者都对我负责。如果我们不需要这个功能,就不要加。"
|
|
99
|
+
|
|
100
|
+
## 实施顺序
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
对于包含多项的反馈:
|
|
104
|
+
1. 先澄清所有不明确的项
|
|
105
|
+
2. 然后按以下顺序实施:
|
|
106
|
+
- 阻塞性问题(崩溃、安全)
|
|
107
|
+
- 简单修复(拼写、导入)
|
|
108
|
+
- 复杂修复(重构、逻辑)
|
|
109
|
+
3. 逐个测试每项修复
|
|
110
|
+
4. 验证没有回归
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## 何时反驳
|
|
114
|
+
|
|
115
|
+
在以下情况反驳:
|
|
116
|
+
- 建议会破坏现有功能
|
|
117
|
+
- 审查者缺少完整上下文
|
|
118
|
+
- 违反 YAGNI(功能没人用)
|
|
119
|
+
- 对当前技术栈来说技术上不正确
|
|
120
|
+
- 存在遗留/兼容性原因
|
|
121
|
+
- 与搭档的架构决策冲突
|
|
122
|
+
|
|
123
|
+
**如何反驳:**
|
|
124
|
+
- 用技术理由,不要带防御情绪
|
|
125
|
+
- 提出具体问题
|
|
126
|
+
- 引用可正常工作的测试/代码
|
|
127
|
+
- 如果涉及架构问题,让搭档参与
|
|
128
|
+
|
|
129
|
+
**如果觉得不方便当众反驳,暗号是:** "Strange things are afoot at the Circle K"
|
|
130
|
+
|
|
131
|
+
## 确认正确的反馈
|
|
132
|
+
|
|
133
|
+
当反馈确实正确时:
|
|
134
|
+
```
|
|
135
|
+
✅ "已修复。[简要说明改了什么]"
|
|
136
|
+
✅ "发现得好——[具体问题]。已在 [位置] 修复。"
|
|
137
|
+
✅ [直接修复并在代码中体现]
|
|
138
|
+
|
|
139
|
+
❌ "你说得太对了!"
|
|
140
|
+
❌ "好观点!"
|
|
141
|
+
❌ "感谢你发现了这个!"
|
|
142
|
+
❌ "感谢你 [任何内容]"
|
|
143
|
+
❌ 任何感谢的表达
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**为什么不用感谢:** 行动说明一切。直接修复。代码本身就能表明你收到了反馈。
|
|
147
|
+
|
|
148
|
+
**如果你发现自己要写"感谢":** 删掉它。直接说明修复内容。
|
|
149
|
+
|
|
150
|
+
## 优雅地纠正自己的反驳
|
|
151
|
+
|
|
152
|
+
如果你反驳了但事后发现自己错了:
|
|
153
|
+
```
|
|
154
|
+
✅ "你是对的——我检查了 [X],确实 [Y]。正在实施。"
|
|
155
|
+
✅ "验证后确认你是对的。我最初的理解有误,因为 [原因]。正在修复。"
|
|
156
|
+
|
|
157
|
+
❌ 长篇道歉
|
|
158
|
+
❌ 为自己的反驳辩护
|
|
159
|
+
❌ 过度解释
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
如实陈述纠正,然后继续。
|
|
163
|
+
|
|
164
|
+
## 常见错误
|
|
165
|
+
|
|
166
|
+
| 错误 | 修正 |
|
|
167
|
+
|------|------|
|
|
168
|
+
| 敷衍附和 | 复述需求或直接行动 |
|
|
169
|
+
| 盲目实施 | 先对照代码库验证 |
|
|
170
|
+
| 批量实施不测试 | 一次一项,逐个测试 |
|
|
171
|
+
| 假设审查者一定对 | 检查是否会破坏现有功能 |
|
|
172
|
+
| 回避反驳 | 技术正确性 > 社交舒适度 |
|
|
173
|
+
| 部分理解就开始实施 | 先澄清所有项 |
|
|
174
|
+
| 无法验证却继续推进 | 说明限制,请求指导 |
|
|
175
|
+
|
|
176
|
+
## 真实案例
|
|
177
|
+
|
|
178
|
+
**敷衍附和(反面例子):**
|
|
179
|
+
```
|
|
180
|
+
审查者:"删除遗留代码"
|
|
181
|
+
❌ "你说得太对了!让我删掉它……"
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**技术验证(正面例子):**
|
|
185
|
+
```
|
|
186
|
+
审查者:"删除遗留代码"
|
|
187
|
+
✅ "查了一下……构建目标是 10.15+,这个 API 需要 13+。向后兼容需要保留遗留代码。当前实现有错误的 bundle ID——修复它还是放弃 pre-13 支持?"
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**YAGNI(正面例子):**
|
|
191
|
+
```
|
|
192
|
+
审查者:"实现完善的指标追踪,包括数据库、日期过滤、CSV 导出"
|
|
193
|
+
✅ "在代码库中 grep 了一下——没有任何地方调用这个接口。删掉它(YAGNI)?还是有我遗漏的调用?"
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**不明确的项(正面例子):**
|
|
197
|
+
```
|
|
198
|
+
搭档:"修复第 1-6 项"
|
|
199
|
+
你理解 1、2、3、6。对 4、5 不确定。
|
|
200
|
+
✅ "第 1、2、3、6 项我理解了。第 4 和第 5 项需要澄清后再动手。"
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## GitHub 评论回复
|
|
204
|
+
|
|
205
|
+
在 GitHub 上回复行内审查评论时,在评论线程中回复(`gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies`),不要发顶层 PR 评论。
|
|
206
|
+
|
|
207
|
+
## 底线
|
|
208
|
+
|
|
209
|
+
**外部反馈 = 待评估的建议,不是必须执行的命令。**
|
|
210
|
+
|
|
211
|
+
验证。质疑。然后实施。
|
|
212
|
+
|
|
213
|
+
不要敷衍附和。始终保持技术严谨。
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: requesting-code-review
|
|
3
|
+
description: 完成任务、实现重要功能或合并前使用,用于验证工作成果是否符合要求
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 请求代码审查
|
|
7
|
+
|
|
8
|
+
派遣 superpowers:code-reviewer 子代理来在问题扩散之前发现它们。审查者获得的是精心组织的评估上下文——绝不是你的会话历史。这样可以让审查者专注于工作成果而非你的思考过程,同时保留你自己的上下文以便继续工作。
|
|
9
|
+
|
|
10
|
+
**核心原则:** 早审查,勤审查。
|
|
11
|
+
|
|
12
|
+
## 何时请求审查
|
|
13
|
+
|
|
14
|
+
**必须审查:**
|
|
15
|
+
- 子代理驱动开发中每个任务完成后
|
|
16
|
+
- 完成重要功能后
|
|
17
|
+
- 合并到 main 之前
|
|
18
|
+
|
|
19
|
+
**可选但有价值:**
|
|
20
|
+
- 卡住时(换个视角)
|
|
21
|
+
- 重构之前(建立基线)
|
|
22
|
+
- 修复复杂 bug 之后
|
|
23
|
+
|
|
24
|
+
## 如何请求
|
|
25
|
+
|
|
26
|
+
**1. 获取 git SHA:**
|
|
27
|
+
```bash
|
|
28
|
+
BASE_SHA=$(git rev-parse HEAD~1) # 或 origin/main
|
|
29
|
+
HEAD_SHA=$(git rev-parse HEAD)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**2. 派遣 code-reviewer 子代理:**
|
|
33
|
+
|
|
34
|
+
使用 Task 工具,指定 superpowers:code-reviewer 类型,填写 `code-reviewer.md` 中的模板
|
|
35
|
+
|
|
36
|
+
**占位符说明:**
|
|
37
|
+
- `{WHAT_WAS_IMPLEMENTED}` - 你刚完成的内容
|
|
38
|
+
- `{PLAN_OR_REQUIREMENTS}` - 预期功能
|
|
39
|
+
- `{BASE_SHA}` - 起始提交
|
|
40
|
+
- `{HEAD_SHA}` - 结束提交
|
|
41
|
+
- `{DESCRIPTION}` - 简要说明
|
|
42
|
+
|
|
43
|
+
**3. 处理反馈:**
|
|
44
|
+
- Critical 问题立即修复
|
|
45
|
+
- Important 问题在继续之前修复
|
|
46
|
+
- Minor 问题记录下来稍后处理
|
|
47
|
+
- 如果审查者有误,用技术理由反驳
|
|
48
|
+
|
|
49
|
+
## 示例
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
[刚完成任务 2:添加验证功能]
|
|
53
|
+
|
|
54
|
+
你:让我在继续之前请求代码审查。
|
|
55
|
+
|
|
56
|
+
BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
|
|
57
|
+
HEAD_SHA=$(git rev-parse HEAD)
|
|
58
|
+
|
|
59
|
+
[派遣 superpowers:code-reviewer 子代理]
|
|
60
|
+
WHAT_WAS_IMPLEMENTED: 会话索引的验证和修复功能
|
|
61
|
+
PLAN_OR_REQUIREMENTS: docs/superpowers/plans/deployment-plan.md 中的任务 2
|
|
62
|
+
BASE_SHA: a7981ec
|
|
63
|
+
HEAD_SHA: 3df7661
|
|
64
|
+
DESCRIPTION: 添加了 verifyIndex() 和 repairIndex(),支持 4 种问题类型
|
|
65
|
+
|
|
66
|
+
[子代理返回]:
|
|
67
|
+
优点:架构清晰,测试真实
|
|
68
|
+
问题:
|
|
69
|
+
Important:缺少进度指示器
|
|
70
|
+
Minor:报告间隔使用了魔法数字 (100)
|
|
71
|
+
评估:可以继续
|
|
72
|
+
|
|
73
|
+
你:[修复进度指示器]
|
|
74
|
+
[继续任务 3]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 与工作流的集成
|
|
78
|
+
|
|
79
|
+
**子代理驱动开发:**
|
|
80
|
+
- 每个任务完成后审查
|
|
81
|
+
- 在问题叠加之前发现它们
|
|
82
|
+
- 修复后再进入下一个任务
|
|
83
|
+
|
|
84
|
+
**执行计划:**
|
|
85
|
+
- 每批(3 个任务)后审查
|
|
86
|
+
- 获取反馈,修复,继续
|
|
87
|
+
|
|
88
|
+
**临时开发:**
|
|
89
|
+
- 合并前审查
|
|
90
|
+
- 卡住时审查
|
|
91
|
+
|
|
92
|
+
## 红线
|
|
93
|
+
|
|
94
|
+
**绝不要:**
|
|
95
|
+
- 因为"很简单"就跳过审查
|
|
96
|
+
- 忽略 Critical 问题
|
|
97
|
+
- 带着未修复的 Important 问题继续推进
|
|
98
|
+
- 对合理的技术反馈进行争辩
|
|
99
|
+
|
|
100
|
+
**如果审查者有误:**
|
|
101
|
+
- 用技术理由反驳
|
|
102
|
+
- 展示证明其可行的代码/测试
|
|
103
|
+
- 要求澄清
|
|
104
|
+
|
|
105
|
+
参见模板:requesting-code-review/code-reviewer.md
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# 代码审查代理
|
|
2
|
+
|
|
3
|
+
你正在审查代码变更的生产就绪程度。
|
|
4
|
+
|
|
5
|
+
**你的任务:**
|
|
6
|
+
1. 审查 {WHAT_WAS_IMPLEMENTED}
|
|
7
|
+
2. 对照 {PLAN_OR_REQUIREMENTS} 进行比较
|
|
8
|
+
3. 检查代码质量、架构、测试
|
|
9
|
+
4. 按严重程度分类问题
|
|
10
|
+
5. 评估生产就绪程度
|
|
11
|
+
|
|
12
|
+
## 实现内容
|
|
13
|
+
|
|
14
|
+
{DESCRIPTION}
|
|
15
|
+
|
|
16
|
+
## 需求/计划
|
|
17
|
+
|
|
18
|
+
{PLAN_REFERENCE}
|
|
19
|
+
|
|
20
|
+
## 待审查的 Git 范围
|
|
21
|
+
|
|
22
|
+
**Base:** {BASE_SHA}
|
|
23
|
+
**Head:** {HEAD_SHA}
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
git diff --stat {BASE_SHA}..{HEAD_SHA}
|
|
27
|
+
git diff {BASE_SHA}..{HEAD_SHA}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 审查清单
|
|
31
|
+
|
|
32
|
+
**代码质量:**
|
|
33
|
+
- 关注点分离是否清晰?
|
|
34
|
+
- 错误处理是否恰当?
|
|
35
|
+
- 类型安全(如适用)?
|
|
36
|
+
- 是否遵循 DRY 原则?
|
|
37
|
+
- 边界情况是否已处理?
|
|
38
|
+
|
|
39
|
+
**架构:**
|
|
40
|
+
- 设计决策是否合理?
|
|
41
|
+
- 是否考虑了可扩展性?
|
|
42
|
+
- 性能影响如何?
|
|
43
|
+
- 安全方面有无隐患?
|
|
44
|
+
|
|
45
|
+
**测试:**
|
|
46
|
+
- 测试是否真正测试了逻辑(而不只是 mock)?
|
|
47
|
+
- 边界情况是否覆盖?
|
|
48
|
+
- 需要的地方是否有集成测试?
|
|
49
|
+
- 所有测试是否通过?
|
|
50
|
+
|
|
51
|
+
**需求:**
|
|
52
|
+
- 是否满足了计划中的所有需求?
|
|
53
|
+
- 实现是否与规格一致?
|
|
54
|
+
- 有无范围蔓延?
|
|
55
|
+
- 破坏性变更是否已记录?
|
|
56
|
+
|
|
57
|
+
**生产就绪:**
|
|
58
|
+
- 迁移策略(如有 schema 变更)?
|
|
59
|
+
- 是否考虑了向后兼容性?
|
|
60
|
+
- 文档是否完备?
|
|
61
|
+
- 有无明显 bug?
|
|
62
|
+
|
|
63
|
+
## 输出格式
|
|
64
|
+
|
|
65
|
+
### 优点
|
|
66
|
+
[做得好的地方?要具体。]
|
|
67
|
+
|
|
68
|
+
### 问题
|
|
69
|
+
|
|
70
|
+
#### Critical(必须修复)
|
|
71
|
+
[Bug、安全问题、数据丢失风险、功能异常]
|
|
72
|
+
|
|
73
|
+
#### Important(应该修复)
|
|
74
|
+
[架构问题、缺失功能、错误处理不足、测试缺口]
|
|
75
|
+
|
|
76
|
+
#### Minor(可以改进)
|
|
77
|
+
[代码风格、优化机会、文档改进]
|
|
78
|
+
|
|
79
|
+
**每个问题需包含:**
|
|
80
|
+
- 文件:行号引用
|
|
81
|
+
- 什么有问题
|
|
82
|
+
- 为什么重要
|
|
83
|
+
- 如何修复(如果不明显的话)
|
|
84
|
+
|
|
85
|
+
### 建议
|
|
86
|
+
[对代码质量、架构或流程的改进建议]
|
|
87
|
+
|
|
88
|
+
### 评估
|
|
89
|
+
|
|
90
|
+
**可以合并吗?** [是/否/修复后可以]
|
|
91
|
+
|
|
92
|
+
**理由:** [1-2 句话的技术评估]
|
|
93
|
+
|
|
94
|
+
## 关键规则
|
|
95
|
+
|
|
96
|
+
**应该做的:**
|
|
97
|
+
- 按实际严重程度分类(不是所有问题都是 Critical)
|
|
98
|
+
- 要具体(文件:行号,不要含糊)
|
|
99
|
+
- 解释问题为什么重要
|
|
100
|
+
- 肯定做得好的地方
|
|
101
|
+
- 给出明确结论
|
|
102
|
+
|
|
103
|
+
**不该做的:**
|
|
104
|
+
- 没仔细看就说"看起来不错"
|
|
105
|
+
- 把小问题标为 Critical
|
|
106
|
+
- 对没有审查的代码给反馈
|
|
107
|
+
- 含糊其辞("改善错误处理")
|
|
108
|
+
- 回避给出明确结论
|
|
109
|
+
|
|
110
|
+
## 输出示例
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
### 优点
|
|
114
|
+
- 数据库 schema 清晰,迁移规范(db.ts:15-42)
|
|
115
|
+
- 测试覆盖全面(18 个测试,覆盖所有边界情况)
|
|
116
|
+
- 错误处理良好,有降级方案(summarizer.ts:85-92)
|
|
117
|
+
|
|
118
|
+
### 问题
|
|
119
|
+
|
|
120
|
+
#### Important
|
|
121
|
+
1. **CLI 包装器缺少帮助文本**
|
|
122
|
+
- 文件:index-conversations:1-31
|
|
123
|
+
- 问题:没有 --help 选项,用户无法发现 --concurrency
|
|
124
|
+
- 修复:添加 --help 分支,附带使用示例
|
|
125
|
+
|
|
126
|
+
2. **日期校验缺失**
|
|
127
|
+
- 文件:search.ts:25-27
|
|
128
|
+
- 问题:无效日期静默返回空结果
|
|
129
|
+
- 修复:校验 ISO 格式,抛出带示例的错误
|
|
130
|
+
|
|
131
|
+
#### Minor
|
|
132
|
+
1. **进度指示器**
|
|
133
|
+
- 文件:indexer.ts:130
|
|
134
|
+
- 问题:长时间操作没有"X / Y"计数器
|
|
135
|
+
- 影响:用户不知道还要等多久
|
|
136
|
+
|
|
137
|
+
### 建议
|
|
138
|
+
- 添加进度报告以改善用户体验
|
|
139
|
+
- 考虑用配置文件管理排除的项目(提高可移植性)
|
|
140
|
+
|
|
141
|
+
### 评估
|
|
142
|
+
|
|
143
|
+
**可以合并:修复后可以**
|
|
144
|
+
|
|
145
|
+
**理由:** 核心实现扎实,架构合理,测试充分。Important 问题(帮助文本、日期校验)容易修复,不影响核心功能。
|
|
146
|
+
```
|