coderabbit について
GitHubのプルリクエストにあるCodeRabbitの指摘を分析するか、ローカル差分をCodeRabbit CLIでレビューするスキルです。コメントの取得から指摘の分類、修正計画の作成までを支援します。
主な機能
- 01PRレビューコメントの取得
- 02行内コメントと概要の分析
- 03ローカルCLIレビューの実行
- 04指摘の分類と修正計画
活用シーン
- 01PR上のCodeRabbit指摘の整理
- 02PR作成前のローカル変更レビュー
- 03レビュー結果から修正計画を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ paulrberg/ agent-skills --skill coderabbitインストール後、Claude Code で/coderabbitを入力して読み込まれたか確認します。
同梱ファイルreferences/local-review.mdreferences/triage.md
詳細
CodeRabbit レビューのトリアージ
GitHub PR から CodeRabbit のレビューコメントを取得して分析するか、ローカルで CodeRabbit CLI レビューを実行します。デフォルトモードではリモート PR から取得します。ローカルの差分に対して CLI を実行するには、--local を使用します。
引数
$ARGUMENTS を解析して、次の項目を確認します。
<pr-number>— 整数の PR 番号<pr-url>— GitHub PR の URL(例:https://github.com/owner/repo/pull/123)。パスから PR 番号を抽出します--local— ローカルレビューのモードに切り替えます(下記を参照)
モードの振り分け
$ARGUMENTS に --local が含まれる場合は、それを取り除き、残りの引数を references/local-review.md に渡します。以下のワークフローではなく、そちらのワークフローに従ってください。--local 以降のすべてのフラグ(--base、--base-commit、--type、--config)は、ローカルワークフローに渡します。
それ以外の場合は、以下の PR コメント分析ワークフローを続けます。
前提条件
以下の確認を順番に実行します。最初に失敗した時点で停止してください。
1) GitHub CLI の認証
gh auth status
認証されていない場合は停止し、gh auth login を実行するようユーザーに伝えてください。
2) リポジトリの検出
gh repo view --json owner,name --jq '"\(.owner.login)/\(.name)"'
結果を {owner}/{repo} として保存します。
3) PR 番号の解決
- 引数に PR 番号が指定されている場合は、その番号を直接使用します。
- PR URL が指定されている場合は、URL のパスから番号を抽出します。
- どちらも指定されていない場合は、現在のブランチから自動検出します。
gh pr view --json number --jq '.number' 2>/dev/null
自動検出に失敗した場合は、停止します。"現在のブランチに対応するオープンな PR が見つかりません。PR 番号または URL を指定するか、ローカルレビューには --local を使用してください。"
4) PR の検証
gh pr view {pr_number} --json state,url --jq '"\(.state) \(.url)"'
コマンドが失敗した場合、PR は存在しません。報告して停止してください。それ以外の場合は、レポートの対象範囲セクション用に状態(OPEN/MERGED/CLOSED)と URL を記録します。
ワークフロー
1) CodeRabbit コメントの取得
3 つの GitHub API エンドポイントから取得し、CodeRabbit ボットのコメントに絞り込みます。大規模な PR では --paginate を使用します。ボットのログイン名は coderabbitai ですが、coderabbitai[bot] と表示される場合もあるため、startswith で一致させます。
ウォークスルー/サマリーコメント(CodeRabbit がウォークスルーを投稿する issue コメント):
gh api "repos/{owner}/{repo}/issues/{pr_number}/comments" \
--paginate \
--jq '[.[] | select(.user.login | startswith("coderabbitai"))]'
レビューオブジェクト(トップレベルのレビュー本文と状態):
gh api "repos/{owner}/{repo}/pulls/{pr_number}/reviews" \
--paginate \
--jq '[.[] | select(.user.login | startswith("coderabbitai"))]'
インラインレビューコメント(パスと行情報を含むファイル単位のコメント):
gh api "repos/{owner}/{repo}/pulls/{pr_number}/comments" \
--paginate \
--jq '[.[] | select(.user.login | startswith("coderabbitai"))]'
3 つすべてのエンドポイントを確認しても CodeRabbit のコメントが見つからない場合は、「PR #{pr_number} に CodeRabbit のレビューが見つかりません」と報告して停止します。
2) コメントを検出事項として解析
未加工の API レスポンスを処理し、正規化された検出事項のリストを作成します。
- インラインコメントから(
pulls/{pr}/comments):各コメントを、.pathのpath、.lineまたは.original_lineのline、コメント本文のbody、周辺コンテキストのdiff_hunk、およびsource: "inline"を含む検出事項にします。これらは、対応が必要な検出事項の主な情報源です。 - レビュー本文から(
pulls/{pr}/reviews):各レビューのbodyから対応が必要な項目を解析します。個別の提案を抽出し、source: "review"とします。 - issue コメントから(
issues/{pr}/comments):ウォークスルー内のファイル単位の要約と、対応が必要な項目を解析します。source: "walkthrough"とします。
インラインコメントは、対応が必要な検出事項の主な情報源です。レビューの要約とウォークスルーコメントはコンテキストを補い、特定の行に紐づかない追加の対応事項を見つけることがあります。
3) 検出事項のトリアージ
references/triage.md を読み込み、共通のトリアージプロセスに従ってください。カテゴリ分け、分類、不明点の確認、修正計画の作成、報告を行います。
停止条件
次の場合は停止して、指示を求めてください。
ghCLI が認証されていない。- PR が存在しない、またはアクセスできない。
- PR に CodeRabbit のコメントが見つからない。
- 自動検出に失敗し、PR 番号も指定されていない。
- 検出事項への対応に、PR の範囲を超えるアーキテクチャ変更が必要。
- 認証、決済、データ整合性などの重要なコードパスで、分類の確信度が低い。