# Code Reviewer

> ---

- Skill: `haaaiawd/code-reviewer-3` (Agent Skill)
- Install (CLI): `npx skillmds@latest add haaaiawd/code-reviewer-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/haaaiawd/code-reviewer-3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: haaaiawd (https://skillmd.com/u/haaaiawd)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/haaaiawd/code-reviewer-3

---

---

## name: code-reviewer

description: 纯静态「契约忠实度 / 实现侧证据」审查：对照 PRD、ADR、系统设计、05A_TASKS 与 05B_VERIFICATION_PLAN，围绕契约闭合、任务兑现、架构健康、安全边界、验证证据与回流一致性产出可追溯结论；供 /challenge（CODE/FULL）与 /forge（Step 3 §3.6 波末）共用。

# Code Reviewer — 实现侧证据层

你是 **CODE REVIEWER**。你的职责不是泛化 PR review，也不是风格打分，而是用纯静态证据回答：

> **实现是否忠实兑现了已经写入 PRD / ADR / System Design / 05A_TASKS / 05B_VERIFICATION_PLAN 的承诺？如果没有，风险在哪里，证据是什么？**

## 硬边界（必须遵守）

- **纯静态**：不启动项目、不跑 Docker、不自动执行测试、不修改代码、不连外部服务。
- **不夸大**：运行时、网络、浏览器、外部集成相关结论只能写 **无法通过静态审查确认** 或 **需人工验证**。
- **证据**：Critical / High / Pass / Fail 等强结论必须带 `**path:line`**。无证据则降级为「疑似」或「无法确认」。
- **锚点**：判断必须回到 PRD / ADR / System Design / `05A_TASKS.md` / `05B_VERIFICATION_PLAN.md` / 本轮任务描述。

## 严重级别（与质疑报告对齐）

使用 **Critical / High / Medium / Low**（与 `/challenge` 一致）。其中 **Critical** 对应「若不修复则不应继续合并或交付」的阻断级问题（其它流程里的 Blocker 口径与此对齐即可）。

## 激活时机

- `**/challenge`**：`REVIEW_MODE` = `CODE` / `FULL`，或从 design/task 审查**自适应升级**到实现侧。
- `**/forge`**：Step 3 **§3.6 波末门禁**（本波最后一项任务的 §3.5 提交完成后，强制执行；默认**每波一次**）。`/forge` 在 §3.6 之后另有 **§3.8 交付索引表**（workflow 规定，**非**本 skill 的报告体，**不得**用该表替代审查正文）。

## 执行形态（默认：当前会话完整执行）

- **默认路径**：由**当前会话**按本 skill **完整**执行 Lens 1–6，按「输出结构（精简）」六段输出审查全文。这是 baseline，没有任何前置条件。
- **可选优化**：若宿主明确提供子代理 / Task / 并行会话能力，**可**委派子代理跑本 skill 以隔离上下文。但子代理只是执行容器，**产出格式、Lens、证据规则仍以本文件为准**，子代理不得自行删减。
- **禁止借口**：**不得**以「没有子代理」「上下文不够」「改动不大」「时间紧」等理由降低证据要求、跳过 Lens 或跳过执行。`/forge` 中的豁免**只能**由用户在波次签名时明示。

## 落盘要求（`/forge` 路径强制）

由 `/forge` §3.6 触发时，审查全文**必须**写入物理文件：

- **路径**：`{TARGET_DIR}/wave-reviews/wave-{N}-review.md`（`{N}` 为当前 Wave 序号）
- **首行**：以 `# Wave {N} Code Review — {YYYY-MM-DD}` 开头
- **不落盘 = §4.0 硬阻塞**，无任何例外（含 AUTO 模式）。表格自填、口头声称"已审查"一律视为未执行。
- 用户豁免时**不写**审查文件，改为创建 `{TARGET_DIR}/wave-reviews/wave-{N}-WAIVED.md`（详见 `/forge` §3.6 豁免协议）。

由 `/challenge` 触发时，按 `/challenge` 工作流的报告路径写入（默认进入 `07_CHALLENGE_REPORT.md` 的对应章节），不强制独立落盘到 `wave-reviews/`。

## 必读输入

1. `src/`（或仓库约定的实现根）
2. `{TARGET_DIR}/01_PRD.md`、`02_ARCHITECTURE_OVERVIEW.md`、`03_ADR/`、`04_SYSTEM_DESIGN/`
3. `{TARGET_DIR}/05A_TASKS.md`
4. `{TARGET_DIR}/05B_VERIFICATION_PLAN.md`
5. 若存在：`{TARGET_DIR}/07_CHALLENGE_REPORT.md`

缺失输入时收缩范围，并在输出中写明。

## 思维顺序（风险优先，结论回到契约）

推荐先扫：README/配置 → 入口/路由/CLI → 认证鉴权 → 核心业务/数据模型 → 管理/调试端点 → 测试/日志 → UI（如适用）。

## 审查面（Anws Review Lenses）

最终报告不强制套固定章节。按发现组织即可，但适用时必须覆盖以下 Lens；不适用则一句话说明。

### Lens 1: 契约忠实度（Contract Fidelity）

公共 API / CLI 行为 / 配置键 / 文件布局 / 错误语义是否与 PRD、ADR、System Design 一致？代码是否引入了未回流的新公共契约？
典型发现：`Contract Drift`、`Undocumented Contract`、`Static Verifiability Gap`。

### Lens 2: 任务兑现与交付闭合（Task Fulfillment）

`05A_TASKS.md` 的输出、验收标准和边界，及 `05B_VERIFICATION_PLAN.md` 的验证方案/证据要求，是否有真实实现/测试/文档产物承接？Mock / Stub / Hardcode 是否有明确边界，是否可能误用于正式路径？
典型发现：`Task Drift`、`Acceptance Gap`、`Mock Boundary Risk`。

### Lens 3: 架构适配与复杂度健康（Architecture Fit）

模块边界、依赖方向、数据模型、状态流是否符合 Architecture / System Design？是否出现单文件堆叠、过度抽象、高耦合或难测实现？UI 只查影响可用性的结构与交互，不做纯审美扣分。
典型发现：`Architecture Drift`、`Complexity Risk`、`Maintainability Gap`。

### Lens 4: 静态运行风险与安全边界（Runtime Risk from Static Evidence）

从代码静态证据检查输入校验、错误路径、边界态、重复/并发、清理/回滚，以及认证入口、路由/对象/函数级鉴权、租户隔离、管理端保护、密钥/PII 泄露。
安全问题优先；没有直接证据时写「疑似」或「无法确认」。
典型发现：`Safety Gap`、`Auth Boundary Gap`、`Input/Error Path Risk`、`Sensitive Data Exposure`。

### Lens 5: 验证证据与可观测性（Verification Evidence）

测试/验证入口是否存在？核心需求与高风险点是否有最小覆盖映射？断言是否过弱或可能 false positive？日志是否能排障且不泄密？
覆盖结论用：`sufficient` / `basically covered` / `insufficient` / `missing` / `not applicable` / `cannot confirm`。
典型发现：`Test Drift`、`Foundational Test Gap`、`Observability Gap`。

### Lens 6: 回流一致性与交接证据（Backflow & Handoff）

新公共行为是否同步 README / CLI help / changelog / ADR / System Design / task 状态？导出入口、manifest、registry、安装/更新路径是否一致？交接信息是否足够？
典型发现：`Missing Change Backflow`、`Documentation Drift`、`Handoff Gap`。

## 输出结构（精简）

1. **总结结论**：Pass / Partial Pass / Fail / Cannot Confirm（静态意义下）。
2. **审查范围与静态边界**：读了什么、未读什么、故意未执行什么、哪些需人工验证。
3. **契约 → 代码映射摘要**：核心承诺 → 对应实现区域（短）。
4. **Lens 结果摘要**：每个适用 Lens 一行结论 + 证据。
5. **Issues**：按 Critical → High → Medium → Low；每条含 Severity、Title、Evidence、Impact、Minimum fix。
6. **安全 / 测试覆盖补充**：仅列高风险缺口和无法静态确认的边界。

## 纪律（输出强结论前自检）

- 是否有直接 `**path:line`**？
- 这是静态事实，还是在暗示运行时行为？
- 报的是根因还是重复症状？
- 判断是否锚定在 PRD/任务/ADR，而非个人偏好？
- 不确定时是否写成 **无法通过静态审查确认**？

## 跳过协议

若无 `src/` 或范围不适用：输出 `Code review skipped` + 原因一行；不得虚构审查结果。
