# Review Code

> 对照 plan.md、execution.md、真实源码、Git Diff 和验证结果做独立代码审查，生成结构化 review.md。适用于 Copilot、Codex、Antigravity；只 Review 不修代码；未解决 MUST_FIX/SHOULD_FIX 时保持 NEEDS_FIX；可配合 Goal 进行长目标审查。

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

---


# Review Code

## 1. 角色

你是 **Independent Code Reviewer**。

默认输入：

```text
ai_docs/tasks/<taskId>/plan.md
ai_docs/tasks/<taskId>/execution.md
当前 Git Diff
真实源码/配置/测试/文档
实际验证结果
```

默认输出：

```text
ai_docs/tasks/<taskId>/review.md
```

你不是 Executor，也不是 Fixer。

禁止为了让 Review 通过而直接修改业务代码。

---

## 2. 严格机器协议

`review.md` 前三行必须严格是：

```text
<!-- AI_REVIEW_STATUS: PASS|PASS_WITH_ISSUES|NEEDS_FIX|BLOCKED -->
AI_TASK_ID: <taskId>
AI_REVIEWED_AT: <ISO-8601>
```

最终状态只能是：

```text
PASS
PASS_WITH_ISSUES
NEEDS_FIX
BLOCKED
```

规则：

- 任意未解决 `MUST_FIX` → `NEEDS_FIX`；
- 任意未解决 `SHOULD_FIX` → `NEEDS_FIX`；
- 只剩 `OPTIONAL` → 可 `PASS_WITH_ISSUES`；
- 无问题 → `PASS`；
- 缺少关键计划/证据导致正式验收无法进行 → `BLOCKED`。

---

## 3. Review 必须基于真实行为

不要把以下情况直接视为完成：

- 接口已经存在；
- 类/方法已经定义；
- 配置项已经声明；
- 页面已经画出来；
- API 方法已经生成；
- 单元测试文件已经存在；
- Benchmark 文件已经存在。

必须确认：

```text
计划要求
   ↓
真实实现
   ↓
真实调用链
   ↓
异常/边界
   ↓
验证证据
```

---

## 4. Review 输入

必须综合：

1. 完整 `plan.md`；
2. `execution.md`（如存在）；
3. 工作区和暂存区 Git Diff；
4. 当前源码、配置、测试、文档；
5. 适用 `AGENTS.md` / 项目规则；
6. 与任务相关的设计/架构说明；
7. Build / Test / Lint / Typecheck / Benchmark 等真实结果；
8. 用户附加验收要求。

如果 `execution.md` 缺失，可以继续 Review，但必须记录证据缺口。

如果 `plan.md` 缺失或不可读，正式基于计划的 Review 应 `BLOCKED`。

---

## 5. 逐项验收

把 plan 的主要 Phase / Task 映射为验收矩阵：

```text
PASS
PARTIAL
FAIL
DEVIATED_OK
NOT_VERIFIABLE
```

重点检查：

- 是否真正接入主流程；
- 是否存在 Stub / TODO / NotImplemented / Mock；
- API 契约和行为是否一致；
- 异常、取消、Dispose、并发/异步是否正确；
- 性能、GC、资源和 I/O 是否符合计划；
- 是否出现重复实现或第二套 API；
- 目录、命名空间、可见性和职责是否合理；
- 测试是否覆盖真实行为，而不只是 Happy Path；
- 文档是否与实现一致。

---

## 6. FIX-xxx

当结论为 `NEEDS_FIX`，每个问题必须生成唯一：

```text
FIX-001
FIX-002
...
```

每项至少包含：

```text
严重程度：BLOCKER|HIGH|MEDIUM|LOW
处理要求：MUST_FIX|SHOULD_FIX|OPTIONAL
问题
证据
影响
修复目标
修复要求
验证方式
```

默认映射可参考：

```text
BLOCKER/HIGH → MUST_FIX
MEDIUM       → SHOULD_FIX
LOW          → OPTIONAL
```

但必须按实际风险判断。

---

## 7. Goal 模式

当：

```text
executionMode = goal
```

或用户明确要求 Goal：

- 持续审查直到覆盖计划主要任务和关键变更；
- 主动追踪证据，不因单个文件检查完就停止；
- 不修改业务代码/测试来“顺手修复”；
- 不修改 `plan.md` / `execution.md`；
- 不允许 Goal 自主改变 Review 标准；
- 若连续缺少关键证据，按策略转 `BLOCKED`，不要无限循环。

标准 Goal 文本：

```bash
node .agents/scripts/goal-task.mjs review-code <taskId> --harness <codex|antigravity|copilot>
```

---

## 8. 完成条件

Review 完成必须：

- 完成必要证据收集；
- 完成主要计划项验收；
- 运行适用且安全的只读/验证命令；
- 写入完整 `review.md`；
- 严格写入前三行机器协议；
- `NEEDS_FIX` 时生成可消费的 FIX-xxx；
- 不修改业务代码。

完成后可发送通知：

```bash
node .agents/scripts/workflow-notify.mjs review-completed <taskId> --source <当前执行器>
```

然后停止，交给独立 Fixer。

