pr-review について
Significant-Gravitas/AutoGPT のコントリビューター向け PR レビュースキルです。PR の検索、説明と差分の確認、重要度別のインラインフィードバック投稿を案内します。
主な機能
- 01gh による PR 検索
- 02Why/What/How の説明確認
- 03コードとセキュリティのレビュー
- 04テストとプロジェクト規約の確認
- 05重要度別コメントの投稿
活用シーン
- 01AutoGPT の PR レビュー
- 02PR の説明不足の特定
- 03変更の安全性と正確性の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ significant-gravitas/ autogpt --skill pr-reviewインストール後、Claude Code で/pr-reviewを入力して読み込まれたか確認します。
詳細
PR レビュー
PR を見つける
gh pr list --head $(git branch --show-current) --repo Significant-Gravitas/AutoGPT
gh pr view {N}
PR の説明を読む
コードを読む前に、PR の説明から理由、変更内容、方法を把握してください。
gh pr view {N} --json body --jq '.body'
すべての PR には、Why/What/How の構成が必要です。いずれかが不足している場合は、フィードバックとして指摘してください。
差分を読む
gh pr diff {N}
既存のレビューコメントを取得する
コメントを投稿する前に、重複を避けるため、既存のインラインコメントを取得してください。
gh api repos/Significant-Gravitas/AutoGPT/pulls/{N}/comments --paginate
gh api repos/Significant-Gravitas/AutoGPT/pulls/{N}/reviews
確認事項
説明の品質: PR の説明に、Why(動機や問題)、What(変更の概要)、How(アプローチや実装の詳細)が含まれていますか? 不足している項目があれば、記載を求めてください。問題や意図を理解しなければ、アプローチを評価できません。
正確性: ロジックエラー、オフバイワン、未対応のエッジケース、競合状態(ファイルアクセスやクレジット請求における TOCTOU)、エラーハンドリングの不足、非同期処理の正確性(await の不足、リソースの未クローズ)。
セキュリティ: 入力境界での検証、インジェクションの防止(コマンド、XSS、SQL)、シークレットをログに出力しないこと、ファイルパスのサニタイズ(エラーメッセージでの os.path.basename())。
コード品質: バックエンド/フロントエンドの CLAUDE.md ファイルとルートの AGENTS.md のルールに従ってください。「User-facing copy」セクションも対象です(ユーザーが読むテキストでは、agent や graph ではなく workflow と記述します)。
アーキテクチャ: DRY、単一責任、モジュール化された関数。FastAPI 認証には Security() と Depends() のどちらを使うか。SSE イベントには data:、ハートビートには : comment。Redis パイプラインには transaction=True。
テスト: エッジケースが網羅されていること、テストが同じ場所に配置されていること(バックエンドは *_test.py、フロントエンドは __tests__/)、モックの対象が定義場所ではなくシンボルの使用場所であること、非同期処理には AsyncMock を使うこと。
出力形式
すべてのコメントの先頭には、必ず 🤖 と重要度バッジを付けてください。
| Tier | Badge | 意味 |
|---|---|---|
| Blocker | 🔴 **Blocker** | マージ前に必ず修正 |
| Should Fix | 🟠 **Should Fix** | 重要な改善 |
| Nice to Have | 🟡 **Nice to Have** | 軽微な提案 |
| Nit | 🔵 **Nit** | スタイル/表現 |
例:🤖 🔴 **Blocker**: X のエラーハンドリングがありません — try/except で囲むことを提案します。
インラインコメントを投稿する
指摘事項ごとに、PR にインラインコメントを投稿してください(ローカルのレポートを書くだけでは不十分です)。
# Get the latest commit SHA for the PR
COMMIT_SHA=$(gh api repos/Significant-Gravitas/AutoGPT/pulls/{N} --jq '.head.sha')
# Post an inline comment on a specific file/line
gh api repos/Significant-Gravitas/AutoGPT/pulls/{N}/comments \
-f body="🤖 🔴 **Blocker**: <description>" \
-f commit_id="$COMMIT_SHA" \
-f path="<file path>" \
-F line=<line number>