---
name: 04-review
description: "代码质量、Spec 规格与安全性审查。检查 Git 变更，核对需求契约，验证完整测试套件，执行自动修复循环。"
---

# 04-review: 代码质量与规格审查

在编码实现完成（`03-work` 完成）后，使用本技能对所有变更进行严谨的质量把关与回归验证。

## ⚠️ 核心审查原则：结合代码完整上下文（严禁仅看 diff 差异切片）

1. **Diff 锁定改动范围**：首先通过 `git diff` 识别所有发生增删改的代码行与受影响的文件清单。
2. **Read/Grep 深入上下文**：对每一个变动点，**绝对严禁仅凭局部 diff 片段断章取义**。必须使用 `read` / `grep` 查阅变动位置所在的完整函数实现、类定义、调用方前置守卫与全局数据流。
3. **结合全貌精准判定**：
   - 核实上游调用方是否已有前置校验与守卫拦截，避免误报“缺少安全防范”。
   - 核实调用频次与数据规模，避免把仅执行一次的冷路径误判为“性能瓶颈”。
   - 确认变更在全局执行流中确有逻辑缺陷或性能风险后，方可提出缺陷。

## 审查五大维度

1. **Spec 规格一致性**：
   - 核对 `docs/brainstorms/` 与 `docs/plans/`。
   - 检查是否完成了所有承诺功能，且没有私自添加未经确认的越权逻辑。
2. **代码质量与极简度**：
   - 命名是否清晰表达意图，有无重复代码（DRY）。
   - 是否滥用非必要的外部依赖或过度抽象。
3. **架构与模块边界**：
   - 依赖方向是否健康，是否破坏了现有模块的封装。
4. **安全与健壮性**：
   - 边界值（空值、异常路径、资源释放）是否妥善处理。
5. **回归测试通过性**：
   - 运行全量测试套件，确保老功能不被破坏（0 衰退）。

## 执行流程

1. **收集上下文**：
   - 检查 `git status` 与 `git diff`，梳理本次改动的文件清单与代码增删。
   - 读取关联的 `plan.md` 确定预期验收标准。
2. **自动化校验**：
   - 执行类型检查（如 `npm run typecheck`）。
   - 执行全量测试套件（如 `npm test`）。
3. **审查与自愈修复 (Autofix)**：
   - 对发现的轻微瑕疵（如无用引用、排版不齐、类型遗漏），直接执行原地修正。
   - 对严重的逻辑分歧，整理出明确的 Finding 说明。
4. **输出审查报告**：
   - 总体结论（PASS / ACTION REQUIRED）
   - 变更文件清单
   - 关键校验通过证明（测试用例数、覆盖点）
5. **阶段交接**：
   - 审查通过后，提示下一步推荐：运行 `/skill:05-learn` 完成极简经验复盘。
