--- name: parallel-pr description: 複数の独立PRをチーム×worktreeで並列作成する。タスク一覧を受け取り、worktree準備→チーム組成→エージェント起動→CI確認→クリーンアップまで一気に実行する。 --- # Parallel PR 複数の独立したPRを、git worktree + エージェントチームで並列に作成するスキル。 ## 前提条件 - ユーザーからPR一覧(ブランチ名、対象ファイル、作業内容)が提供されていること - 提供されていなければ、まずプランモードで一覧を設計し承認を得る ## ワークフロー ### Phase 1: タスク整理 ユーザーの指示からPR一覧を整理する: ``` | # | ブランチ名 | 作業内容 | 対象ファイル | |---|-----------|---------|-------------| | 1 | feat/xxx | ... | src/... | ``` PRの数に応じてエージェント数を決める(目安: 4-5が上限)。 1エージェントに1-2 PRを割り当てる。 ### Phase 2: worktree準備 エージェントごとにworktreeを作成する: ```bash # {team} はチーム名の略称(例: test4, refactor2) # {x} はエージェント識別子(a, b, c, d...) git worktree add ../mirai-gikai-{team}-{x} -b {team}-{x}-base mkdir -p ../mirai-gikai-{team}-{x}/.claude cp .claude/settings.local.json ../mirai-gikai-{team}-{x}/.claude/ ``` 依存パッケージのインストール(全worktreeをバックグラウンドで並列実行): ```bash cd ../mirai-gikai-{team}-{x} && pnpm install --frozen-lockfile ``` ### Phase 3: チーム組成&エージェント起動 1. `TeamCreate` でチームを作成 2. `TaskCreate` で各エージェントのタスクを作成(owner設定、in_progress) 3. `Task` で各エージェントをバックグラウンドで起動: ``` Task( subagent_type: "general-purpose", team_name: "{チーム名}", name: "agent-{x}", mode: "bypassPermissions", run_in_background: true, prompt: 下記テンプレート参照 ) ``` #### エージェントプロンプトテンプレート ``` あなはworktree-workerです。以下の手順で作業してください。 ## 作業環境 - worktreeパス: {絶対パス} - 全コマンドはこのworktreeディレクトリ内で実行すること ## 担当PR一覧 ### PR 1 - ブランチ名: {branch} - 作業内容: {description} - 対象ファイル: {files} ### PR 2 (あれば) - ... ## 作業手順 1. `git checkout -b {branch} develop` でブランチ作成 2. 対象ファイルを読んで理解 3. 実装・修正 4. push前のローカル検証(CIと同じコマンドを全て実行し、全て通過すること): - `pnpm lint:fix` でフォーマット修正 - `pnpm lint` でlintチェック通過を確認 - `pnpm typecheck` で型チェック通過を確認 - `pnpm test` でテスト通過を確認 5. エラーがあれば修正して再度ステップ4を実行 6. コミット(Co-Authored-By: Claude Opus 4.6 ) 7. `git push -u origin {branch}` 8. `gh pr create --base develop --title "{title}" --body "..."` 9. 次のPRがあれば `git checkout -b {next-branch} develop` で次へ 10. 全完了後、リーダーにメッセージで報告(PR番号・URL) ``` ### Phase 4: 完了待ち&CI確認 エージェントからの完了メッセージを待つ。全エージェント完了後: ```bash # 全PRのCI状態を一括確認 for pr in {PR番号リスト}; do echo "=== PR #$pr ===" gh pr checks $pr done ``` ```bash # 全PRのコメントを確認(CodeRabbitやレビューアからのフィードバック) for pr in {PR番号リスト}; do echo "=== PR #$pr comments ===" gh pr view $pr --comments done ``` CI失敗時の対応: - **TypeScript型エラー**: worktreeで直接修正してpush - **Biomeエラー**: worktreeで `pnpm lint:fix` して再push - **テスト失敗**: worktreeで修正して再push PRコメント対応: - **CodeRabbitの指摘**: 重要な指摘はworktreeで修正してpush - **軽微な指摘(nitpick等)**: マージ後に対応するか、必要に応じて対応 ### Phase 5: クリーンアップ ```bash # 全エージェントにシャットダウン要求 SendMessage(type: "shutdown_request", recipient: "agent-{x}") # worktree削除 git worktree remove ../mirai-gikai-{team}-{x} git branch -D {team}-{x}-base # チーム削除 TeamDelete ``` ### Phase 6: ユーザーに結果報告 作成したPR一覧をまとめて報告: ``` | # | PR | タイトル | CI | |---|-----|---------|-----| | 1 | #XX | feat: ... | Passed | ``` ## 注意事項 - エージェント数は4-5が実用的上限(APIレート制限、CI負荷) - CIのflaky testに注意 → 失敗時はログ確認してから再実行 - worktreeパスは `../mirai-gikai-{name}` 形式 - `settings.local.json` のコピーは必須(権限設定のため)