mcpField
C
code-review

code-review

github.com/helderberto测试与质量19623 次安装3 天前更新
代码仓库

关于 code-review

面向编码 Agent 的拉取请求审查技能,按正确性、测试、安全性、可维护性和项目惯例检查变更,并按严重程度整理发现,给出结论。

主要功能

  1. 01审查所有变更文件并检查测试
  2. 02检查正确性、安全性和性能
  3. 03评估依赖项与代码库惯例
  4. 04按严重程度列出发现及文件行号
  5. 05报告验证结果并给出审批结论

适用场景

  1. 01按编号或 URL 审查拉取请求
  2. 02针对错误、安全或性能开展审查
  3. 03判断测试能否发现回归问题
  4. 04变更过大时建议拆分拉取请求

安装

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

$npx skills add https://github.com/helderberto/agent-skills --skill code-review

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

附带文件references/smells.md

详细介绍

审查拉取请求

参数:$ARGUMENTS — PR 编号或 URL,和/或一种模式。BUGS、SECURITY 或 PERFORMANCE 会将审查范围限定为相应方面;否则审查所有方面。

输入

如果直接粘贴了差异内容 → 只审查这些文本,不获取其他内容。否则,使用 PR 编号或 URL;若未提供,则使用当前分支的 PR → gh pr view + gh pr diff。如果没有找到 PR → 请对方提供一个。

批准标准

只要变更确实提升了整体代码质量,即使并不完美,也应批准。不要因为变更没有采用你会使用的写法就阻止它。如果变更改善了代码库并遵循其惯例,就应批准。

如果变更太大,无法有效审查(约 1000 行以上),可以要求作者拆分。建议一种拆分策略:堆叠(先提交较小的变更,再基于它提交下一项)、按文件组拆分、横向拆分(先改共享代码,再改使用方),或纵向拆分(每个 PR 完成一个端到端切片)。

审查标准

审查每个有变更的文件,而不只是最新提交。先审查测试:它们是否测试了行为、涵盖了边界情况,以及能否发现回归?如果已在本地检出该分支,通过实验回答最后一个问题:反转这次变更新增的一个条件,运行测试套件,再还原文件。如果测试仍全部通过 → 缺少测试;请指出缺失的测试。如果与其他 Agent 并行审查 → 跳过实验:test-auditor 会在临时副本中运行变异测试,而直接修改文件会产生竞争。

  • 正确性:逻辑错误、差一错误、竞态条件、未处理的状态、缺失的错误处理路径
  • 可读性:超过 50 行的函数、超过 2 层的嵌套、死代码、未使用的导入
  • 安全性:暴露的密钥、未经验证的外部数据
  • 类型安全与不可变性:any 或缺乏理由的类型断言;原地修改共享数据
  • 模式:是否符合代码库惯例,是否避免重复造轮子
  • 性能:不必要的重新渲染、明明 O(n) 可行却采用 O(n²)
  • 代码异味:对照基线 smells.md 检查差异中的问题——始终需要结合判断;仓库中记录的风格优先于基线
  • 依赖升级(差异中包含清单/锁文件):每次变更只升级一个依赖——批量升级一旦出现问题,就无法确定是哪个包导致的;依据变更日志核实,而非版本号;审查锁文件差异(升级一个直接依赖会带来数十项传递依赖的变更);标记手动编辑的锁文件

输出

按严重程度分组,每条发现都标注 file:line,并为每个 Critical 项提供建议的修复方案:

  • Critical — 合并前必须修复(错误、漏洞)
  • 建议 — 值得考虑的改进
  • Nit — 细微且可选;真正的吹毛求疵应标记为 Nit,而不是省略或夸大
  • FYI — 仅供参考
  • 优点 — 值得指出的良好模式
  • 已验证 — 运行了哪些内容(测试、构建、实验),以及仅阅读了哪些内容

一个结构性问题和十个细枝末节:结构性问题才是这次审查的重点——应优先提出。最后根据批准标准给出结论。

评论

支持 Markdown