前言¶
PR 一打开,满屏 diff,很多人的做法是从上往下扫一遍,凭感觉留两条「看起来没问题」的评论。结果是安全漏洞漏掉、性能问题没人管,评审意见也零散,作者看完不知道优先级在哪。
下面介绍的 Code Review 是一个通用 SKILL.md 格式的代码评审 Skill,由 wpank 发布在 ClawHub 上。它不替代人做判断,而是把评审这件事拆成固定维度、固定流程和固定输出格式,让你照着清单逐项过,避免随机扫描。
这是什么¶
一句话定位:一套系统化的代码评审模式,覆盖安全性、性能、正确性、可维护性和测试,附带严重等级、结构化反馈指南、评审流程和需要避免的反模式。
- 出品方:wpank,坐标
@clawhub_wpank/code-review - 来源:ClawHub,版本 1.0.0
- 分类:dev-programming
- 上游仓库:https://clawhub.ai/wpank/code-review
- SkillHub 页面:https://www.skillhub.cn/skills/clawhub_wpank/code-review
- 标签:
requires_api_key=false,即使用前不需要配置 API Key
它解决三类问题:评审标准不统一(每个人关注点不一样)、评审顺序随意(容易漏边界条件)、反馈不可执行(只说「这里不对」,不说怎么改、多严重)。
核心功能¶
评审维度¶
Skill 把变更拆成七个维度,每个维度标了优先级。优先级是固定的,不是按文件大小平均分配精力。
| 维度 | 关注点 | 优先级 |
|---|---|---|
| 安全性 | 漏洞、鉴权、数据暴露 | Critical |
| 性能 | 速度、内存、扩展性瓶颈 | High |
| 正确性 | 逻辑错误、边界情况、数据完整性 | High |
| 可维护性 | 可读性、结构、后续改造空间 | Medium |
| 测试 | 覆盖率、测试质量、可靠性 | Medium |
| 可访问性 | WCAG 合规、键盘导航、屏幕阅读器 | Medium |
| 文档 | 注释、API 文档、变更记录 | Low |
分维度清单¶
每个维度都有一份可逐条打勾的清单。安全清单 13 条,覆盖 SQL 注入、XSS、CSRF、认证与授权(含 IDOR)、服务端输入校验、密钥管理、依赖安全、敏感数据不入日志、限流、文件上传、HTTP 安全头。性能清单 10 条,覆盖 N+1 查询、无谓重渲染、内存泄漏(监听器与定时器需在卸载时清理)、包体积与 tree-shaking、懒加载、缓存策略、数据库索引与 EXPLAIN、分页、异步任务外移、图片资源优化。
正确性清单 10 条,覆盖边界值、null/undefined 检查、off-by-one、竞态条件、时区(UTC 存储、展示层转换)、Unicode 与编码、整数溢出与金额精度(BigInt / Decimal)、错误传播(Promise 不被静默吞掉)、多步操作的事务一致性、边界值测试。
可维护性清单 10 条,覆盖命名表意、单一职责、DRY、圈复杂度、错误处理边界、死代码清理、魔法数字提取、沿用仓库既有约定、函数长度、依赖方向(依赖指向内层,核心逻辑不反向依赖 UI 或框架层)。
测试清单 8 条,覆盖新逻辑路径的测试、边界与失败用例、测试确定性(不依赖时序和外部服务)、测试独立性、断言应针对行为而非实现细节、Arrange-Act-Assert 结构、只对外部边界做 mock、修复 bug 时补回归测试。
三遍评审流程¶
Skill 明确要求分三遍过,不要试图在一次阅读里抓完所有问题。
- 第一遍,2-5 分钟看高层结构:读 PR 描述和关联 issue,扫文件列表判断改动范围是否合理,确认整体方案是否是该问题的合适解法,检查是否引入架构漂移。
- 第二遍,逐行细看,占用主要评审时间:逐个文件 diff 从上到下读,对照上面各维度清单检查每个函数改动,验证每个 I/O 边界的错误处理,标记任何让人需要停下来想一下的地方。
- 第三遍,5 分钟做边界与加固:检查失败模式、并发情况、边界值、缺失的测试。
严重等级与反模式¶
清单用严重等级给意见分级,并给出结构化反馈指南,即每条意见需要说清问题、位置、影响和建议改法。同时列出评审中要避免的反模式,例如把风格偏好当成缺陷、只提问题不给方案、把个人偏好的实现方式当成唯一正确解。
安装与启用¶
这是通用 SKILL.md 格式的 Skill,通过命令行安装后由支持该格式的编码工具加载。ClawHub 页面给出两种命令。
在 OpenClaw / Moltbot / Clawbot 环境安装:
npx clawhub@latest install code-review
通用安装命令:
$ openclaw skills install @wpank/code-review
安装完成后,把 Skill 作为评审环节的一部分触发,例如在 PR 评审时明确要求按安全、性能、正确性、可维护性、测试五个维度逐项过,并输出分级意见。Skill 本身不含可执行程序,它是评审模式与清单,实际判断仍由模型结合你的代码上下文完成,所以触发时最好把 PR 描述、涉及文件列表和关键 diff 一起提供。
至于 Cursor、Codex CLI、Claude Code 的具体加载方式,官方资料没有分别说明,这里不猜测,按各自工具对 SKILL.md 的通用支持方式操作即可。
典型用法¶
下面是可复现的用法,直接照做即可。
- 安装后,把 Skill 接入 PR 评审流程:
npx clawhub@latest install code-review
- 评审时按三遍流程要求模型执行:
按 Code Review Skill 评审当前 PR 的 diff。
第一遍看整体方案和改动范围,第二遍逐行对照安全、性能、正确性、
可维护性、测试清单检查,第三遍看边界情况和缺失的测试。
输出按严重等级分级,每条给出位置、问题、影响和修改建议。
- 如果是建立团队审查标准,可以把安全清单和测试清单单独抽出来作为 PR 模板里的 checklist,让提交者先自查一遍,评审时再按同样维度复核。
适用场景与注意¶
适合这些人:想在团队里统一评审标准的负责人、PR 评审质量不稳定的开发者、想把安全与性能检查常态化但又不想引入重型静态扫描工具的项目。
使用上的限制:
- 它是评审模式,不是自动扫描器,不会跑测试也不会跑静态分析,结论质量取决于喂给它的上下文是否完整。
- 清单是通用维度,需要结合具体技术栈调整。比如后端项目重点看安全和正确性,前端项目重点看可访问性和重渲染,纯脚本项目可访问性基本用不上。
- 严重等级是相对优先级,不等于漏洞确认。看到 Critical 只是说这个维度必须处理,不等于该行代码有确定漏洞。
- 依赖安全这一条要求「新依赖来自可信来源、有维护、无已知 CVE」,实际核对仍需外部漏洞库支持。
- 版本 1.0.0,清单内容后续可能变化,以 ClawHub 页面当前内容为准。
结尾¶
Code Review 的价值不在于给出一份完美清单,而在于把评审顺序和维度固定下来,减少随机扫描带来的漏项,并让反馈带上严重等级和修改建议。如果你现在的评审流程还靠经验和感觉,可以从安全清单和三遍流程开始用,成本最低。
官方地址:https://clawhub.ai/wpank/code-review
SkillHub 页面:https://www.skillhub.cn/skills/clawhub_wpank/code-review