Claude Codeのコードレビュー活用術:/code-review・ultrareview・PR自動レビューを1本のフローに統合する

Claude Codeのコードレビュー活用術:/code-review・ultrareview・PR自動レビューを1本のフローに統合する Claude Code活用

はじめに

Claude Codeのコードレビュー関連機能は、2026年に入ってから段階的に拡張されてきた。4月(Week 17)に/ultrareviewがクラウドでの深いレビューとしてリサーチプレビュー公開され、5月(Week 21)に日常使いの/code-reviewコマンドが追加、7月(Week 30)には/code-reviewがバックグラウンドサブエージェントとして動くよう変更、8月上旬(v2.1.223)には/reviewが/code-reviewのエイリアスに統合されultra引数でのクラウドエスカレーションが整理された。

これらは公式ドキュメントでは「ローカルの/code-review」「クラウドのultrareview」「GitHub組織向けの自動PRレビュー」という3つの別ページに分かれて説明されている。しかし実務では、コミットしてから実際にPRをマージするまでの間に、この3つを段階的に使い分けるのが合理的だ。この記事では、公式ドキュメント(code.claude.com/docs/en/code-review、/ultrareview、および各週のwhats-newダイジェスト)で確認できる仕様をもとに、その使い分け方を1本のフローとして整理する。あわせて、/code-reviewと--fixを実際に検証用のGitリポジトリで実行した結果も掲載する。

なお、着想の出発点としてYouTube「AI大学【AI&ChatGPT最新情報】」の直近動画一覧も確認したが、コードレビュー機能そのものを扱った動画は見当たらなかった。そのためこの記事のテーマは、このブログの「今後の深掘り候補」リストにあった「/code-review・ultrareviewでのコード品質管理」から選んでいる。

手順:前提条件と全体像を把握する

/code-reviewとその周辺機能を使う前に、次を確認しておく。

  1. バージョン: --postフラグ(ultraレビューの結果をPRにコメント投稿)にはv2.1.227以降が必要。ultra引数への文章渡し(自然文でのメモ添付)にはv2.1.218以降が必要。
claude --version

期待結果: 2.1.227以上であれば、この記事で紹介する機能をすべて使える。それより古い場合は一部の引数(--postなど)が使えない。

  1. 全体の使い分けを把握する: 公式ドキュメントの比較表によれば、/code-review(ローカル)と/code-review ultra(クラウド)は次のように役割が違う。
/code-review /code-review ultra
実行場所 自分のマシン クラウドのサンドボックス
所要時間 数秒〜数分 5〜10分程度
深さ effortレベルに応じて調整 複数エージェントが独立して裏取りしながら検証
コスト 通常の利用枠に含まれる Pro/Maxは無料3回、以降は都度課金(usage credits)
向いている場面 作業中の素早いフィードバック マージ前の最終チェック

この表はどのドキュメントページにもそのままの形では載っていないが、/docs/en/ultrareview内の比較セクションの内容を突き合わせて整理したものだ。

プロンプト:コピペで試せる6本

いずれも、レビュー対象のGitリポジトリ内でそのまま入力できる。1〜2は実際に検証用リポジトリで実行した結果を、3〜6は公式ドキュメントに明記された挙動をもとにしている(未実行のものは本文でその旨を明記する)。

1. 作業中に素早くセルフレビューする(実行検証済み)

/code-review low

期待結果: 現在のブランチのupstreamとの差分、および未コミットの変更がバックグラウンドサブエージェントとしてレビューされる。lowは最も自信度の高い指摘のみに絞られる。

成功判定: 会話に指摘(finding)が返るか、問題が無ければその旨が返る。

検証のため、price - (price * percent / 100)という正しい割引計算関数apply_discountに加えて、税込み合計を返すはずなのに税額だけを返してしまうバグ(total_with_tax(discounted, tax_rate) - discountedという誤った引き算)を仕込んだcheckout_total関数を用意し、/tmp上の使い捨てGitリポジトリで/code-review lowを実行した。返ってきた結果は次の通り。

- calc.py:13 — checkout_total computes total_with_tax(discounted, tax_rate) - discounted,
  which returns only the tax amount, not the actual total; a function named checkout_total
  called with e.g. price=100, percent=10 returns 9.0 (the tax) instead of 99.0
  (discounted price + tax), silently breaking any caller expecting the full amount due.

low(最も誤検知が少ない設定)でも、この種の「関数名と実装のズレ」は具体的な入力例(price=100, percent=10→9.0)付きで検出された。

2. 見つかった問題をその場で修正する(実行検証済み)

/code-review high --fix

期待結果: highでより広くカバーしつつ、見つかった問題をレビューがそのまま作業ツリーに適用する。

成功判定: git diffで実際にファイルが変更されていることを確認できる。

同じ検証リポジトリで--fix付きで実行したところ、calc.pyの該当行が実際に書き換わった。

-    return total_with_tax(discounted, tax_rate) - discounted
+    return total_with_tax(discounted, tax_rate)

レビュー結果のテキストにも「Fixed by returning total_with_tax(discounted, tax_rate) directly」という一文が含まれており、指摘と修正が対応していることが確認できた。

3. マージ前にクラウドで深いレビューをかける

/code-review ultra

期待結果: 公式ドキュメントによれば、現在のブランチとデフォルトブランチとの差分(未コミット・ステージ済みの変更を含む)がクラウドのサンドボックスにアップロードされ、複数のレビューエージェントが並行して調査したうえで、指摘を独立に再現・検証してから返す。実行前にレビュー範囲・残りの無料実行回数・概算コストを示す確認ダイアログが出る。

成功判定: 確認後、5〜10分ほどでfindingsが通知として会話に届く。Pro/Maxプランは合計3回まで無料(アカウントごとの一回限りの割り当てで、時間が経っても再チャージされない)、それ以降は1回あたりおよそ5〜25ドル相当のusage creditsが課金される。このプロンプトは今回の検証では未実行(課金を伴うクラウド実行のため)。ドキュメントに明記された仕様として記載している。

4. 特定のPRをレビューし、結果をPRに投稿する

/code-review ultra 1234 --post

期待結果: PR番号(#1234やPRのURLでも可)を渡すと、ローカルの作業ツリーではなくGitHub上のPRを直接クローンしてレビューする。--postを付けると、起動時の確認ダイアログで「Run and post the findings to the PR as me」があらかじめ選択された状態になり、レビュー完了時に自分のGitHubアカウントとして1件のプレーンコメント(末尾に「Generated by Claude Code」の注記付き)がPRに投稿される。

成功判定: PRのコメント欄に1件だけコメントが追加される。承認やレビュー(Approve/Request changes)ではなく通常のコメントである点に注意。セッションを閉じた状態でレビューが完了すると投稿は行われない。このプロンプトも未実行(他者のPRやCI環境に実際に投稿してしまう副作用があるため、検証目的でも実行していない)。

5. CI/スクリプトから非対話でクラウドレビューを実行する

claude ultrareview origin/main --json --timeout 15

期待結果: claude ultrareviewサブコマンドは、/code-review ultraと同じクラウドレビューを起動し、完了まで待ってから結果をstdoutに出力する(-p '/code-review ultra'と違い、待たずに追跡リンクだけ出す挙動にはならない)。--jsonで生のbugs.json形式、--timeout 15で最大待機時間を15分に設定する(既定は30分)。

成功判定: 終了コードが0ならレビュー自体は完了(指摘の有無に関わらず)、1なら起動失敗またはタイムアウト、130ならCtrl-Cによる中断。CIスクリプトならecho $?で判定し、jqでJSONを解析してビルドを分岐できる。このコマンドはclaude.aiアカウントでの認証とusage creditsの利用設定が前提になるため、今回は未実行。

6. Claudeが自分の判断でレビューを起動しないよう固定する

{
  "skillOverrides": {
    "code-review": "user-invocable-only"
  }
}

~/.claude/settings.jsonに上記を追記する。期待結果: 公式ドキュメントによれば、v2.1.215以降Claudeは/verify・/code-review・/deep-researchを自分の判断では起動しなくなった(それ以前は自動実行していた)が、それでも「レビューして」のような自然文の依頼や、スケジュールタスクの本文からは起動されうる。この設定を入れると、ユーザーが明示的に/code-reviewと打った場合のみ実行されるようになる。

成功判定: 「変更をレビューして」と自然文で頼んでもレビューが起動されず、/code-reviewを直接入力したときだけ起動することを確認する。共有環境や無人実行のスケジュールタスクで、意図しないクラウド課金(ultra)や無関係なレビューが走るのを防ぎたい場合に有効。このプロンプトは設定ファイルの記述例であり、動作そのものは公式ドキュメントの記載に基づく(実行環境を変更する検証は行っていない)。

活用例:PRを出すまでの1本のレビューフローに統合する

ここまでの6つの機能は個別に使うこともできるが、「コミットしてからマージするまで」の1本のフローとして組むと、それぞれの役割がはっきりする。

  1. 作業中はlowかmediumのローカルレビューを軽く回す。 effortレベルを指定しないと直前に自分が打ったレベルを再利用する仕様なので(セッションをまたいでも有効)、最初に一度/code-review lowのように明示しておくと、以後は/code-reviewだけで同じ基準を保てる。
  2. 区切りの良いところでhigh以上にして--fixを付け、機械的に直せる問題を一括修正する。 修正後は必ずgit diffで内容を確認する(検証結果の通り、--fixは実際にファイルを書き換える)。
  3. PRを出す直前に/code-review ultraでクラウドの深いレビューをかける。 ローカルレビューでは見つからない、依存関係をまたぐ問題の裏取りができる。Pro/Maxの無料3回はアカウント単位の一度きりの割り当てなので、本当に重要な変更のために温存する判断もありうる。
  4. PRを開いたら、番号を指定したultraレビューに--postを付けて、結果をPRコメントとして残す。 レビューが完了する前にセッションを閉じると投稿されない点に注意し、投稿を狙う場合はレビューが終わるまで待つ。
  5. CIパイプラインにはclaude ultrareviewサブコマンドを組み込み、終了コードでビルドを分岐させる。 インタラクティブな確認ダイアログを経由しない分、事前に組織のusage credits設定を有効にしておく必要がある。
  6. 無人実行やスケジュールタスクの環境にはskillOverridesを設定しておく。 自然文の依頼や自動化されたタスクから意図せずultraが起動して課金される事態を避けられる。

この一連の流れそのものは、公式ドキュメントのどのページにも「1本のワークフロー」としては書かれていない。/code-reviewのページはローカル実行を、ultrareviewのページはクラウド実行を、code-review(GitHub連携)のページは組織向けの自動化を、それぞれ独立に説明している。

なお、組織のOwnerがTeam/Enterpriseプランで有効化する「GitHub PR自動レビュー」(@claude reviewコメントで起動するタイプ)は、CLAUDE.mdの記述を軽微な指摘として、REVIEW.mdの記述を重大度判定の基準として読み込む2段構えになっている。個人のPro/Maxプランでは使えない機能のため、この記事では検証していないが、チーム導入を検討する際の選択肢として触れておく。

注意点(ドキュメントを読み込んで分かった落とし穴)

  • --fixの修正はバックグラウンドで走ると/rewindで戻せない。 公式ドキュメントに「a background review applies its --fix edits outside your session’s checkpoints, so /rewind doesn’t undo them; use git to revert them」と明記されている。今回の検証でも--fixは会話のターンとは独立に(バックグラウンドサブエージェントとして)ファイルを書き換えていた。気に入らない修正が入った場合は/rewindではなくgit checkoutやgit diffからの手動revertが必要になる。
  • effortレベルの「直前の値を再利用する」仕様は、セッションをまたいで効く。 一度でも/code-review highのようにレベルを明示すると、以後別のセッションで無指定の/code-reviewを打ってもhighのままになる。「今日はさっとlowで確認したい」つもりが、前回highを打った記憶がないまま重いレビューが走る、ということが起こりうる。ultraはこの記憶の対象外(記憶を更新せず、記憶も参照しない)なので、ultraを挟んでも直前のレベル管理には影響しない。
  • コマンド名は過去に変わっている。 v2.1.147より前は/simplifyという名前でバグ探しと修正を兼ねたコマンドだった。v2.1.154以降/simplifyはバグ探しをしない「クリーンアップ専用」コマンドに分離され、バグ探し+修正は/code-review --fixに一本化された。古い記事や社内メモが/simplifyを紹介している場合、現在の挙動とは異なる点に注意が要る。
  • ultraの--postはGitHub上のPRにのみ有効で、しかもレビュー完了まで元のセッションを開いたままにする必要がある。 ローカルブランチのレビューやGitHub Enterprise Serverのリポジトリでは投稿されず、会話内に結果が表示されるだけになる。セッションを閉じてしまうと、レビュー自体は完了していても投稿は一切行われない。
  • クラウドレビュー(ultra)には差分サイズの上限がある。 ブランチレビューは既定で最大500ファイル・8,000変更行までで、それを超えると拒否される(拒否メッセージに実際の上限値と変更量の多いファイルが表示される)。巨大な一括コミットや大規模リファクタリングPRでは、先に分割するか、PRモード(番号指定)に切り替える必要がある。
  • 無料3回の枠はPro/Maxアカウントの一度きりの割り当てで、時間が経っても回復しない。 Team/Enterpriseには無料枠自体が無い。組織的に使う場合は最初からusage creditsのコスト管理(claude.ai/admin-settings/usageでのスペンドキャップ設定)を前提に運用設計したほうがよい。

あわせて読みたい

まとめ

/code-reviewと/code-review ultra(/ultrareviewのエイリアス)、そしてGitHub向けの自動PRレビューは、いずれも「コードの変更を検証する」という同じ目的を持ちながら、実行場所・深さ・コストが異なる3段構えの機能になっている。今日試すなら、まず自分の作業ブランチで/code-review lowを実行し、effortレベルの再利用や--fixの挙動を自分の目で確認するところから始めるのがよい。そのうえで、本当に重要な変更をマージする前だけ/code-review ultraを使う、という使い分けの線引きを自分の中で決めておくと、無料枠やusage creditsを無駄にしない運用につながる。

参考情報

  • Code Review(GitHub PR自動レビュー): https://code.claude.com/docs/en/code-review
  • Find bugs with ultrareview: https://code.claude.com/docs/en/ultrareview
  • Claude Code What’s new — Week 17(/ultrareviewリサーチプレビュー公開): https://code.claude.com/docs/en/whats-new/2026-w17
  • Claude Code What’s new — Week 18(claude ultrareviewのCI/スクリプト対応): https://code.claude.com/docs/en/whats-new/2026-w18
  • Claude Code What’s new — Week 21(/code-reviewコマンド追加): https://code.claude.com/docs/en/whats-new/2026-w21
  • Claude Code What’s new — Week 30(/code-reviewがバックグラウンドサブエージェント化): https://code.claude.com/docs/en/whats-new/2026-w30
  • Claude Code Changelog: https://code.claude.com/docs/en/changelog

Comments

Copied title and URL