mcpField
R
review-it

review-it

github.com/smallnest测试与质量296520 次安装6 周前更新
代码仓库

关于 review-it

review-it 是用于提交或发布前收尾的自动化代码审查技能,支持多种 AI 编码 Agent。它要求核实审查结果、聚焦修复,并持续复查直至没有可执行的问题。

主要功能

  1. 01审查未提交变更或分支差异
  2. 02支持五种 AI 编码 Agent
  3. 03结合代码与依赖核实发现
  4. 04修复后重跑测试和审查
  5. 05并行测试与审查辅助脚本

适用场景

  1. 01提交前检查本地差异
  2. 02审查功能分支或 PR 变更
  3. 03验证审查发现并复测修复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/smallnest/goal-workflow --skill review-it

安装后在 Claude Code 中输入/review-it确认已加载。

附带文件scripts/review-it

详细介绍

CC Review

将自动化代码审查作为提交或发布前的收尾检查。支持多种 AI 编码 Agent。

适用场景:

  • 用户要求进行代码审查、review-it 或 autoreview
  • 完成重要代码修改后,在最终确认、提交或发布前
  • 修复问题后审查本地分支或 PR 分支

支持的 Agent

Agent审查命令说明
Claude Code/review内置功能,可审查未提交的更改或 diff
Codexcodex review传入 diff 文件,或让它自动检测
OpenCode/review与 Claude Code 相同
DeepSeek TUI/review 或手动审查 diff传入 diff 内容进行分析
Antigravity CLI/code-review内置斜杠命令,可自动检测 diff

约定

  • 将审查结果视为参考建议。切勿盲目应用。
  • 通过阅读实际代码路径及相关文件,逐条验证所有发现。
  • 如果某项发现取决于外部行为,请查阅依赖项文档、源码或类型定义。
  • 忽略不切实际的边缘情况、推测性风险、大范围重写,以及会让代码库过度复杂的修复。
  • 优先在合适的职责边界进行小幅修复;除非重构能明确改善此类问题,否则不要重构。
  • 持续审查,直到没有可接受或可操作的发现。
  • 如果因审查而修改代码,请重新运行有针对性的测试并再次审查。
  • 审查结果干净且没有可操作的发现时,立即停止。
  • 如果判定某项发现是有意设计的或不值得修复,只有在内联代码注释能解释未来审查者需要了解的实际不变量或职责决策时,才添加简短注释。
  • 不要仅为审查而推送。只有用户要求推送、发布或更新 PR 时才推送。

审查重点

请 review 当前 diff。不要只看语法和明显 bug,请重点检查以下维度,最后按严重程度排序:

  1. 隐藏副作用 (Hidden Side Effects) — 变更是否在非显而易见的地方产生级联影响?是否修改了共享状态、全局变量、或外部依赖的行为?
  2. 破坏兼容性 (Breaking Compatibility) — 是否改变了 API 签名、数据结构、配置文件格式、或命令行接口?现有调用方是否会受影响?
  3. 边界情况 (Edge Cases) — null/空值/空集合、极大/极小值、并发/竞态条件、异常路径是否被正确处理?
  4. 性能风险 (Performance Risks) — 是否引入了不必要的循环嵌套、N+1 查询、大对象分配、阻塞 I/O、或锁竞争?
  5. 安全风险 (Security Risks) — 是否存在注入、越权、敏感信息泄露、不安全的反序列化、或依赖版本漏洞?
  6. 命名误导 (Naming Misleading) — 变量/函数/类型名称是否与实际行为不一致?是否存在名不副实或语义模糊的命名?
  7. 测试不足 (Insufficient Testing) — 关键路径、边界条件、错误处理是否缺少测试覆盖?现有测试是否真正验证了期望行为?
  8. 未来维护成本 (Future Maintenance Cost) — 是否引入了不必要的抽象、重复代码、隐式耦合、或难以追踪的控制流?后来者是否容易理解和修改?

选择目标

Claude Code / OpenCode / DeepSeek TUI

本地有未提交的更改(默认情况 — /review 可审查未提交的更改):

/review

分支/PR 工作 — 对照基线审查所有更改:

先生成 diff,再进行审查:

git diff origin/main...HEAD > /tmp/review-it.diff

然后使用针对性提示词审查 diff 文件:

/review the changes in /tmp/review-it.diff against origin/main

如果存在未关闭的 PR,请使用其实际基线:

base=$(gh pr view --json baseRefName --jq .baseRefName)
git diff "origin/$base"...HEAD > /tmp/review-it.diff
Antigravity CLI (agy)

本地有未提交的更改:

/code-review

分支/PR 工作 — 对照基线审查所有更改:

git diff origin/main...HEAD > /tmp/review-it.diff

然后将 diff 传给审查命令:

/code-review the changes in /tmp/review-it.diff against origin/main

如果存在未关闭的 PR,请使用其实际基线:

base=$(gh pr view --json baseRefName --jq .baseRefName)
git diff "origin/$base"...HEAD > /tmp/review-it.diff
Codex
# Review uncommitted changes
codex review

# Review branch diff
git diff origin/main...HEAD > /tmp/review-it.diff
codex review /tmp/review-it.diff

并行收尾

如果格式化会改变行号,应先进行格式化。之后可以并行运行测试和审查:

scripts/review-it --parallel-tests "<focused test command>"

权衡:测试可能会促使代码发生更改,从而使审查结果过时。如果测试或审查导致代码修改,请重新运行受影响的测试并再次审查,直到没有可接受或可操作的发现。

未提交更改与分支审查

选择合适的模式:

  • 未提交的更改(已暂存/未暂存):直接使用 /review(Antigravity:/code-review,Codex:codex review)
  • 已提交但未推送:使用 git diff origin/main...HEAD 并进行审查
  • 已推送/PR:与已提交的情况相同,但以 PR 基线为准
  • 工作区干净:如果确实没有需要审查的内容,则跳过审查

Helper

用于并行测试和审查编排的捆绑辅助脚本:

~/.claude/skills/review-it/scripts/review-it --help

该辅助脚本:

  • 通过 --agent auto 检测正在运行的 Agent(Claude Code、Antigravity CLI、Codex)
  • 检测应使用未提交内容审查还是分支差异审查
  • 对于分支模式:生成与 origin/main(或 PR 基准分支)的差异,然后触发审查
  • 支持使用 --parallel-tests 并发执行测试和审查
  • 支持使用 --dry-run 检查将运行的命令
  • 审查结果干净时,打印 review-it clean: no accepted/actionable findings reported

最终报告

请包含:

  • 审查目标(未提交内容 / 分支 / PR 基准分支)
  • 运行的测试 / 验证
  • 接受 / 拒绝的发现,以及简要原因
  • 干净的审查结果,或说明为何有意拒绝仍未解决的发现

不要仅为润色最终报告而再次运行审查。如果审查以干净结果结束,且没有可采取行动的发现,请报告审查结果干净。

评论

支持 Markdown