pr-review-toolkitは、Anthropicが公式マーケットプレイスで配布しているClaude Codeのプラグインです。コメントの正確性・テスト・エラー処理・型設計・規約遵守・簡潔化の6観点それぞれに専用のサブエージェントを持ち、/pr-review-toolkit:review-pr から呼び出します。名前に「PR」と付いていますが、GitHub Actionでもアプリでもなく、手元のClaude Codeの中で動きます。PRにコメントも投稿しません。この記事では、導入コマンド、引数で観点を絞る方法、6エージェントの採点基準、2026年10月14日にClaude Code 2.1.296で実行した結果、GitHub Actionsで動かすときの注意点、/code-review との使い分けを、公式リポジトリの定義ファイルとドキュメントに沿って説明します。
まとめ:pr-review-toolkitの要点
- 実体:Claude Codeのプラグイン。中身はサブエージェント6本とコマンド1本(
review-pr)だけで、CIで動く仕組みは含まない。 - 導入:
/plugin install pr-review-toolkit@claude-plugins-official。デモ版(@claude-code-plugins)は2025年10月から更新が止まっているので使わない。 - 使い方:
/pr-review-toolkit:review-pr tests errorsのように観点を引数で絞れる。all parallelで変更内容に該当するレビューを並列実行するよう依頼できる。 - 費用:プラグインは無料。code-reviewerとcode-simplifierはOpus指定なので、観点を絞ると抑えやすい。
- PRへの自動コメントが目的なら別の手段:標準搭載の
/code-review --comment、GitHub Actionsの公式例、マネージドのCode Reviewのどれかを選ぶ。
以下、導入から順に説明します。
pr-review-toolkitの実体:GitHub Actionではなく、Claude Codeのプラグイン
配布物のディレクトリには .claude-plugin、README.md、LICENSE、agents、commands しかありません(公式マーケットプレイスのリポジトリ)。agents にはMarkdownで書いたサブエージェント定義が6ファイル、commands には review-pr.md が1ファイル入っています。action.yml もDockerイメージも無いので、GitHubのMarketplaceで「PR Review Toolkit」というActionを探しても見つかりません。
Anthropicのプラグインカタログ(Claude Marketplace)では「Anthropic認定済み」と表示され、インストール数は114,856でした(2026年10月14日時点)。
公式版とデモ版の違い
同じ名前のプラグインが2つのマーケットプレイスにあり、インストール名の末尾が @claude-plugins-official か @claude-code-plugins かで見分けます。中身は同じではありません。
| 項目 | 公式版 | デモ版 |
|---|---|---|
| インストール名 | @claude-plugins-official |
@claude-code-plugins |
| リポジトリ | anthropics/claude-plugins-official |
anthropics/claude-code |
| マーケットプレイスの追加 | 不要(初回起動時に自動登録) | 必要 |
| 最終更新 | 2026年4月28日 | 2025年10月8日 |
| 版の表示 | コミットSHA | 1.0.0 |
| LICENSEファイル | Apache 2.0 | なし |
公式版は2026年4月に、エージェント定義の呼び出し例を会話の書き起こしから説明文へ書き換えています。デモ版にはこの更新が入っていません。公式ドキュメントのAnthropicのマーケットプレイス一覧も、両方にあるプラグインは公式版から入れて二重インストールを避けるよう書いています。古い解説記事の手順に /plugin marketplace add anthropics/claude-code があれば、それはデモ版の入れ方です。
pr-review-toolkitの導入コマンドとインストール範囲
セッション内の/plugin installとスコープ選択
公式マーケットプレイスは、対話モードのClaude Codeを初めて起動したときに自動で登録されます。セッションで次を実行します。
/plugin install pr-review-toolkit@claude-plugins-official
すぐにはインストールされず、プラグインの詳細画面が開きます。ここで追加されるコマンドとエージェント、毎ターン消費するトークンの見積もり(Every turn)、呼び出したときの見積もり(When invoked)を確認してから、スコープを選びます。
| スコープ | 書き込み先 | 有効になる範囲 |
|---|---|---|
| User(既定) | ~/.claude/settings.json |
自分の全プロジェクト |
| Project | .claude/settings.json |
リポジトリの共同作業者全員 |
| Local | .claude/settings.local.json |
このリポジトリの自分だけ |
Projectを選んで設定ファイルをコミットしても、共同作業者の端末にプラグイン本体はダウンロードされません。有効化の設定が共有されるだけなので、各自が一度インストールします(公式ドキュメントのインストール手順)。自作プラグインを社内のマーケットプレイスで配る方法はClaude Codeプラグインの作り方と社内配布|marketplace.json・管理設定【2026年9月版】で扱っています。
シェルのclaude plugin installとスコープ指定
dotfilesやセットアップスクリプトで環境を揃えるときは、対話画面を通さずに入れます。
claude plugin install pr-review-toolkit@claude-plugins-official --scope project
claude plugin list
2026年10月14日にClaude Code 2.1.296で --scope local を指定して実行すると、Successfully installed plugin: pr-review-toolkit@claude-plugins-official (scope: local) と表示されました。claude plugin list では Version: 8d392c816966 と出ます。公式版の plugin.json には版番号が無いため、取得したコミットのSHAが版として表示されます。
CIや新しいマシンのように対話モードで一度も起動していない環境では、公式マーケットプレイスがまだ登録されていません。その場合は先に claude plugin marketplace add anthropics/claude-plugins-official を実行します。
/reload-pluginsによる変更の反映
インストール結果の最後に Run /reload-plugins to apply. と出た場合は、/reload-plugins で読み込み直すまで /pr-review-toolkit:review-pr は候補に出ません。/plugin の画面を閉じると自動で再読み込みされますが、プロンプトキャッシュを無効にしてしまう場合は警告を出して保留にします。コマンドが表示されない場合は、まずインストール結果に再読み込みの案内が出ていないか確認してください。
/pr-review-toolkit:review-pr の使い方
review-prの引数とレビュー観点の選択
引数なしで実行すると、変更内容から当てはまる観点をすべて走らせます。観点名を並べると、その観点のエージェントだけが起動します(review-pr.mdの定義)。
/pr-review-toolkit:review-pr
/pr-review-toolkit:review-pr tests errors
/pr-review-toolkit:review-pr all parallel
| 引数 | 起動するエージェント | 引数なしで起動する条件 |
|---|---|---|
code |
code-reviewer | 常に起動 |
tests |
pr-test-analyzer | テストファイルの変更 |
comments |
comment-analyzer | コメント・ドキュメントの追加 |
errors |
silent-failure-hunter | エラー処理の変更 |
types |
type-design-analyzer | 型の追加・変更 |
simplify |
code-simplifier | レビュー通過後の仕上げ |
既定では1本ずつ順に実行し、parallel を付けると同時に起動します。順次実行は指摘を1つずつ読んで直すのに向き、並列実行は待ち時間を減らしたいときに使います。結果はCritical(マージ前に直す)、Important(直すべき)、Suggestions(任意)、Strengths(良い点)の4つに分けて返ります。review-pr.mdには使う時期の目安も書かれていて、コミット前は code errors、PRを作る前は all、レビュー指摘への対応後は該当する観点だけを再実行する流れです。
自然言語による専門エージェントの個別呼び出し
コマンドを使わなくても、観点を明示して頼めば該当するエージェントが起動します。READMEが挙げる例は「APIクライアントのエラー処理をレビューして」でsilent-failure-hunter、「追加したドキュメントは正確か」でcomment-analyzerです。インストール後は /agents の一覧にも6本が並びます。いま触った箇所だけを確認したいときは、自然言語で対象ファイルとレビュー観点を併せて指定できます。
errors・commentsの実行例と例外の握り潰しの検出結果
2026年10月14日に、Claude Code 2.1.296(--model sonnet)で検証用のリポジトリを作って実行しました。変更内容は、例外をそのまま上に投げていた関数を、失敗時に空のdictを返す形に書き換えたものです。変更時に「失敗時は例外を送出する」というdocstringも追加してあり、変更後の実装と矛盾しています。
import json
import urllib.request
def fetch_user(user_id: int) -> dict:
"""ユーザーを取得する。失敗時は例外を送出する。"""
url = f"https://api.example.com/users/{user_id}"
try:
with urllib.request.urlopen(url, timeout=5) as res:
return json.load(res)
except Exception:
return {}
未コミットの状態で /pr-review-toolkit:review-pr errors comments を実行した結果は、Criticalが2件、Importantが2件、Suggestionsが1件でした。Criticalは「except Exception: return {} がログも再送出もせずに全例外を握り潰している」「空のdictが正常な空ユーザーと区別できない」の2点です。Importantには、docstringと実装が逆になっている点が入りました。費用は0.40ドルです。
次に、同じ変更をfeatureブランチにコミットし、作業ツリーを空にしてから errors だけで実行しました。コマンドは最初に git diff --name-only を見ますが、今回の実行では、その結果が空でもコミット済みの差分を探し、Criticalを2件報告しました。内訳は「失敗を握り潰して空のdictを返すこと」と「except Exceptionの捕捉範囲が広すぎること」で、2件目が1回目と入れ替わりました(1回目のCriticalだった空のdictの問題はSuggestionsに回っています)。費用は0.22ドルです。どちらの実行でもファイルは書き換えず、修正するかどうかを尋ねて終わりました。今回の検証では、PR作成前のコミット済みブランチもレビューできました。実運用では、結果に示された比較元と対象ファイルが意図した差分と一致するか確認してください。
6つのエージェントが見る観点と採点基準
| エージェント | 見る対象 | 採点・報告の基準 | モデル |
|---|---|---|---|
| code-reviewer | CLAUDE.md準拠・バグ | 0〜100、80以上だけ報告 | Opus指定 |
| pr-test-analyzer | 振る舞いの網羅・エッジケース | 不足を1〜10で採点 | 会話と同じ |
| silent-failure-hunter | 握り潰した失敗・ログ欠落 | CRITICAL/HIGH/MEDIUM | 会話と同じ |
| type-design-analyzer | 型のカプセル化・不変条件 | 4軸をそれぞれ1〜10 | 会話と同じ |
| comment-analyzer | コメントとコードの食い違い | 正確性を確認 | 会話と同じ |
| code-simplifier | 冗長な抽象・凝りすぎた書き方 | 動作維持を条件にコードを編集 | Opus指定 |
code-reviewerは指摘ごとに0〜100の確信度を付け、定義ファイルには「確信度80以上だけを報告する」と書かれています。80未満の細かい指摘は最初から出ないので、指摘が少なくても見落としとは限りません。重大度の境目は定義ファイルの中で揃っていません。採点基準の節は76〜90をImportant、91〜100をCriticalとし、出力形式の節はImportantを80〜89、Criticalを90〜100としています。READMEは前者と同じ91〜100です。確信度90ちょうどの指摘がどちらに入るかは、定義からは決まりません。
silent-failure-hunterは、ログも再送出も無い広いcatch、根拠の無いフォールバック、文脈の無いエラーメッセージを探します。テストは通ってしまうのに障害時に原因が追えない、という種類の欠陥です。type-design-analyzerは型を「カプセル化」「不変条件の表現」「不変条件の有用性」「不変条件の強制」の4軸で採点するので、データモデルを足したPRで使います。
モデル欄が「Opus指定」の2本は、定義ファイルに model: opus と書かれているため、セッションでSonnetを選んでいてもOpusで動きます。ほかの4本は model: inherit で、セッションのモデルを使います。費用を抑えたいなら、code と simplify を外して観点を指定してください。
GitHub Actionsで動かすときの設定と限界
pr-review-toolkit自体はCIの仕組みを持ちませんが、anthropics/claude-code-action@v1 の plugin_marketplaces と plugins 入力を使えば、ランナー上にプラグインを入れて prompt から呼び出せます(GitHub Actionsの公式ドキュメント)。
name: PR Review Toolkit
on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
id-token: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
plugin_marketplaces: "https://github.com/anthropics/claude-plugins-official.git"
plugins: "pr-review-toolkit@claude-plugins-official"
prompt: |
/pr-review-toolkit:review-pr code errors
レビュー対象は git diff ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }} の差分です。
3点に注意してください。1つ目は actions/checkout です。これが無いとランナーにコードが無く、レビューする差分がありません。fetch-depth: 0 にしているのは、比較元のコミットまで履歴を取得するためです。checkout直後は未コミットの変更が無いので、prompt の2行目でPRの比較元と比較先のSHAを渡し、レビュー範囲を指示しています。これはモデルへの指示で、CI上での動作は今回実測していません。導入時はテスト用のPRで、意図した差分がレビューされたかをログで確認してください。2つ目は投稿先です。review-prには「PRにコメントする」手順が無く、指摘はワークフローの実行ログに出るだけです。3つ目は費用です。Anthropic APIのトークン料金に加え、GitHub Actionsは無料対象やプランの無料枠を超えた利用に料金がかかります。公開リポジトリの標準GitHubホステッドランナーは無料です。
PRに行単位でコメントを残したいなら、公式ドキュメントが例として載せている code-review プラグイン(/code-review:code-review --comment)を使う方が確実です。インラインコメント用のツールを claude_args で許可する書き方まで、公式例で揃っています。Actionの入力一覧や認証方式はanthropics/claude-code-action@v1の設定リファレンス|入力一覧・claude_args・betaからの移行にまとめています。
/code-review・Code Reviewとの使い分け
Claude Codeまわりで「PRをAIにレビューさせる」手段は4つあり、名前が似ています。結論から言うと、push前に一般的なバグを確認したいだけなら、標準搭載の /code-review を先に使ってください。
| 手段 | 動く場所 | PRへのコメント | 導入 | 向く場面 |
|---|---|---|---|---|
/code-review(標準搭載) |
手元のClaude Code | --comment 指定時 |
不要 | push前の確認 |
| pr-review-toolkit | 手元のClaude Code | しない | プラグイン | 観点を絞った深掘り |
| claude-code-action | 自前のGitHub Actions | する | ワークフロー | CIを自分で組む |
| Code Review(マネージド) | Anthropicの基盤 | する(行単位) | 組織のOwnerが有効化 | 全PRを常時レビュー |
push前に一度見てもらうだけなら、何も入れずに /code-review が使えます。--fix で指摘を作業ツリーに適用し、--comment でPRにインラインコメントを付けます。v2.1.223からは /review もこのコマンドの別名で、v2.1.218からは既定でバックグラウンド実行になりました(Code Reviewの公式ドキュメント)。名前空間付きの /code-review:code-review はプラグイン版なので、コロンの有無で区別してください。効果レベルやultrareviewを含む詳しい使い方はClaude Code「Code Review」完全ガイド、簡潔化だけを行う /simplify はClaude Codeの/simplifyとは?で説明しています。
pr-review-toolkitを入れる意味があるのは、「型設計だけを4軸で採点させたい」「握り潰した例外だけを洗い出したい」のように、観点を切って掘るときです。逆に、PRを開くたびに自動でレビューコメントを残したい組織は、このプラグインでは目的を果たせません。その用途はマネージドのCode Reviewが担います。2026年10月時点でもリサーチプレビューで、対象はTeamとEnterpriseのプランです。ゼロデータ保持(ZDR)やHIPAA構成を適用した組織では使えません。課金は利用枠とは別で、1レビューあたり平均15〜25ドルです。まず @claude review で1件ずつ手動で依頼して費用を測り、それから自動実行に切り替える方が安全です。
GitHubのPRにコメントを返すサービスとしては、PR-Agent、Qodo Merge、コードベース全体を索引して指摘するGreptileがあります。ただし、PR-AgentはローカルCLIやGitHub Actions、セルフホストでも動かせるOSSです。提供形態を一括りにせず、PRへの投稿機能と運用主体を比較してください。PRレビューの仕組みを自社の開発体制に組み込むところから相談したい場合は、生成AI開発・AI受託開発でも対応しています。
よくある質問
pr-review-toolkit@claude-plugins-official と pr-review-toolkit@claude-code-plugins は何が違いますか?
前者は公式マーケットプレイス、後者はデモ用マーケットプレイスの配布物です。デモ版は2025年10月8日から更新されておらず、公式版は2026年4月28日にエージェント定義が更新されています。公式ドキュメントも、両方にあるプラグインは公式版から入れるよう案内しています。
/pr-review-toolkit:review-pr がコマンド候補に出てこないのはなぜですか?
まず /reload-plugins を実行してください。それでも出なければ claude plugin list で Status: ✔ enabled になっているかを確認し、/plugin の Errors タブで読み込みエラーを見ます。Marketplace "claude-plugins-official" not found と出る場合は、claude plugin marketplace add anthropics/claude-plugins-official で登録してから入れ直します。
silent-failure-hunter だけを呼べますか?
呼べます。/pr-review-toolkit:review-pr errors と引数で指定するか、「エラー処理をレビューして」「catchブロックを分析して」と頼めば、silent-failure-hunterだけが起動します。
プラグインの利用料はかかりますか?
プラグイン自体は無料です。かかるのは、レビューで消費するClaude Codeのトークン(プランの利用枠またはAPI料金)です。上の実行例では、Sonnetで観点を2つに絞って0.40ドル、1つで0.22ドルでした。code-reviewerとcode-simplifierにはOpusが指定されています。全観点の実行費用は未計測で、対象差分、実行されるエージェント、トークン量、キャッシュ利用によって変わります。
レビュー結果をGitHubのPRに残せますか?
pr-review-toolkitの結果はターミナルに返るだけです。GitHub Actionsで動かしてもワークフローのログに出るだけで、PRには書き込みません。PRに残したいなら、/code-review --comment、code-reviewプラグインを使うGitHub Actionsの公式例、マネージドのCode Reviewのいずれかを使います。
関連記事
- Claude Code「Code Review」完全ガイド|自動コードレビューの仕組み・料金・/code-reviewコマンドの使い方【2026年7月版】
- anthropics/claude-code-action@v1の設定リファレンス|入力一覧・claude_args・betaからの移行
- Claude Codeプラグインの作り方と社内配布|marketplace.json・管理設定【2026年9月版】
- 【2026年最新】Claude Codeのおすすめ拡張機能6つを役割別に整理|プラグインとの違い・使い分けを解説
- PR-Agentとは?使い方・GitHub Actions/Docker導入と料金【v0.46対応】