dispatching-parallel-agents について
独立した問題を複数のエージェントに分担するワークフローを示すスキルです。タスクの範囲設定、並行実行、結果の確認と統合を案内し、テストやサブシステムの別個の問題に対応します。
主な機能
- 01独立した問題領域の特定
- 02範囲を絞ったエージェントタスクの作成
- 03並行作業の割り当てと追跡
- 04結果の確認と統合
活用シーン
- 01別々のテスト失敗をエージェントに割り当て
- 02同じファイルへの競合する変更を防止
- 03修正を統合して全テストを実行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ izyanrajwani/ agent-skills-library --skill dispatching-parallel-agentsインストール後、Claude Code で/dispatching-parallel-agentsを入力して読み込まれたか確認します。
詳細
並列エージェントのディスパッチ
独立した問題ごとにエージェントを1つ割り当てます。並行して作業してもらいます。
ディスパッチのワークフロー
コピーして追跡します。
- [ ] 1. Identify independent domains
- [ ] 2. Create focused agent tasks
- [ ] 3. Dispatch in parallel
- [ ] 4. Review and integrate
1. 独立した領域を特定する
失敗を問題ごとに分類します。
- File A のテスト:ツールの承認フロー
- File B のテスト:バッチの完了
- File C のテスト:中止機能
各領域は独立しています。ツールの承認を修正しても、中止のテストには影響しません。
重要な確認事項: 1つの修正で他の問題も解決する可能性がある場合は、まずまとめて調査します(並列化しません)。
2. 焦点を絞ったエージェントタスクを作成する
各エージェントに必要なものは次のとおりです。
- 範囲: 1つのテストファイルまたはサブシステム
- 目標: 該当するテストを成功させる
- 制約: 関連のないコードは変更しない
- 出力: 調査結果と修正内容の要約
3. 並列でディスパッチする
例(Claude Code):
Task("Fix agent-tool-abort.test.ts failures")
Task("Fix batch-completion-behavior.test.ts failures")
Task("Fix tool-approval-race-conditions.test.ts failures")
4. レビューして統合する
- 各エージェントの要約を読む
- 競合がないか確認する(同じファイルを編集したか?)
- 2つのエージェントが同じファイルを編集した場合 → 作業を止め、範囲を再設定する(ファイルごとに担当者を1人にする)
- テストスイート全体を実行する
- 失敗がある場合:
- マージ競合を確認する → 手動で解決する
- 競合がない場合 → 新たな失敗として調査する
- すべて成功するまで繰り返す
エージェントプロンプトのテンプレート
Fix the [N] failing tests in [file path]:
1. "[test name]" - [error summary]
2. "[test name]" - [error summary]
Context: [relevant background, e.g., "These are timing/race condition issues"]
Your task:
1. Read the test file, understand what each test verifies
2. Identify root cause—timing issues or actual bugs?
3. Fix by [preferred approach, e.g., "replacing arbitrary timeouts with event-based waiting"]
Do NOT: [anti-patterns, e.g., "just increase timeouts—find the real issue"]
Return: Summary of root cause and changes made.
よくある間違い
| ❌ 悪い例 | ✅ 良い例 |
|---|---|
| 「すべてのテストを修正して」 | 「agent-tool-abort.test.ts を修正して」 |
| 「競合状態を修正して」 | エラーメッセージとテスト名を貼り付ける |
| 制約がない | 「プロダクションコードは変更しないでください」 |
| 「修正して」 | 「根本原因と変更内容の要約を返してください」 |
例
シナリオ: 大規模なリファクタリング後、3つのファイルで6件のテストが失敗しています。
失敗:
- agent-tool-abort.test.ts:3件の失敗(タイミングの問題)
- batch-completion-behavior.test.ts:2件の失敗(ツールが実行されない)
- tool-approval-race-conditions.test.ts:1件の失敗(実行回数 = 0)
判断: 各領域は独立しています。中止ロジック、バッチの完了、競合状態はそれぞれ別の問題です。
ディスパッチ:
Agent 1 → Fix agent-tool-abort.test.ts
Agent 2 → Fix batch-completion-behavior.test.ts
Agent 3 → Fix tool-approval-race-conditions.test.ts
結果:
- エージェント1:タイムアウトをイベントベースの待機に置き換えました
- エージェント2:イベント構造のバグを修正しました(threadId の場所が誤っていました)
- エージェント3:非同期ツールの実行を待機する処理を追加しました
統合: すべての修正は独立しており、競合もなく、テストスイート全体が成功しました。
コメント
Markdown 対応