mcpField
C
coderabbit

coderabbit

github.com/paulrbergテスト・品質102120 回インストール今日更新
リポジトリ

coderabbit について

GitHubのプルリクエストにあるCodeRabbitの指摘を分析するか、ローカル差分をCodeRabbit CLIでレビューするスキルです。コメントの取得から指摘の分類、修正計画の作成までを支援します。

主な機能

  1. 01PRレビューコメントの取得
  2. 02行内コメントと概要の分析
  3. 03ローカルCLIレビューの実行
  4. 04指摘の分類と修正計画

活用シーン

  1. 01PR上のCodeRabbit指摘の整理
  2. 02PR作成前のローカル変更レビュー
  3. 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 を読み込み、共通のトリアージプロセスに従ってください。カテゴリ分け、分類、不明点の確認、修正計画の作成、報告を行います。

停止条件

次の場合は停止して、指示を求めてください。

  • gh CLI が認証されていない。
  • PR が存在しない、またはアクセスできない。
  • PR に CodeRabbit のコメントが見つからない。
  • 自動検出に失敗し、PR 番号も指定されていない。
  • 検出事項への対応に、PR の範囲を超えるアーキテクチャ変更が必要。
  • 認証、決済、データ整合性などの重要なコードパスで、分類の確信度が低い。

コメント