mcpField
G
gh-review-requests

gh-review-requests

github.com/getsentry開発1.1k4.2k 回インストール5 日前に更新
リポジトリ

gh-review-requests について

gh-review-requests は、指定した GitHub チームに関係する未読レビュー通知を、未マージのオープン PR から取得するスキルです。認証済みの GitHub CLI を使い、該当理由とともに結果を表示します。

主な機能

  1. 01チーム別の未読レビュー依頼の絞り込み
  2. 02オープンかつ未マージの PR の取得
  3. 03チームがレビュアーか作者かを判定
  4. 04PR の完全な URL と理由の表示

活用シーン

  1. 01チームの未対応レビュー依頼の確認
  2. 02チームメンバーが作成したオープン PR の検索
  3. 03複数チームのレビュー依頼の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/getsentry/skills --skill gh-review-requests

インストール後、Claude Code で/gh-review-requestsを入力して読み込まれたか確認します。

同梱ファイルscripts/fetch_review_requests.py

詳細

GitHub のレビュー依頼

GitHub チームで絞り込んで、オープン(未マージ)の PR に関する未読の review_requested 通知を取得します。

必要条件:GitHub CLI(gh)で認証済みであること。

必要条件:Python パッケージ管理用の uv CLI。インストールガイド:https://docs.astral.sh/uv/getting-started/installation/

ステップ 1:チームを特定する

ユーザーがチームを指定していない場合は、次のように尋ねます。

絞り込み対象の GitHub チームを指定してください(例:streaming-platform)。

チームのスラッグ(streaming-platform)または表示名(「Streaming Platform」)のどちらでも受け付けます。スクリプトに渡す前に、小文字とハイフンを使用したスラッグに変換してください。

ステップ 2:スクリプトを実行する

uv run scripts/fetch_review_requests.py --org getsentry --teams <team-slug>

複数のチームで絞り込むには、カンマ区切りのリストを渡します。

uv run scripts/fetch_review_requests.py --org getsentry --teams <team slugs>
スクリプトの出力
{
  "total": 3,
  "prs": [
    {
      "notification_id": "12345",
      "title": "feat(kafka): add workflow to restart a broker",
      "url": "https://github.com/getsentry/ops/pull/19144",
      "repo": "getsentry/ops",
      "pr_number": 19144,
      "author": "bmckerry",
      "reasons": ["opened by: bmckerry"]
    }
  ]
}

reasons には次のいずれか、または両方が含まれます。

  • "review requested from: <Team Name>" — そのチームがレビュー担当として指定されています
  • "opened by: <login>" — PR の作成者がチームメンバーです

ステップ 3:結果を表示する

完全な URL を含む Markdown テーブルで結果を表示します。

#タイトルURL理由
1feat(kafka): add workflow to restart a brokerhttps://github.com/getsentry/ops/pull/19144opened by: evanh

total が 0 の場合は、「そのチーム宛ての未読レビュー依頼は見つかりませんでした。」と伝えます。

フォールバック

スクリプトが失敗した場合は、手動で実行します。

gh api notifications --paginate

次に、各 review_requested 通知について、以下を確認します。

  • gh api repos/{repo}/pulls/{number} — state == "closed" または merged_at が設定されている場合はスキップします
  • gh api repos/{repo}/pulls/{number}/requested_reviewers — teams[].name を確認します
  • gh api orgs/{org}/teams/{slug}/members — 作成者がメンバーかどうかを確認します

コメント