Claude 关键技能 Code Review

作者:袖梨 2026-07-14

一、基础概念:Claude‑Code里的 code‑review Skill 是什么

code‑review 分为两种形态:

Claude 必备技能  Code Review

  1. Anthropic官方内置Bundle‑Skill(系统自带):CLI和VS‑Code版Claude‑Code原生内置,对应斜杠命令/code‑review;还有配套衍生指令:/review/security‑review/simplify/ultrareview,是开箱即用的多Agent代码审查能力。
  2. 自定义Skill(项目/全局可覆盖官方内置):你可以在.claude/skills/code‑review/SKILL.md编写规则,覆盖官方逻辑,适配自己团队的编码规范,并且支持自然语言自动触发(你说“帮我Review代码”就自动启用该Skill,不用手动输斜杠命令)。

Skill本质是一套固化的Agent执行流程、允许调用工具(git、文件读取、grep)、审查维度、输出格式、参数配置,不用每次手动写一大段Review提示词,一劳永逸。

1.1 内置Skill的权限配置(官方默认)

官方内置code‑review允许调用工具:Read、Glob、Grep、Bash(git指令)、Edit(可选开启--fix才会修改文件);默认只读模式,不加--fix参数只会输出问题,不会改动你的代码,保证代码安全。

二、内置 /code‑review 完整参数(官方标准语法)

/code‑review [low|medium|high|xhigh|max|ultra] [--fix] [--comment] [目标范围]

1)努力等级(核心参数,控制Agent并行数量、审查深度)

等级工作模式发现问题上限适用场景
low单轮diff快速扫描≤4个问题commit提交前快速自检;日常小改动
medium7个审查角度,偏精准,减少误报≤8个问题团队PR常规审查(最常用)
high7个角度,提高召回率,放宽检出条件≤10个问题重要业务模块、支付、订单等核心代码
xhigh/max/ultra多Agent并行深度审计,会读取周边上下文代码、项目依赖、架构更多问题上线前终极检查、高危模块、重构大规模代码

2)可选参数

  1. --fix:开启编辑权限,Claude自动生成修改后的代码diff,你确认后一键应用;
  2. --comment:只在行内生成注释,不在业务代码里修改;
  3. 目标范围(限定审查文件):
    • --staged:只审查git add暂存区的代码(最常用);
    • --last:审查上一次commit的改动;
    • --branch develop:对比develop分支做跨分支diff审查;
    • 直接写文件夹路径:src/service/只审查指定目录。

常用示例命令

# 快速检查暂存代码(medium级别,只输出报告,不修改)/code‑review medium --staged# ultra深度审查并且自动修复问题/code‑review ultra --fix --staged# 只审查单个文件/code‑review high src/user/UserService.ts

三、官方内置Skill的内部执行流程(核心工作步骤)

内置code‑review Skill是一套固定的执行链路,后台分阶段运行:

  1. 获取变更范围调用git diff拿到变更代码;如果是ultra模式,还会读取周边文件、导入类、配置文件、.claude/rules团队规范文件,理解上下文,避免脱离业务误判。
  2. 分Agent并行执行7个审查维度(medium及以上才启用多Agent)官方内置的7个审查维度:
    1. 安全漏洞(最高优先级)
      • 禁止字符串拼接SQL(防注入)、XSS、命令注入、路径遍历;
      • 检查硬编码密钥、密码、API‑Key、Token;
      • 敏感数据是否明文打印日志;接口鉴权是否缺失;
    2. 逻辑正确性
      • 空值判断缺失(返回null后调用方未校验);
      • 边界问题:数组空值、超大参数、除零错误;
      • 捕获异常时空catch吞掉异常(catch(e){});
      • 事务范围错误、并发竞态条件、幂等性问题;
    3. 性能问题
      • 数据库N+1查询、循环内执行SQL;
      • 未关闭文件句柄、数据库连接、内存泄漏;
      • 无效循环、重复计算;
    4. 异常处理
      • 错误是否向上抛出、错误码定义是否合理;
      • 异步函数异常没有捕获;
    5. 代码可维护性
      • 重复代码,可抽取公共方法;函数过长、参数过多;
    6. 编码规范(参考.claude/rules配置)
      • 命名、分层架构是否遵守项目约定;
    7. 测试覆盖
      • 新增逻辑缺少单元测试,边界case没有覆盖。
  3. 置信度过滤,降低误报每个Agent输出问题后,内置模型会校验置信度,过滤低概率误报;问题划分等级:Critical(阻断上线)>High>Medium>Low(Nit优化项)
  4. 标准化输出审查报告(固定格式)每条问题统一格式:
    • 严重等级|文件路径:行号
    • 问题原因(会说明生产环境会引发什么故障)
    • 错误代码片段
    • 可直接复制粘贴的修复代码;最后给出总结:阻断性问题数量、建议是否允许合并PR;如果开启--fix参数,附带完整可执行diff变更。

四、自定义code‑review Skill(覆盖官方内置,企业必备)

如果你不想用官方默认检查项,可以自建Skill,优先级高于系统内置,分2种部署位置:

  1. 项目级(推荐,团队共享):项目根目录/.claude/skills/code‑review/SKILL.md,提交git,团队所有人生效;
  2. 全局个人级(本机全部项目生效):~/.claude/skills/code‑review/SKILL.md,只自己使用。

示例SKILL.md(可直接复制)

---name: code‑reviewdescription: 审查git‑diff变更代码,优先检查业务正确性、安全漏洞、并发问题;当我说review代码、检查变更、code‑review时自动触发;仅在--fix开启时修改代码;遵循项目规范文件.claude/rules.mdargument‑hint: "[low|medium|high|ultra] [--staged|--last] [--fix]"allowed‑tools: Read, Glob, Grep, Bash(git *), Edituser‑invocable: true---# 执行步骤## Step1:获取代码变更根据参数执行git‑diff拿到代码;ultra模式读取关联上下文代码,理解业务逻辑;## Step2:严格按照下面清单逐项检查### P0(阻断上线,Critical)必须全部修复1. SQL禁止字符串拼接,只允许参数化查询;2. 用户输入必须校验;接口必须校验权限;禁止越权;3. 禁止硬编码密钥、密码、access‑key;4. 数据库事务范围正确;重试场景保证幂等;5. 可能返回null的对象调用前必须判空;### P1(High级:上线前尽量修复)1. catch不能空捕获,异常必须打印日志;2. 数据库查询禁止循环执行;3. 文件、连接用完必须关闭;### P2(Medium:优化项,可选修改)1. 重复逻辑抽取公共方法;2. 函数不要超过80行;### P3(Low,仅建议,不阻碍上线)命名、注释、代码格式问题。## Step3:输出格式严格遵守1. 先输出总览:阻断问题(P0):x个;高危问题(P1):x个;优化项:x个;2. 每条问题格式:【等级】文件:行号|问题描述|生产后果|错误代码|修改后的代码;3. 只有传入--fix才生成完整修改diff,否则只给建议,绝不修改文件;4. 纯粹的格式问题、lint‑formatter已经处理的问题不要输出,减少噪音。

写完保存后,重启Claude‑Code,无论是输入/code‑review还是自然语言“帮我检查刚写的代码”,都会执行你自定义的这套规则,替代官方内置逻辑。

五、区分3个高频Review‑Skill,避免用错

  1. /code‑review:核心增量审查Skill,专注漏洞、正确性、安全;输出问题列表,--fix开启才会修改;提交commit前必用;
  2. /simplify:3‑Agent并行精简Skill,只做代码可读性、抽象优化,侧重简化代码;可以自动修改代码,适合写完功能后清理冗余代码;
  3. /review:面向GitHub/GitLab PR,读取远程PR完整代码,适合提MR之后做整体评审;
  4. /security‑review:安全专项Skill,只聚焦OWASP Top‑10漏洞、依赖CVE、敏感数据泄露问题。

六、最佳落地工作流(开发者日常标准流程)

写完代码 → git add 变更文件 → /code‑review medium --staged1. P0/P1问题全部修复;2. 确认无误后执行 /simplify 精简代码;3. /gen‑commit 生成规范commit信息;提交代码、发起PR

通过这套内置Skill,能把Bug漏检率大幅降低,减少同事人工Review的重复低级问题。

七、优缺点总结

优点

  1. 内置Skill是固化Agent流程,相比每次写自由prompt,审查标准稳定;
  2. 多Agent分工,既看当前diff,ultra模式还能理解整个项目上下文;
  3. 支持自定义规则适配你的业务(支付、库存、微服务);
  4. 可以一键自动修复,省去手动修改的时间;
  5. 既能手动斜杠命令调用,又支持自然语言自动触发,降低使用门槛。

缺点

  1. ultra/max级别消耗大量token,大型项目会耗费较多配额;
  2. 业务特有的复杂逻辑错误,仍然需要人工最终把关;AI只能发现代码层面问题,无法理解业务流程漏洞。

相关文章

精彩推荐