SuperAPI AI 工具集

code-review

编程与开发

查看项目

更新于 10-16 05:35

技能介绍

用途

code-review 用于分析代码变更,检查正确性、安全性、边界情况和代码质量,并以结构化方式返回发现项(Finding schema v1)。它适合以下场景:

  • 审查代码变更(暂存、未暂存或特定提交)
  • 审查特定文件或文件集合
  • 对 PR 或分支进行快速结构化审查

如果需要带对抗性验证的完整两遍审查,应改用 /two-pass-review。

主要能力

  • 按 P0-P3 对发现项进行严重性分级
  • 为每个发现项提供 0.0-1.0 的置信度分数
  • 标注所违反的具体标准(criterion)
  • 记录已执行的检查(checks_run),包括文件、标准和 lint/类型检查结果
  • 未发现问题时返回空的 findings 数组,不制造问题

使用方式

1. 收集审查对象

确定要审查的内容:

  • 用户指定了文件:读取这些文件
  • 用户指定了 diff 范围:运行 git diff <range>
  • 否则:运行 git status 和 git diff 查看当前变更

对于修改过的文件,审查其 diff;对于未跟踪的文件,读取完整内容;对于已删除的文件,检查是否存在损坏的引用。

如果需要相关文件作为上下文(类型、接口、调用方),也应一并读取。

如果范围不明确(未指定文件、无 diff 范围,或 diff 跨越许多不相关文件),使用 AskUserQuestion 工具确认要审查的内容后再继续。展示检测到的文件/变更,询问是审查全部还是缩小到子集。

2. 自动化检查

如果项目支持:

  • 读取 package.json 检查可用脚本
  • 如果存在 lint 脚本,运行它
  • 如果存在 tsconfig.json,运行 npx tsc --noEmit
  • 将任何失败记为 P0/P1 发现项

3. 分析

审查代码的以下方面:

  • 正确性——代码是否实现了预期功能?
  • 安全性——注入、未授权访问、数据暴露?
  • 边界情况——未处理的场景、边界条件?
  • Bug——明显错误、差一错误、空引用?
  • 性能——低效模式(仅在有事证时才标记)?

不要标记:风格偏好、命名意见、没有事证的理论风险,或你会用不同方式写但并非错误的内容。

4. 返回发现项

返回符合下方输出 Schema 的 ReviewOutput 信封。

  • 将所有发现项的 verdict 和 evidence 设为 null
  • 包含诚实的置信度分数——1.0 表示确定,低于 0.5 表示在猜测
  • 在 checks_run 中填充所评估的内容(文件、标准、lint/类型检查结果)
  • 如果未发现问题,返回空的 findings 数组——不要制造问题

约束

  • 不实施修复。除非明确要求,否则不要实现修复。
  • 只报告。将发现项呈现给用户审查。

输出 Schema

Finding

Finding {
  id: sequential number starting from 1,
  severity: "P0" | "P1" | "P2" | "P3",
  title: short title,
  body: detailed explanation with evidence,
  file: file path or null for global issues,
  line_start: number or null,
  line_end: number or null,
  confidence: 0.0-1.0,
  criterion: what was violated,
  verdict: "confirmed" | "demoted" | "rejected" | null,
  evidence: reasoning for verdict | null
}

ReviewOutput

发现项包裹在 ReviewOutput 信封中:

ReviewOutput {
  schema_version: "v1",
  findings: Finding[],
  checks_run: string[]
}

严重性分级

  • P0——必须修复:破坏功能、安全漏洞、数据丢失,或违反标准
  • P1——发布前修复:正确但不完整、脆弱,或存在可靠性风险
  • P2——应当修复:质量问题、代码异味,不阻塞
  • P3——锦上添花:观察、风格、次要改进

字段说明

  • confidence——1.0 表示确定,低于 0.5 表示在猜测。要诚实。
  • criterion——P0/P1 发现项必填。写明所违反的具体标准。
  • verdict——由两遍审查中的验证器填充。直接产出发现项时设为 null。
  • evidence——验证器对 verdict 的推理。直接产出发现项时设为 null。
  • checks_run——列出所评估的每个标准、检查的文件路径或验证的验收标准。对于 AC,使用 AC-N: PASS — [evidence] 或 AC-N: FAIL — [reason]。

适用场景与限制

适用于对代码变更、PR、分支或特定文件进行快速结构化审查,输出可读的分级发现项。限制包括:不实施修复,只报告;不标记风格偏好、命名意见或无证据的理论风险;性能问题仅在有事证时才标记;两遍对抗性验证需使用 /two-pass-review。