- req-retro: 新增 karpathy_score × 0.20 维度,QS 公式扩展为 5 维 - req-test-gate: Gate 0B 新增 check-surgical.sh Ratchet 文档 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
181 lines
5.4 KiB
Markdown
181 lines
5.4 KiB
Markdown
---
|
||
name: req-retro
|
||
description: 复盘总结。自动采集数据、计算质量评分、跨需求模式识别、技能自动进化。可独立调用或由 /req done 自动触发。
|
||
---
|
||
|
||
# 复盘总结 (retro)
|
||
|
||
自动采集需求全生命周期数据,计算质量评分,识别跨需求模式,沉淀经验。
|
||
|
||
## 执行流程
|
||
|
||
### 1. 数据采集
|
||
|
||
| 数据 | 来源 | 方式 |
|
||
|------|------|------|
|
||
| 各阶段时间 | ai-proj | `mcp__ai-proj__get_requirement_history` |
|
||
| 任务完成情况 | ai-proj | `mcp__ai-proj__get_requirement_tasks` |
|
||
| CR 发现数 | CR 任务文档 | 从【代码评审】任务文档中提取缺陷计数 |
|
||
| 测试结果 | test 任务文档 | 从【测试】任务文档中提取通过/失败数 |
|
||
| audit 缺陷数 | 本次 audit 结果 | 从 audit 报告中提取 |
|
||
| git 统计 | git | `git log --stat` 提交数、变更行数 |
|
||
|
||
### 2. 质量评分(Quality Score)
|
||
|
||
```
|
||
QS = lookback_pass_rate × 0.25
|
||
+ audit_defect_score × 0.25
|
||
+ cr_density_score × 0.15
|
||
+ test_pass_rate × 0.15
|
||
+ karpathy_score × 0.20 ← Karpathy 四原则执行质量
|
||
|
||
audit_defect_score:
|
||
0 缺陷 = 100
|
||
每个低级 -5
|
||
每个中级 -20
|
||
每个高级 -60
|
||
致命 = 0
|
||
|
||
cr_density_score:
|
||
100 - (发现数 / 变更行数 × 1000)
|
||
下限 0,上限 100
|
||
|
||
karpathy_score(四原则执行质量,各 25 分,共 100):
|
||
Think Before PRD (25):
|
||
PRD 无返工 → 25 | 因需求误解返工 1 次 → 15 | ≥2 次 → 0
|
||
Simplicity (25):
|
||
CR 第六视角无 Scope 违规 → 25 | 1 个 Low → 20 | ≥1 个 Medium+ → 10 | High+ → 0
|
||
Surgical (25):
|
||
check-surgical.sh PASS + CR 无顺手改 → 25 | 警告但未阻塞 → 15 | FAIL → 0
|
||
Goal-Driven (25):
|
||
dev-coding 有验证脚本记录(VP-Steps 先于代码执行)→ 25 | 事后补写 → 15 | 无 → 0
|
||
```
|
||
|
||
**Karpathy 数据来源**(按优先级):
|
||
1. dev-coding 任务文档中是否有「验证脚本」节
|
||
2. CR 报告第六视角的发现数和严重度
|
||
3. `git log` 中是否有 check-surgical.sh baseline 更新提交(说明有过违规)
|
||
4. PRD 任务文档的版本数(> 1 说明有返工)
|
||
|
||
**无数据时**:各维度默认 20 分(中性),在报告中标注 `(无记录,按中性计算)`
|
||
|
||
### 3. 历史趋势对比
|
||
|
||
读取 `memory/retro_metrics.md` 的明细数据:
|
||
|
||
```
|
||
本次 vs 近 10 次平均:
|
||
总耗时: 5h 44min vs avg 8h 12min (↓ 30% 改善)
|
||
质量分: 92 vs avg 85 (↑ 8% 提升)
|
||
缺陷数: 2 vs avg 3.2 (↓ 37% 改善)
|
||
变更行: 279 vs avg 450 (↓ 38%)
|
||
```
|
||
|
||
首次执行时显示:"首次复盘,无历史数据可对比。"
|
||
|
||
### 4. 跨需求模式识别
|
||
|
||
读取 retro_metrics.md 全部明细,AI 分析三类模式:
|
||
|
||
**耗时模式**:
|
||
- 按需求类型(前端/后端/混合/技能)分组统计平均耗时
|
||
- 识别异常:某次耗时是同类平均的 2 倍以上 → 标注原因
|
||
|
||
**缺陷热区**:
|
||
- 统计各文件在多次需求中的 audit 发现频率
|
||
- 同一文件 3 次以上出现 → 标记为热区
|
||
|
||
**改进验证**:
|
||
- 对比引入某流程/技能前后的质量分趋势
|
||
- 例:"引入 defect-analysis 后 5 次需求平均质量分从 72 → 88"
|
||
|
||
### 5. 自动更新技能
|
||
|
||
当模式识别发现高频缺陷类型时:
|
||
|
||
```
|
||
AI: "近 5 次需求中 3 次 audit 发现了 {缺陷类型}。
|
||
建议在 dev-review 的 CR 检查清单中增加:'{新检查项}'。"
|
||
|
||
用户确认?(y/n)
|
||
```
|
||
|
||
用户确认 → 自动在 `~/.claude/skills/dev-review/SKILL.md` 检查清单末尾追加该检查项。
|
||
|
||
### 6. 更新 retro_metrics.md
|
||
|
||
追加一行到明细:
|
||
```
|
||
| REQ-xxx | 2026-04-18 | 5h44m | 92 | 2 | 279 | 3 | frontend | 85 |
|
||
```
|
||
|
||
列说明:`REQ | date | time | QS | audit_defects | changed_lines | cr_findings | type | karpathy_score`
|
||
|
||
更新汇总:重新计算近 10 次平均值和趋势箭头(↑↓→),包含 karpathy_score 趋势。
|
||
|
||
超过 30 条明细 → 最早的移入 `retro_metrics_archive.md`。
|
||
|
||
### 7. 生成文档
|
||
|
||
输出 `04-生命周期总结.md`,附加到【复盘】任务:
|
||
|
||
```markdown
|
||
# 生命周期总结 - REQ-xxx
|
||
|
||
## 质量评分: 92/100
|
||
|
||
## 时间线
|
||
| 阶段 | 进入时间 | 耗时 |
|
||
|------|---------|------|
|
||
| 创建 | 04-18 11:14 | - |
|
||
| PRD | 04-18 11:18 | 4min |
|
||
| 评审 | 04-18 11:19 | 1min |
|
||
| 开发 | 04-18 12:00 | 41min |
|
||
| 部署 | 04-18 16:58 | 4h58min |
|
||
| 总耗时 | | 5h 44min |
|
||
|
||
## 质量指标
|
||
| 指标 | 本次 | 近10次均 | 对比 |
|
||
|------|------|---------|------|
|
||
| 质量分 (QS) | 92 | 85 | ↑ |
|
||
| audit 缺陷 | 2(低) | 3.2 | ↓ |
|
||
| CR 发现 | 0 | 1.5 | ↓ |
|
||
| 测试通过率 | 100% | 95% | ↑ |
|
||
| Karpathy 分 | 85 | 78 | ↑ |
|
||
|
||
## Karpathy 四原则评分
|
||
| 原则 | 得分 | 说明 |
|
||
|------|------|------|
|
||
| Think Before PRD | 25/25 | PRD 无返工 |
|
||
| Simplicity | 20/25 | CR 第六视角发现 1 个 Low |
|
||
| Surgical | 25/25 | check-surgical.sh PASS |
|
||
| Goal-Driven | 15/25 | 验证脚本为事后补写 |
|
||
|
||
## git 统计
|
||
| 提交数 | 变更文件 | +行 | -行 |
|
||
|--------|---------|-----|-----|
|
||
| 3 | 1 | 279 | 2 |
|
||
|
||
## 模式识别
|
||
- {耗时/热区/改进 分析结果}
|
||
|
||
## 经验教训(写入 memory)
|
||
- {AI 提取的非显然教训}
|
||
|
||
## 技能更新
|
||
- {已更新/无更新}
|
||
```
|
||
|
||
### 8. 写入 memory
|
||
|
||
将有价值的经验写入 memory:
|
||
- 类型:`feedback` 或 `project`
|
||
- 只写非显然的、可指导未来工作的教训
|
||
- 用户确认后写入
|
||
|
||
## 任务关联
|
||
|
||
- linkRole: `documentation`
|
||
- 任务标题: `【复盘】生命周期总结: {需求标题}`
|
||
- 04-生命周期总结.md 附加到任务文档
|