PR Review & Merge Handler
このスキルは、レビュワーのフィードバックに基づいてGitHubのプルリクエストを処理するための包括的なワークフローを定義します。フィードバックの見落としを防ぎ、マージ前にコードベース全体で修正が一貫して適用されることを保証します。
🔄 ワークフロー概要
- •フィードバック分析 (Analyze Feedback): PRのコメントを取得して解析します。
- •ステータス確認 (Verify Status): フィードバックが対応済みか確認します。
- •修正適用 (Apply Fixes): 未対応の修正を実装します。
- •クロスチェック (Cross-Check): 類似のパターンを見つけて修正します(横展開)。
- •最終検証 (Final Verification): テストとLintを実行します。
- •マージ (Merge): すべてのチェックが通過した場合にPRをマージします。
1. フィードバック分析
構造化されたJSON出力を使用して、コメントやレビューを含むPRの詳細を取得します。
bash
# PRのコメントとレビューを取得 gh pr view [PR_NUMBER] --json url,title,body,comments,reviews,state,mergeable
AI分析ステップ:
- •
commentsとreviews配列を読み取ります。 - •アクション可能なフィードバック(変更リクエスト、バグ報告、提案)を特定します。
- •単なる承認や挨拶(例: "LGTM", "Nice")は無視します。
- •メモリまたは一時ファイルに レビュータスクリスト を作成します。
2. ステータス確認と修正適用
レビュータスクリスト の各項目について:
- •場所の特定: 参照されているファイルと行番号を特定します。
- •確認: 現在のコードを読み、修正が既に適用されているか確認します。
- •修正: 適用されていない場合、編集ツール(
replace_file_contentなど)を使用して修正を適用します。
3. クロスチェック (類似問題の検索)
重要: 修正を適用する際は、同じ間違いが他の場所にも存在する可能性があると仮定してください。
- •パターン抽出: エラーのパターンを特定します(例: 「ハードコードされた日本語テキスト」、「エラーハンドリングの欠如」、「キーの重複」)。
- •検索:
grep_searchやfind_by_nameを使用して、プロジェクト全体で類似のインスタンスを検索します。 - •横展開: 見つかったインスタンスすべてに同じ修正を適用します。
4. 最終検証
マージする前に、コードベースがクリーンであることを確認します。
bash
# 品質の検証 pnpm run type-check pnpm run lint pnpm test --passWithNoTests pnpm run build
5. マージ
以下の場合にのみ進行します:
- •すべてのレビューコメントが解決されている。
- •すべての有効なチェックが合格している。
- •PRが
MERGEABLE(マージ可能)である。
bash
# コンテンツを安全にマージ gh pr merge [PR_NUMBER] --merge --delete-branch
使用例
「PR #123 をレビューし、指摘された問題を修正し、類似のバグがないか確認して、マージしてください。」
- •Agent:
gh pr view 123 --json ...を実行。 - •Agent: "コメント検出: 'ハードコードされた文字列の代わりに
useLanguageを使用してください'。" - •Agent: 特定の行を修正。
- •Agent: 類似のコンポーネントで他のハードコードされた文字列を検索。
- •Agent: 見つかった他の3か所を修正。
- •Agent:
pnpm testを実行。 - •Agent:
gh pr merge 123 ...を実行。