/code-review 是在您工作的工作階段中,於 Claude Code 提示詞輸入處輸入的命令。Claude 會審查您分支上的變更、尋找正確性錯誤,並在對話中回報發現的問題。視您的模型與 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 merge request
2
繼續工作
審查會以背景 subagent 的形式執行,擁有自己的上下文視窗,因此不會填滿您的對話。審查完成時,發現的問題會出現在您的對話中。
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會以 forked subagent 的形式執行審查 - 在使用文字或 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 merge request
當您為 GitLab merge request 傳入--comment 時,Claude Code 會透過 GitLab 的 glab CLI 張貼發現的問題。需要 Claude Code v2.1.257 或更新版本。若未安裝 glab,Claude 會改為在終端機中印出發現的問題。
請以 URL 或 !123 參照的形式傳入 merge request。只有當檢出的 origin 位於 gitlab.com 時,Claude Code 才會將單純的數字或分支名稱視為 merge request。在自行管理的 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。 - 打造您自己的審查者:撰寫審查者 subagent 或審查 skill
- 使用相關命令:
/simplify僅審查整理方面的問題並套用其修正,而/verify會執行您的應用程式以確認變更是否有效
/simplify,當時預設會套用修正。若您曾為了找出錯誤而在指令碼中使用 /simplify,請改用 /code-review --fix。
相關資源
- Code Review:為您的組織審查 GitHub 上每個 pull request 的託管服務
- Ultrareview:更深入的雲端審查的設定、限制與費用
- 命令:
/code-review、/review、/simplify與/verify的單行參考 - Skills:隨附 skill 的運作方式,以及如何撰寫您自己的 skill