/code-review 是一个在 Claude Code 输入框中输入的命令,在您正在工作的会话中运行。Claude 会审查您分支上的变更,查找正确性 bug,并在对话中报告发现的问题。根据您的模型和 effort 级别,审查还会涵盖复用、简化和效率方面的清理。
该命令适用于任何套餐。审查在您自己的会话中运行,因此与会话中的其他部分一样,计入您套餐的用量或 API 计费。
如需在 GitHub 上自动审查仓库中的每个 Pull Request,请参阅 Code Review,这是一项由 Owner 为您的组织启用的托管服务。
/review 是 /code-review 的别名。在 v2.1.223 之前,/review 是一个单独的命令,对 GitHub Pull Request 执行单次、只读的审查。
1
运行 /code-review
运行命令:不指定目标时,审查涵盖当前分支上的变更。如需将审查指向 Pull Request、其他分支、路径或提交范围,请参阅选择审查内容。您还可以添加标志:
--fix:在审查后还要求 Claude 将发现的问题修复应用到您的工作树。其编辑会经过您的权限模式。--comment:将发现的问题以行内评论形式发布到 GitHub Pull Request 上,或以单条备注形式发布到 GitLab 合并请求上
2
继续工作
审查作为后台子代理运行,拥有自己的上下文窗口,因此不会占满您的对话。审查完成后,发现的问题会出现在您的对话中。
3
处理发现的问题
让 Claude 修复审查发现的问题。使用
--fix 或 --comment 时,Claude 会在审查过程中应用或发布发现的问题,系统可能会请您批准其编辑。选择审查内容
如需审查当前分支以外的内容,请在 effort 级别和任何标志之后输入目标。Claude 会将该文本作为审查目标接收。目标可以是 Pull Request 编号、分支名称、文件路径或 Git 修订范围。在第一列中找到您要审查的内容,然后输入第二列所示的内容:
不指定目标时,
/code-review 会审查您的分支领先于其上游分支的提交以及未提交的变更。如果分支没有上游,Claude 会与 main 或上一个提交进行比较。
使用 ultra 时,Claude Code 会以不同方式解读目标,详见 effort 级别和标志之后的文本。
审查读取和编辑的内容
在运行审查之前,尤其是使用--fix 时,请检查以下内容:
- 编辑:不使用
--fix时,审查的指令仅要求 Claude 提供报告。使用--fix时,还会要求它将发现的问题修复应用到您的工作树。无论哪种情况,任何编辑都会经过您的权限模式。 - 回退:后台审查在会话的检查点之外应用其
--fix编辑。在此之后,/rewind只会恢复 Claude 此前已在您的对话中编辑过的文件。审查对其他文件的编辑会保留,因此请使用 git 撤销这些编辑。当审查在前台运行时,它会在您自己的轮次中编辑工作树,因此/rewind会照常恢复其编辑。 - 指令:审查会遵循您的
CLAUDE.md,包括在非交互的-p运行中。它不会读取REVIEW.md。该文件用于配置 GitHub Pull Request 上的托管 Code Review 服务。
如何报告发现的问题
在以下两种运行中,Claude 都会在回复中以文本形式报告发现的问题:- 在终端会话中,
/code-review以分叉子代理的形式运行审查 - 在输出为文本或 JSON 的
-p运行中
ReportFindings 工具报告审查发现的问题。报告以发现列表的形式显示,每个条目会显示文件位置、一句话摘要,以及类别标签(例如 correctness,如果该问题带有类别)。宿主请求适用于所有 effort 级别,需要 Claude Code v2.1.218 或更高版本。
当 Claude 在会话后续修复已报告的问题时,会再次报告这些问题。Claude Code 随后会在更新后的发现列表中将每个问题标记为已修复、已跳过或无需更改。
调整 effort 和参数
除了--fix 和 --comment 之外,该命令还接受以下标志:
--post:在对github.comPull Request 进行ultra云端审查时,在启动对话框中预先选择将最终发现的问题发布到 PR。请参阅将发现的问题发布到 Pull Request。需要 Claude Code v2.1.227 或更高版本。--max-findings <n>、--max-findings all或--max-findings default:最多报告n个发现的问题,或使用all报告所有发现的问题,以替代审查的常规上限。当审查通过发现工具报告时,上限为 32。之后的审查会沿用您输入的值,直到您传入--max-findings default,但在非交互的-p运行中传入的值不会被记住。需要 Claude Code v2.1.288 或更高版本。
low 级别,审查会报告它最有把握的问题,因此您看到的误报更少。从 medium 到 max,审查会扩大覆盖范围。
如果您不输入级别,审查会沿用您上次输入的 low 到 max 之间的级别,即使是在之前的会话中输入的。Claude Code 会显示类似 Reusing high effort, the level you typed last time 的提示。以下规则决定一次运行使用哪个级别:
- 输入级别:您输入的级别(如
/code-review high)会改变之后运行所沿用的级别 - 非交互运行:在非交互的
-p运行中传入的级别不会更新记住的级别 ultra:审查既不使用也不更新记住的级别- 从未输入过级别:审查使用会话当前的 effort
/code-review 始终使用会话当前的 effort。
将发现的问题发布到 GitLab 合并请求
当您为 GitLab 合并请求传入--comment 时,Claude Code 会通过 GitLab 的 glab CLI 发布发现的问题。需要 Claude Code v2.1.257 或更高版本。如果未安装 glab,Claude 会改为在终端中打印发现的问题。
请以 URL 或 !123 引用的形式传入合并请求。仅当检出的 origin 位于 gitlab.com 上时,Claude Code 才会将单独的数字或分支名称视为合并请求。在自托管的 GitLab 实例上,请传入 URL 或 !123 形式。
effort 级别和标志之后的文本
在 effort 级别和标志之后,Claude Code 会将该行的其余部分读取为审查目标。ultra 参数会改变这种解读方式:
- 使用
ultra时:Claude Code 会将单个单词读取为基础分支或 PR 编号。未指明分支或 PR 的较长文本会成为附加到审查的备注。/code-review ultra check my auth changes会审查您的当前分支,Claude 会将发现的问题与您的备注关联起来。 - 不使用
ultra时:剩余的所有内容都是审查目标,即使它以另一个命令名称开头。/code-review /fix-issue 123会以/fix-issue 123作为目标文本进行审查,而不是将/fix-issue作为第二个叠加的 skill 加载。在 v2.1.218 之前,叠加在/code-review之后的命令会作为其自身的 skill 展开。
在前台运行
如需让审查在前台运行,请执行以下操作之一:- 在非交互模式下运行,使用
-p标志或 Agent SDK。Claude Code 会等待审查完成,并在响应中包含发现的问题,但ultra除外,它不会等待云端审查。 - 将
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS设置为1,这也会关闭所有其他后台任务功能 - 在之前的审查仍在进行时再次运行
/code-review
让 Claude 启动审查
Claude 可以自行启动/code-review,无需您输入命令:
- 当您用自然语言提出请求时:请 Claude 审查您的变更,它就可以运行该 skill
- 通过定时任务:以
/code-review作为提示词的定时任务会运行审查
ultra 参数的情况下安排 /code-review。
如需阻止 Claude 和定时任务启动审查,同时保留 /code-review 供您手动输入,请在设置文件(例如 ~/.claude/settings.json)中添加 skillOverrides 条目:
/code-review。在不获取功能标志的会话中,/code-review 仅在您输入时运行,而定时的 /code-review 会作为纯文本发送给 Claude。
升级到 ultrareview
/code-review ultra --fix 会在云端运行更深入的 ultrareview,然后在发现的问题返回到您的会话时,要求 Claude 将其修复应用到您的工作树。
Ultrareview 使用自己的范围:
- 比较内容:您的当前分支与仓库默认分支的对比,以及工作树中未提交和已暂存的变更
- 敏感文件:对于名称类似凭据或密钥的文件(例如
.env和*.tfvars文件)的未提交变更,Claude Code 会遵循将本地仓库上传到云端会话的规则 - 不同的基础分支:传入分支名称(例如
/code-review ultra develop)以与不同的基础分支进行比较
github.com Pull Request 时,您可以让 Claude 以您的 GitHub 账户身份将最终发现的问题作为评论发布到 PR。需要 Claude Code v2.1.227 或更高版本。
如需从脚本或 CI 作业运行云端审查,请使用
claude ultrareview 子命令,它会等待发现的问题并将其打印到 stdout。
修改或基于审查进行构建
/code-review 是一个随附 skill:其指令内置于 Claude Code 中,因此磁盘上没有可打开或编辑的 SKILL.md 文件。如需为每次审查提供需遵循的项目规则,请将其添加到您的 CLAUDE.md 中。如需更进一步,请从以下页面之一开始:
- 替换命令:名为
code-review的项目或个人 skill 会替代随附的 skill 运行,而/review别名仍会运行随附的审查。请参阅解决同名 skill 的冲突。 - 构建您自己的审查器:编写一个审查子代理或审查 skill
- 使用相邻命令:
/simplify仅审查清理方面的问题并应用其修复,/verify会运行您的应用以确认变更有效
/simplify,当时它默认会应用修复。如果您曾编写脚本使用 /simplify 查找 bug,请改用 /code-review --fix。
相关资源
- Code Review:为您的组织审查 GitHub 上每个 Pull Request 的托管服务
- Ultrareview:更深入的云端审查的设置、限制和费用
- 命令:
/code-review、/review、/simplify和/verify的单行参考 - Skills:随附 skill 的工作原理以及如何编写您自己的 skill