gh-review-requests について
gh-review-requests は、指定した GitHub チームに関係する未読レビュー通知を、未マージのオープン PR から取得するスキルです。認証済みの GitHub CLI を使い、該当理由とともに結果を表示します。
主な機能
- 01チーム別の未読レビュー依頼の絞り込み
- 02オープンかつ未マージの PR の取得
- 03チームがレビュアーか作者かを判定
- 04PR の完全な URL と理由の表示
活用シーン
- 01チームの未対応レビュー依頼の確認
- 02チームメンバーが作成したオープン PR の検索
- 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 | 理由 |
|---|---|---|---|
| 1 | feat(kafka): add workflow to restart a broker | https://github.com/getsentry/ops/pull/19144 | opened 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— 作成者がメンバーかどうかを確認します