Claude Media
Claude Codeのcode-reviewプラグイン — PRを多角レビューする手順

Claude Codeのcode-reviewプラグイン — PRを多角レビューする手順

Anthropic製code-reviewプラグインの入れ方、組み込みの/code-reviewと名前が衝突しない呼び方、レビュー担当エージェントの分担、信頼度80のフィルタ、CLAUDE.mdの書き方を手順でまとめます。

code-reviewプラグインは、Anthropicが公開しているプルリクエスト(PR)向けの自動レビュー用プラグインです。複数のレビュー担当エージェントを並列に走らせ、各指摘に0〜100の信頼度を付け、80以上のものだけをPRのコメントとして投稿します。

名前が組み込みの/code-reviewと同じなので、混同されやすい組み合わせです。このプラグインは別物として入り、呼び出しは/code-review:code-reviewになります。ここでは入れ方、コマンドの中身、閾値とCLAUDE.mdの扱い、組み込み版との使い分けを順に書きます。

code-reviewプラグインは何をするのか

マーケットプレイスの説明では、Anthropic verifiedの表示があるプラグインで、提供元はAnthropicです。目的は「専門化した複数のエージェントと信頼度によるフィルタで、PRのレビューを自動化する」ことです。

数字

プラグインの要点

  • 信頼度の既定の閾値

    80

    これ未満の指摘は投稿しない

  • 信頼度の目盛り

    0〜100

    0 / 25 / 50 / 75 / 100の5段階で採点

  • 動作条件

    gh認証済み

    GitHub CLIが入っていてログイン済み

マーケットプレイスの説明とREADMEの値

誤検知を減らすために、投稿する指摘を絞る設計です。指摘を増やして網羅するのではなく、「出すなら確度が高いものだけ」に寄せています。

対象外のPRも最初に弾きます。閉じているPR、ドラフトのPR、自動生成で単純なPR、すでに同じレビューが付いているPRは、レビューを始めません。すでにレビュー済みかどうかを見る判定が、実行の最初と最後に入っています。

コメントの形式も決まっています。各指摘に、フルのコミットSHAと行範囲を含むGitHubのリンクが付きます。コマンド定義は、フルSHAを使わないとMarkdownのプレビューが正しく表示されないとして、形式を厳密に指定しています。

入れ方と呼び方

導入はプラグインの標準手順です。公式マーケットプレイスは対話セッションの初回起動で登録されます。

/plugin install code-review@claude-plugins-official

セッション内では、このコマンドはすぐにインストールせず、プラグインの詳細パネルを開きます。そこでスコープを選んで確定します。シェルから入れる場合は次の形です。

claude plugin install code-review@claude-plugins-official

前提は2つです。GitHub CLI(gh)が入っていて認証済みであること、そしてGitHubと連携したGitリポジトリで動かすことです。CLAUDE.mdは必須ではありませんが、あると準拠チェックが働きます。

呼び出しは名前空間付きになる

プラグインの部品は、プラグイン名の名前空間の下に置かれます。たとえばdeploy-toolsのreviewerはdeploy-tools:reviewerとして現れます。code-reviewプラグインのコマンドも同じで、呼び出しは次の形になります。

/code-review:code-review

素の/code-reviewは、Claude Codeに同梱された組み込みの/code-reviewです。プラグインのスキルは/plugin-name:skill-nameとして名前空間が分かれるため、両者は共存します。GitHub Actionsから呼ぶ例でも、プロンプトは/code-review:code-review --comment <owner>/<repo>/pull/<番号>の形で書かれます。

落とし穴

/code-reviewを打ってもプラグイン側は動かない

プラグインを入れた後に素の/code-reviewを打つと、動くのは組み込み版です。信頼度80のフィルタやCLAUDE.md準拠チェックを試したいときは、名前空間付きの/code-review:code-reviewを明示します。

コマンドの中では何が起きるのか

プラグインの実体はcommands/code-review.mdという1枚のコマンド定義です。ここに手順が8段で書かれていて、Claudeがその順に実行します。

手順

/code-review:code-reviewの実行の流れ

  1. 1

    対象にするか確かめる

    軽量のHaikuエージェントが、PRが閉じていないか、ドラフトでないか、レビュー不要(自動生成や自明な変更)でないか、自分のレビューが既に付いていないかを調べます。

  2. 2

    CLAUDE.mdの場所を集める

    ルートのCLAUDE.mdと、PRが触ったファイルのディレクトリにあるCLAUDE.mdのパスだけを集めます。中身は渡しません。

  3. 3

    変更を要約する

    別のHaikuエージェントがPRを読み、変更の要約を返します。

  4. 4

    レビュー担当を並列に走らせる

    SonnetのエージェントがそれぞれPRを独立にレビューし、指摘とその理由を返します。担当の分け方は次の節で扱います。

  5. 5

    指摘ごとに信頼度を付ける

    指摘1件につき1つのHaikuエージェントが、PRと指摘の内容とCLAUDE.mdの一覧を受け取り、0〜100で採点します。

  6. 6

    80未満を落とす

    閾値に届く指摘がなければ、そこで終わります。

  7. 7

    対象のままか再確認する

    手順1と同じ判定をもう一度行い、レビュー中にPRが閉じられたり、他でレビューされたりしていないかを見ます。

  8. 8

    ghでコメントを投稿する

    ghでPRにコメントします。簡潔に、絵文字を使わず、コードとファイルにリンクを付ける指示です。

コマンド定義の冒頭にはallowed-toolsとして、gh pr comment、gh pr diff、gh pr view、gh pr list、gh issue view、gh issue list、gh searchの7つが書かれています。投稿に使えるのはgh pr commentで、コードをビルドしたり型検査を走らせたりはしない設計です。ビルドや型検査はCIの仕事だとコマンド側が割り切っています。

レビュー担当は4人か5人か

担当の数は、資料によって書き方が違います。READMEは「4つの並列エージェント」と書き、担当を次のように割ります。

  • エージェント1と2: CLAUDE.mdへの準拠を監査する
  • エージェント3: 変更の中にある明らかなバグを探す
  • エージェント4: git blameと履歴から、文脈に基づく問題を探す

一方、マーケットプレイスの説明は「5つの独立したレビュアー」で、CLAUDE.mdの準拠、バグ検出、gitの履歴、過去のPRコメント、コード内コメントの検証を挙げます。コマンド定義(commands/code-review.md)も5つで、手順4が次のように分かれています。

担当見るもの
1見るもの変更がCLAUDE.mdに従っているか。CLAUDE.mdは書くときのガイドなので、レビューに当てはまらない指示もある、と注記される
2見るもの変更部分だけを読む浅いバグ走査。大きなバグに絞り、細かい指摘は避ける
3見るものgit blameと履歴を読み、履歴の文脈から見えるバグを探す
4見るもの同じファイルを触った過去のPRを読み、そこで付いたコメントが今回にも当てはまるか見る
5見るもの変更したファイルのコード内コメントの指示に、変更が従っているか見る

READMEはCLAUDE.md準拠を2人で見る割り方で、コマンド定義とは担当の分け方も違います。実際にClaudeが読んで実行するのはcommands/code-review.mdの中身です。挙動を知りたいときは、READMEよりコマンド定義を見るのが確実です。この記事の担当表も、コマンド定義に沿った5担当で書いています。

READMEの「Launch 4 review agents」を信じてコスト見積もりをすると、実際の呼び出し数が合いません。担当の数に加えて、手順1・2・3・5・7でHaikuエージェントが動くからです。指摘1件ごとに採点エージェントが1つ付く点も、見積もりに効きます。

信頼度80のフィルタと、落とされる指摘

採点は次の目盛りで、エージェントに一字一句そのまま渡されます。

点数意味
0意味まったく自信がない。誤検知か、すでにあった問題
25意味多少自信がある。本物かもしれないが誤検知かもしれず、確認できていない
50意味中程度。本物と確認できたが、些細か、実際にはあまり起きない
75意味高い。二重に確認し、実際に踏む問題とほぼ言える。CLAUDE.mdで直接触れられている問題もここ
100意味確実。何度も起きると証拠で確認できた

投稿されるのは80以上だけです。

CLAUDE.mdを根拠にする指摘には、追加の確認が入ります。採点エージェントが、CLAUDE.mdが本当にその点を名指ししているかを確かめます。曖昧な規約を根拠にした指摘は落ちやすい仕組みです。

コマンド定義は、誤検知として扱う例を列挙しています。

  • 以前からある問題(PRで入ったものでない)
  • バグに見えるが実際にはバグでないもの
  • シニアエンジニアなら指摘しない細かい指摘
  • リンター、型検査、コンパイラが拾う問題
  • CLAUDE.mdが求めない一般的な品質の話(テスト不足、ドキュメント不足など)
  • CLAUDE.mdで禁じられていても、lint ignoreコメントなどで意図的に黙らされたもの
  • 意図したと思われる機能変更
  • PRで触れていない行の問題

つまり、このプラグインは「新しく入った、CLAUDE.mdか明白なバグに根拠がある指摘」に寄せたレビューです。網羅的な品質監査や、スタイルの指摘は期待しない道具です。

CLAUDE.mdを書いて精度を上げる

準拠チェックの担当が働くかどうかは、CLAUDE.mdの書き方で決まります。READMEも「CLAUDE.mdをより具体的にする」ことを、誤検知対策の第一手にしています。

PRレビューで拾わせたい規約は、検査可能な形で書きます。「きれいに書く」ではなく、違反を1行で指せる規則にします。

# Review rules
 
- OAuthのコールバックは必ずエラーを処理する(`catch`で握りつぶさない)
- 関数名はcamelCase、型名はPascalCaseにする
- `src/payments/`のDB書き込みは必ずトランザクション内で行う
- 外部APIの呼び出しにはタイムアウトを指定する

規約はディレクトリごとに置けます。コマンドは、PRが触ったファイルのディレクトリにあるCLAUDE.mdも集めます。src/payments/CLAUDE.mdのように範囲を絞った規約を置けば、その配下の変更のレビューで参照されます。

READMEのコメント例でも、指摘の根拠にCLAUDE.mdの文言が引用されます。たとえば「OAuthのコールバックのエラー処理が欠けている(CLAUDE.mdに"Always handle OAuth errors"とある)」のような形です。規約の文言がそのまま根拠に出るので、レビューの指摘が出たときに、どの規約が効いたのかを追えます。

READMEは、繰り返し出るレビューの指摘をもとにCLAUDE.mdを更新することも勧めています。

閾値やスキップ条件を変えたいとき

マーケットプレイスの説明は、信頼度の閾値と重点領域(セキュリティ、パフォーマンス、アクセシビリティ)を「コマンドの設定を編集して」変えられる、と書いています。専用の設定項目やフラグがあるわけではなく、変える場所はcommands/code-review.mdの文面です。

閾値は手順6の「80未満の指摘を落とす」の数字です。重点領域を足すなら、手順4の担当の指示文に書き足します。引数で厳しさを変えたい場合は、後述の組み込み版にeffortの指定があります。

投稿されない理由は、READMEのトラブルシュートが5つ挙げています。

  • PRが閉じている
  • PRがドラフトである
  • 自動生成や自明で、レビューするまでもないと判定された
  • 以前のレビューがすでに付いている
  • 80以上の指摘が1件もなかった

最後の項目は、動作の失敗ではありません。コメントが付かないときは、指摘が閾値に届かなかった可能性も含めて切り分けます。

コメントのリンクが壊れる場合は、フルSHAと#L<開始>-L<終了>の形、そして指摘の前後に最低1行の文脈を含む範囲になっているかを確かめます。ghが失敗するなら、認証状態を見直します。大きなPRで時間がかかるのは通常の挙動で、PRを小さく分けるのが対処です。

組み込みの/code-reviewとどう使い分けるか

Claude Codeには、同名の組み込みコマンドがあります。こちらは現在の差分、またはPR番号・ブランチ・パスを指定して、正しさのバグを調べます。--fixで指摘を作業ツリーに適用し、--commentでGitHubのPRやGitLabのMRに投稿でき、lowからmax、ultraまでのeffortを指定できます。

観点プラグイン(/code-review:code-review)組み込み(/code-review)
呼び出しプラグイン(/code-review:code-review)名前空間付き組み込み(/code-review)素の名前、別名は/review
主な対象プラグイン(/code-review:code-review)PR(ghでの投稿が前提)組み込み(/code-review)現在の差分、PR番号、ブランチ、パス
絞り込みプラグイン(/code-review:code-review)信頼度80のフィルタ組み込み(/code-review)effortのレベルで厳しさが変わる
指摘の適用プラグイン(/code-review:code-review)投稿のみ組み込み(/code-review)--fixで作業ツリーに適用できる
調整の方法プラグイン(/code-review:code-review)コマンド定義の文面を編集組み込み(/code-review)引数とフラグ

PR単位でレビューを走らせ、規約への準拠を指摘させたいなら、プラグインが向きます。手元の変更を修正まで進めたいなら、組み込み版です。effortの使い方はClaude Code /code-reviewでeffortを指定するに、Actionsを含めた実行経路の比較はClaude Codeコードレビューの4つの実行経路にあります。

クリーンアップ寄りの確認が欲しいときは、/simplifyコマンドが別の役割を持ちます。外部サービス型のレビューを入れたい場合は、Optibotプラグインのような別のプラグインが選択肢になります。

使わないほうがよい場面も、READMEは明記しています。即時マージが必要な緊急のホットフィックスと、閉じている・ドラフト・自動生成のPR(そもそも自動でスキップされる)です。逆に向くのは、意味のある変更を含むPR、重要な経路に触れるPR、複数人が関わるPR、規約への準拠が重要なPRです。

自動化に組み込む

READMEは、PR作成のたびに自動実行し、すでにレビューがあればスキップする運用を、CI/CDへの組み込み例として示しています。実際のワークフローの書き方は、Claude Codeコードレビューの4つの実行経路にYAMLの例があります。

ローカルで使う基本の流れは単純です。PRを作り、プラグインのコマンドでレビューし、指摘を直してからマージします。出た指摘は人のレビューの代わりではなく、確認の出発点として扱うのがREADMEの位置づけです。

まとめ

code-reviewプラグインは、PRに対して「CLAUDE.mdか明白なバグに根拠のある、信頼度80以上の指摘」だけを返す道具です。素の/code-reviewは組み込み版で、プラグインは/code-review:code-reviewとして呼びます。

挙動はREADMEの「4担当」ではなく、コマンド定義の5担当と、Haikuによる採点が基準です。コメントが出ないときは、まずPRの状態と閾値を疑ってください。精度を上げる近道は、検査できる粒度でCLAUDE.mdに規約を書くことです。

この記事を共有:XはてブLinkedIn