resolve-pr-parallel について
未解決の PR レビュースレッドを並行処理する Claude Code スキルです。コメントの取得から修正、コミット、スレッド解決、確認までを案内します。
主な機能
- 01現在のブランチと PR の検出
- 02未解決レビューの取得
- 03スレッドごとのエージェント割り当て
- 04コミット、プッシュ、スレッド解決
- 05未解決コメントの再確認
活用シーン
- 01PR の複数レビュー対応
- 02独立した修正のエージェントへの分担
- 03GitHub スレッドの解決確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ everyinc/ compound-engineering-plugin --skill resolve_pr_parallelインストール後、Claude Code で/resolve_pr_parallelを入力して読み込まれたか確認します。
同梱ファイルscripts/get-pr-commentsscripts/resolve-pr-thread
詳細
PR コメントを並行して解決する
未解決の PR レビューコメントをすべて解決するため、各スレッドに対して並行してエージェントを起動します。
コンテキストの検出
現在の作業ディレクトリから Git のコンテキストを検出します。
- 現在のブランチと関連する PR
- すべての PR コメントとレビュー スレッド
- 番号を指定すれば、どの PR にも対応します
ワークフロー
1. 分析
scripts/get-pr-comments の GraphQL スクリプトを使って、未解決のレビュー スレッドを取得します。
bash scripts/get-pr-comments PR_NUMBER
ファイルパス、行番号、コメント本文とともに、未解決かつ古くなっていないスレッドのみが返されます。
スクリプトが失敗した場合は、次の方法に切り替えます。
gh pr view PR_NUMBER --json reviews,comments
gh api repos/{owner}/{repo}/pulls/PR_NUMBER/comments
2. 計画
未解決の項目をすべて種類別にグループ化し、タスクリストを作成します(例:Claude Code の TaskCreate、Codex の update_plan)。
- コード変更の依頼
- 回答が必要な質問
- スタイルや規約の修正
- 追加が必要なテスト
3. 実装(並行)
未解決の項目ごとに compound-engineering:workflow:pr-comment-resolver エージェントを起動します。
コメントが 3 件ある場合は、コメントごとに 1 つ、合計 3 つのエージェントを起動します。すべてのエージェントを並行して実行することを優先します。プラットフォームが並行実行に対応していない場合は、順番に実行します。
親コンテキストへの負荷を抑えます。
- 未解決項目が 1〜4 件の場合は、並行実行の結果を直接返して構いません
- 未解決項目が 5 件以上の場合は、一度に起動するエージェントを最大 4 つにして、バッチに分けて実行します
- 各リゾルバーエージェントから親へ、短い状況サマリーを返すよう求めます。サマリーには、対応したコメント/スレッド、変更したファイル、実行またはスキップしたテスト、人の対応が引き続き必要なブロッカーを含めます。質問のみのスレッドの場合は、親が投稿または確認できるよう、実質的な返信文も含めます
PR が大きく、短い結果をバッチで返しても煩雑になりそうな場合は、.context/compound-engineering/resolve-pr-parallel/<run-id>/ のような実行ごとの一時ディレクトリを使用します。
- 各リゾルバーに、担当スレッドの簡潔な成果物をそのディレクトリに書き込ませます
- 親には完了サマリーのみを返します
- スレッドの解決、レビュアーの質問への回答、バッチの要約に必要な成果物だけを読み直します
4. コミットして解決
- PR のフィードバックに言及した、わかりやすいメッセージで変更をコミットします
- scripts/resolve-pr-thread を使って、各スレッドをプログラムから解決します
bash scripts/resolve-pr-thread THREAD_ID
- リモートにプッシュします
5. 確認
コメントを再取得し、すべてのスレッドが解決済みであることを確認します。
bash scripts/get-pr-comments PR_NUMBER
空の配列 [] が返されるはずです。スレッドが残っている場合は、ステップ 1 から繰り返します。
一時ディレクトリを使用し、ユーザーから確認の依頼がなかった場合は、検証に成功した後で削除します。
スクリプト
- scripts/get-pr-comments - 未解決のレビュー スレッドを取得する GraphQL クエリ
- scripts/resolve-pr-thread - ID でスレッドを解決する GraphQL ミューテーション
成功条件
- 未解決のレビュー スレッドがすべて対応済みである
- 変更がコミットされ、プッシュされている
- GraphQL を使ってスレッドが解決済みになっている(GitHub 上で解決済みと表示される)
- 確認時に get-pr-comments が空の結果を返す