代码审查是个反人性的活。它需要你在别人的逻辑里游泳,同时保持清醒到能发现一个越界索引或一个缺失的空值检查。更糟的是,大部分时候你是在赶进度和认真看代码之间做选择。两件事天然冲突。
AI 代码审查工具不是新鲜事。GitHub Copilot Code Review、CodeRabbit、Amazon CodeGuru 都在这个赛道上。问题也很明显:要么绑在特定平台,要么生成的评论读起来像一本教科书在训你。Zapier 的 Code Review Skill 走了另一条路。
这是 Smithery 上一个只有 31 次安装的小技能,但看完它的 SKILL.md 你会意识到,它抓到了 AI 代码审查最该抓的那几件事。它不是最强的,但它可能是最不招人烦的。
这篇文章会带你走一遍这个 Skill 的工作方式、设计决策和适用边界。读完你会有一个判断:它值不值得在你的日常 Review 流程里占一个位置。
环境准备
安装简单到一句话:
npx skills add https://github.com/zapier/zapier-mcp --skill 'Code Review'
前置条件不复杂,但有几项是硬性的:
-
Git 仓库(远程分支可通过 origin 访问) -
Node.js 运行时环境 -
能跑 npx 的终端
如果你用 Claude Code、Codex 或 Cursor,安装路径略有不同,但核心依赖一致。
装完之后不需要额外配置。触发方式是直接对 Agent 说 review、code review,或者 review AGP-123(Jira Ticket ID)。Agent 会接管后面的一切。

有个容易被忽略的点:如果你要让它跑类型检查或 lint,需要在仓库里装好对应的包管理器依赖。Skill 本身不会帮你 npm install,它只负责检测 pnpm-lock.yaml 然后决定要不要跑检查。轻量 Review 不需要这些,它只看 diff。
操作流程
触发后,Code Review Skill 做的第一件事是判断你要审哪个分支。三种路径覆盖了日常的绝大多数情况:
Jira Ticket ID 输入(如 review AGP-123):Skill 先从 Jira 拉取 ticket 详情,拿到标题、描述和状态,然后在远程分支列表中用 grep 匹配 ticket ID。找到后自动创建 git worktree。
分支名输入(如 review feature/new-auth):直接 fetch 远程分支,创建 worktree。
无参数输入(就一个 review):审当前分支,不创建 worktree,不切换分支。这是最快的路径,适合改完代码立刻想检查的场景。

worktree 是这整套流程里最聪明的设计决策。它在 .worktrees/<branch-name> 下创建独立工作区,你的当前代码完全不碰。审完自动 git worktree remove 清理干净。整个过程你连切分支都不用。这对多任务并行的开发者来说是实打实的效率提升。
然后是核心操作:找 merge-base。这一行命令决定了 Review 的范围:
MERGE_BASE=$(git merge-base origin/main HEAD)
git diff $MERGE_BASE..HEAD
直接用 git diff origin/main..HEAD 会把 main 上新合进来的其他人的提交也算进去。merge-base 只取“当前分支独立引入的变更”。这个小细节在大多数 AI Code Review 工具里反而是缺失的。我查过几个同类工具的 SKILL.md,没有一个显式要求使用 merge-base。
关键设计
翻完 SKILL.md,三个设计选择让我觉得这个 Skill 的作者真的做过代码审查:
第一,提问式反馈,不是命令式。几乎所有 AI Reviewer 都倾向于给你下指令:“此处应使用 early return”“需要添加空值检查”。Code Review Skill 的硬规则是反过来:“Could this be simplified with an early return?”“What happens if this API call fails?”
这不是措辞的差异,是权力结构的差异。提问式反馈假设作者有你不知道的上下文,命令式反馈假设你就是对的。做过代码审查的人懂这个区别。一个写了三年 Java 的老手被 AI 指着鼻子说“此处应该提取方法”,第一反应不是改代码,是关掉 Review。
第二,worktree 隔离。市面上大部分 Code Review 工具要么让你切分支,要么直接在当前工作区操作。worktree 方案零侵入,审完即销毁工作区。git worktree 本身不是新技术,但把它作为 Skill 的默认行为,说明作者对开发者工作流的“打断成本”有认知。
第三,Jira 集成不是摆设。很多人把 Jira 集成做成“拉个 ticket 标题展示一下”。这个 Skill 用它做了两件事:从 ticket ID 自动定位分支,以及把 ticket 的验收标准纳入 Review 上下文。后者比前者更重要。如果有人提了个 PR 但实现偏离了 ticket 的原始需求,AI 会在 Review 里提示这个偏差。

短板也很明显。它不跑测试,不跑 CI,纯粹依赖 Agent 的静态分析能力。对复杂项目来说,缺少动态验证是一个实打实的局限。另一个问题是它目前默认用 pnpm 作为包管理器,用 npm 或 yarn 的项目需要手动调整。
使用场景
最自然的场景是日常 PR Review。你写了一个功能分支,推到远程,在聊天框里打 review AGP-456。Agent 五秒内开始输出结构化 Review Report。这份报告的结构值得单独说一下:
-
执行摘要:一句话概括这个分支做了什么,整体评价 -
变更统计:文件数、新增行数、删除行数、commit 数 -
问题分级:Critical(合并前必须修)、Important(应该修)、Suggestions(锦上添花) -
安全审查:独立的 input validation、SQL injection、XSS 等检查结果 -
性能建议:N+1 query、内存泄漏、缓存机会等
每一条 issue 都带文件位置、行号和具体的改进建议代码。格式一致性很高,不会出现有些 issue 给了示例代码、有些只写了“建议优化”的情况。
另一个场景是上线前的快速检查。团队里有人做了个 hotfix,来不及走完整 Review 流程。review hotfix/payment-timeout,几十秒拿到一份质量检查报告。不完美,但比直接合并强得多。尤其是在周五下午四点半的 hotfix 场景里,有个 AI 帮你扫一眼比完全裸奔好。
它最不适合的场景是大规模重构 Review。分支 diff 超过一千行时,纯静态分析的收益会断崖式下降。这种情况下,人工 Review 仍然不可替代。但即便如此,用它做第一轮粗筛还是有价值的,把明显的 typo、忘记删除的 debug 日志、硬编码的密钥之类的问题先挡掉。
洞察与反思
翻完这个 Skill 的完整 SKILL.md,我最深的感受是:它的价值有一半在约束本身,不是能力。
比如“只审当前分支的变更”这条规则。大多数 AI Reviewer 没有这个概念,它们拿到什么就看什么。merge-base 隔离把这个边界写死在流程的第二步,避免了最常见的噪音来源,把别人分支的改动当成你的问题。
再比如“反馈必须是问题形式”。这不是一个建议,是 SKILL.md 里带正反例对照的硬约束。对比表明确到可以直接当 Code Review 培训材料来用。
这引出一个更大的判断:AI Skill 的质量,很大程度上取决于 Prompt 里”约束”的质量,而不是”能力”的多寡。一个只有 200 行的 SKILL.md,把边界画清楚、把不该做的事明确禁止,比一个功能堆满但边界模糊的技能强十倍。这个判断放在任何 AI Agent Skill 上都成立。Skill 不是功能越多越好,是约束越精准越好。
31 个安装量说明它还很小众。但小众不等于不好用。如果你每天要 Review 同事的代码,花五分钟装上这个 Skill,它不会让你少看代码,但会帮你省掉大量写注释的时间成本。对团队来说,Review 格式的一致性本身就在降低沟通摩擦。
还有一个容易被忽略的价值:worktree 机制意味着这个 Skill 可以在 CI 里跑。你不需要给它一个干净的环境,它自己创建。把它挂在 PR 事件上,每个新 PR 自动触发一次 Review,结果贴在 PR 评论区。现在还在手动做这件事的团队,这个自动化的投资回报率很高。在 AI Agent 开始渗透开发工作流的当下,这种轻量级、可组合的 Skill 比大而全的平台方案更值得关注。
资源地址
| 资源 | 地址 |
|---|---|
| Smithery | https://smithery.ai/skills/zapier/code-review |
| GitHub | https://github.com/zapier/zapier-mcp |
| 安装命令 | npx skills add https://github.com/zapier/zapier-mcp --skill 'Code Review' |
总结
Zapier Code Review Skill 做对了几件事:用 worktree 实现零侵入审查,用 merge-base 隔离分支变更,用提问式反馈替代命令式说教。这三件事加在一起,构成了一个“不招人烦的 AI Reviewer”的公式。
技术上看,它没有做任何神奇的事:
-
git worktree 隔离工作区 -
git merge-base 精准定位分支变更 -
结构化 Review Report 输出
全是 Git 的基操。但把这些基操组装成一个零配置、一句话触发的 Skill,恰好是 AI Agent 最擅长的活,把已经存在的工具组合成一个不用动脑子的工作流。这让我想起 Unix 哲学里的那句老话:一个程序只做一件事,但把它做到极致。这个 Skill 做的事是“代码审查的机械部分”,做到极致的意思是:一句话触发,零配置,不改你的工作区。
如果你已经在用 Claude Code 或类似的 Agent 工具,装这个 Skill 的边际成本趋近于零。装上试试看。哪怕你最终不完全信任它的 Review 结果,这个 Skill 有几个没法忽视的优点:
-
不碰你的工作区,worktree 机制零侵入 -
开源免费,代码全在 GitHub 上 -
没有 vendor lock-in 风险 -
一句话触发,零配置
光这几点就值得你花这五分钟。
