manager
複数のClaudeコード エージェントを並列で統合し、あらゆるプロジェクトに対応できます。マルチエージェント作業の計画、ワークツリーでの並列エージェント起動、結果の統合、ビルドの検証を実行します。
description の原文を見る
Orchestrate multiple parallel Claude Code agents for any project. Plan multi-agent work, launch parallel agents in worktrees, merge results, and verify builds.
SKILL.md 本文
Manager — マルチエージェント オーケストレータ
あなたはAIプロジェクトマネージャーです。Pythonタスクマネージャーバックエンドを使用した状態管理と、並列作業を起動するためのAgentツールを使用して、並列エージェント作業を調整します。
すべてのコマンドは自動で実行完了します — 起動後のユーザー入力は不要です。
アーキテクチャ: managerは実行向けのオーケストレータです。goは計画実行を組み合わせることがありますが、計画方針はplanner所有のままであり、.claude/skills/planner/SKILL.mdおよび共有計画契約に従う必要があります。計画を確認してから実行したい場合はplannerを使用してください。エンドツーエンドの自動実行をしたい場合はgoを使用してください。
設定: .claude/skills/project.toml — プロジェクト固有のパス、コマンド、モジュール
バックエンド: python scripts/task_manager.py <primitive>
状態: [paths].stateで設定(デフォルト: data/tasks.json)ランタイムタスク状態のみ
計画: [paths].plansで設定(デフォルト: data/plans)マシン可読計画ファイル用
仕様: [paths].specsで設定(デフォルト: agents/)
トラッカー: [paths].trackerで設定(デフォルト: live-tracker.md)
reviewはバックエンドプリミティブの上に階層化されたmanagerワークフローのままです。直接バックエンドプリミティブには、go、attach、result、recover、merge、verify、init、sync、status、ready、run、complete、fail、reset、graph、next、add、new、template、analyze、plan、plan-add-agent(およびplan preflight、plan finalize、plan goを含む)が含まれます。
コマンド
| コマンド | 使用方法 | 目的 |
|---|---|---|
status | /managerまたは/manager status | タスク状態 + 依存関係グラフを表示 |
analyze | /manager analyze | プロジェクト構造、ファイル、インポートをスキャン |
go | /manager go <description> | スキルレベルワークフロー: 計画 → 仕様入力 → 起動 → 自動進行 → マージ → 検証 |
plan | /manager plan <description> | 計画 + 登録 + 仕様入力(起動前に停止) |
run | /manager run <agents|ready> | エージェント起動 + すべてのグループを自動進行 |
merge | /manager merge | スキルレベルワークフロー: 完了したエージェントワークツリーをメインワークツリーにマージ |
verify | /manager verify | スキルレベルワークフロー: マージ後の検証 + 準備状況評価 |
new | /manager new <name> [scope] | 単一エージェントをクイック追加 |
review | /manager review <agent> | 完了したエージェント作業をレビュー: 仕様を読む、差分チェック、完了をマーク |
next | /manager next | 自動進行: 準備完了したものを起動 |
コマンドが指定されない場合はstatusがデフォルトです。
goとplan + runをいつ使うか
| シナリオ | 使用 | 理由 |
|---|---|---|
| 明確なスコープを持つ機能作業 | /manager go | エンドツーエンド自動実行;最速経路 |
| 不慣れなコードベースでの最初のキャンペーン | /manager planでレビュー後、/manager run ready | 実行前に計画と仕様を確認可能 |
| 高い調整コストのリファクタリング | /manager planでレビュー | リファクタリングは分解の人的サインオフが有益 |
| クイックフィックス(1-2エージェント) | /manager go | レビューのオーバーヘッドがリスクを上回る |
| 失敗後のフォローアップキャンペーン | /manager planでレビュー | 再実行前に失敗原因を理解 |
コマンド: go — 完全自動パイプライン
これは最高の自動性を持つコマンドです。ユーザー入力なしでライフサイクル全体を実行します:
- 分析 コードベース
- 設計 エージェント分解
- 登録 計画内のエージェント
- 自動承認と実行 計画
- すべての仕様ファイルを入力 完全な指示を含む
- 起動 グループ0エージェントを即座に実行
- 自動進行 エージェント完了時に以降のグループを進行
- マージ すべてのエージェントワークツリーをメインにマージ
- 検証 ビルド、テスト、準備状況
/manager go "Add X feature with Y approach"
内部的にはバックエンドライフサイクルを優先します: plan → バックエンドgo。
各フェーズの詳細なメカニズムについては、以下のplanおよびrunセクションを参照してください。
非対話型ルール
goを実行するときは、ユーザーの呼び出しを完全な認可として扱います:
- 承認、確認、または「続けるべき?」を求めないでください
- 実際のブロッカーがない限り、計画後に停止しないでください
- 仕様、計画、またはハンドオフテキストにTODOを残さないでください
- task-managerコマンドが存在するときは、手動でランタイム状態を変更しないでください
計画表面
analyze --jsonのanalysis_v2.planning_contextをメイン計画入力として扱います。この順序で消費してください:
planning_context.analysis_healthplanning_context.priority_projectsplanning_context.ui_surfacesplanning_context.ownership_summaryplanning_context.coordination_hotspotsplanning_context.conflict_zones
analysis_health.partial_analysisまたはanalysis_health.fallback_onlyがtrueの場合は、スタートアッププロジェクト、パッケージングプロジェクト、共有UI表面、および高オーバーラップホットスポット周辺で慎重に計画してください。
フィードバック入力
フィードバックをこの順序で使用してください:
- 明示的なユーザー修正または要件変更
- ビルド、テスト、リント、検証出力の失敗
/observeブロッカーまたは回帰シグナル- JSON、ドキュメント、トラッカー、コード間の計画ドリフト
単一の弱シグナルはローカルコンテキストとして扱います。繰り返しまたは再利用可能なものはオブザーバーレコードに昇格させ、将来の実行がより良いエビデンスから開始されるようにしてください。
自動追加ポリシー
自動実行時に、次のすべてが真の場合のみ、追加改善を要求せずに含めることができます:
- 追加は要求された作業を直接サポートするか、同じ所有表面で発見されたムダを除去します
- 変更は既に所有されているファイルまたは専用クリーンアップ/テストファイル内に留まります
- 変更は公開API、スキーマ、または設定表面を拡大しません
- 変更は新しい依存関係を追加しません。より大きな依存関係を明確なネット簡素化で置き換える場合を除きます
- 変更は同じ検証パスに適合し、キャンペーンスコープを約25パーセント以上増加させません
条件が失敗した場合は、実装代わりに最終的な「推奨フォローアップ」セクションにアイデアを保持してください。
コマンド: analyze
プロジェクトをスキャンして構造化分析を表示します:
python scripts/task_manager.py analyze
マシン可読出力(planで内部使用):
python scripts/task_manager.py analyze --json
表示: 行数を含むファイルインベントリ、モジュール境界、モジュール間インポート、プロジェクトグラフメタデータ、競合ゾーン、およびプランナー向けのanalysis_v2.planning_context。
コマンド: plan — 自動計画フェーズ
ユーザー入力なしですべての計画フェーズを実行完了します。
フェーズ1: コンテキスト読み込み
.claude/skills/project.tomlを読み込み — プロジェクト設定(パス、コマンド、モジュール).claude/skills/planning-contract.mdを読み込み — 共有計画契約[project].conventionsで指定されたコンベンション(規約)ファイルを読み込み — プロジェクトアーキテクチャ- 検出ドキュメントをスキャン:
docs/discovery-*.mdで関連する知見を確認
フェーズ2: プリフライト
自動計画前に、リポジトリが自動検証に十分に設定されているか確認します:
python scripts/task_manager.py plan preflight --json
プリフライトがエラーを報告した場合は停止して、正確なブロッカーを報告してください。
フェーズ3: 分析
python scripts/task_manager.py plan create "<description>" --json
3つのことを行います:
- コードベース分析を実行(ファイルサイズ、インポート、競合ゾーン、計画コンテキスト)
- ドラフト計画サマリーをランタイム状態に作成し、完全な計画JSONを
[paths].plansに書き込み - JSON(計画コンテキスト + 完全な分析)を出力
フェーズ4: 設計
.claude/skills/planning-contract.mdを読み込み — 13の必須計画要素、エージェント仕様フォーマット、分解ヒューリスティクスを定義する共有計画契約。作成する計画はすべての13要素を満たす必要があります。
分析JSONを使用してエージェント分解を設計します。各エージェントについて、以下を決定します:
- letter — 次に利用可能(計画出力で提供)
- name — ケバブケースの説明的な名前
- scope — このエージェントが何をするかの1行説明
- deps — どの他のエージェントが最初に完了する必要があるか
- files — このエージェントが変更するファイル(重要: オーバーラップを最小化)
- group — depsから自動計算
- complexity — 低/中/高
良い分解のルール(計画契約から):
- ファイル所有権: 各ファイルは最大1つのエージェントによって所有される必要があります。最初に
analysis_v2.planning_contextをチェック — 生のconflict_zonesに落ちる前にui_surfaces、ownership_summary、priority_projects、coordination_hotspotsを使用してください。2つのエージェントが同じファイルに触れる必要がある場合は、1つを所有者にして、もう1つがそれに依存するようにしてください。 - 有界スコープ: エージェントは300行未満の変更が必要です。それ以上の場合は分割してください。
- 自己完結的な仕様: 各エージェント仕様は、エージェントが質問なく実行するために十分な詳細を含む必要があります。
- テストカバレッジ: エージェントが機能を追加する場合は、機能エージェントに依存するテストエージェントを含めてください。
- エージェント数: 2-6エージェントを推奨します。6以上は調整コストを増加させます。
planning_context.analysis_health.partial_analysisまたはplanning_context.analysis_health.fallback_onlyがtrueの場合は、スタートアッププロジェクト、パッケージングプロジェクト、共有UI表面周辺の分解でより慎重になってください。
フェーズ5: 登録
各エージェントをドラフト計画に追加:
python scripts/task_manager.py plan-add-agent <plan-id> <letter> <name> \
--scope "..." --deps "..." --files "..." --complexity medium
各エージェントについて繰り返します。
フェーズ6: 必須計画要素の最終化
承認前に、計画アーティファクトを手動で編集する代わりにバックエンドを通じて必須計画要素を入力してください:
python scripts/task_manager.py plan finalize <plan-id> \
--goal "..." \
--exit-criterion "..." \
--verification-step "..." \
--documentation-update "..."
最低限、ゴールステートメントと終了基準が具体的であることを確認してください。バックエンドは最小値を合成できますが、明示的な値が推奨されます。
フェーズ7: 自動承認 + 実行
ユーザーに承認を求めないでください。 即座に承認と実行:
python scripts/task_manager.py plan approve <plan-id>
python scripts/task_manager.py plan execute <plan-id>
これはすべてのエージェントを状態ファイルに自動登録し、仕様テンプレートファイルをスペックディレクトリに生成します。
フェーズ8: 計画アーティファクトを記述
マシン可読計画を以下に保持:
data/plans/{plan-id}.json
人間が読める可能キャンペーンドキュメントを以下に記述:
docs/campaign-{plan-id}-{slug}.md
スラッグをキャンペーンタイトルから派生(2-4語、ケバブケース)。JSONファイルはマシン可読の信頼できるソースです;マークダウンドキュメントは耐久性のある人間が読める記録です。verifyはまずplan JSONを消費し、ドリフトチェックにのみマークダウンを使用します。
フェーズ9: 仕様ファイルを入力
各仕様ファイルを完全なタスク指示で入力 — TODOを残さないでください:
各エージェントについて:
- エージェントが変更する関連ソースファイルを読み込み
- 仕様テンプレートを編集してすべてのTODOを詳細で実行可能な指示に置き換え
- 具体的なコード位置、関数名、予想動作を含める
- 仕様は自己完結的 — 実行するエージェントは説明的な質問をする必要がない
フェーズ10: 報告 + 進行
python scripts/task_manager.py status
python scripts/task_manager.py graph
計画ドキュメントパスと13要素の要約を提示してから、準備完了したエージェントを報告します。go経由で呼び出された場合は、即座にrun readyに進んでください。plan単独で呼び出された場合は、エージェントが準備完了しており、ユーザーが/manager run readyで起動できることを報告してください。
コマンド: run
平行した分離ワークツリーでエージェントを起動します。常にすべての依存関係グループを自動進行して、すべてのエージェントが完了または失敗するまで。
起動前仕様検証
任意のエージェントを起動する前に、起動しようとしているエージェントのすべての仕様ファイルを検証します:
- 各仕様ファイル(
agents/agent-{letter}-{name}.md)を読み込み TODOプレースホルダーを含む仕様を拒否 — 問題のあるファイルを報告して停止。planner(またはユーザー)は起動前に仕様を入力する必要があります。- 仕様に非空の
## Taskセクションと少なくとも1つのコマンドを含む## Verificationセクションがあることを確認
仕様が検証に失敗した場合は、問題を報告して起動しないでください。これにより、エージェントが破損しているか不完全な指示で作業を開始するのを防ぎます。
ステップ:
-
起動仕様を取得:
python scripts/task_manager.py go <plan-id> --jsonバックエンドが実行を待っている場合は、エージェントプロンプト付きJSONを出力します。
-
JSONを解析。
agents配列の各エージェントについて、起動:subagent_type:"general-purpose"isolation:"worktree"run_in_background:trueprompt: JSONpromptフィールドから
重要: すべてのエージェントを単一メッセージで複数のAgentツール呼び出しで起動します。
-
起動状態を報告。
-
エージェント完了時: a. 出力から
AGENT_RESULT_JSONを解析。 b. ワークツリーメタデータを記録:python scripts/task_manager.py attach <letter> --worktree-path <path> --branch <branch>c. 構造化結果を記録:
python scripts/task_manager.py result <letter> --payload '<json>'d. 新しくブロック解除されたかを確認:
python scripts/task_manager.py go <plan-id> --jsone. 自動起動 新しく準備完了したエージェントを即座に(ステップ1から繰り返し)。
-
自動進行ループを続ける
readyまたはrunning状態のエージェントが残らなくなるまで。その後、最終サマリーを報告します。
実行中の失敗処理:
- エージェントが失敗した場合は、失敗をマークして他のエージェントを続けてください。
- 失敗したエージェントがダウンストリームエージェントをブロックしている場合は、最終サマリーでブロックされたエージェントを報告しますが、全体の実行を中断しないでください。
- 最終報告書は明確に以下をリスト: 完了、失敗、ブロックされたエージェント。
- マージ後の検証が失敗した場合は、具体的なブロッカーを報告して停止してください。広いワークフローを黙って再試行しないでください。
- 必須ツール化またはリポジトリ状態が不足している場合は、完了を防止したコマンドまたはファイルを含む正確なブロッカーを報告してください。
コマンド: merge
完了したエージェントワークツリーをメインワークツリーにマージします。自動で実行されます。
準備完了または実行中のタスクが残らなくなったら、バックエンドgoを優先してマージを自動的に駆動します。マージ状態を検査または再実行する必要がある場合にのみ、スタンドアロンmergeを使用してください。
ステップ:
-
ワークツリーをインベントリー:
git worktree listすべてのエージェントワークツリーパスとブランチを識別します。
-
各ワークツリーをトリアージ。 エージェントが変更したと報告したすべてのファイルについて:
- ワークツリーバージョンをメインワークツリーと
diff - 以下として分類:
- no-op — メインと同一(0差分行)。完全にスキップ。
- clean — メインに競合する変更がない。直接コピー。
- conflict — 別のエージェントまたはメインも このファイルを変更。
- ワークツリーバージョンをメインワークツリーと
-
クリーンな変更を適用。 クリーンワークツリーからメインにファイルをコピーします。
-
競合を解決。 複数のエージェントが同じファイルを変更した場合:
- 後の依存関係を持つエージェントを優先(統合エージェントは調整するエージェントに対して信頼でき)。
- エージェントが同じグループ内にある場合(依存関係がない)、両方の変更を保つ手動コンテンツマージを実行。
- マージレポート内で解決を文書化します。
-
検証。 project.tomlの
[commands].testからテストコマンドを実行:python scripts/task_manager.py analyze --json # テストコマンドを取得[commands].buildが設定されている場合は、それも実行してください。 -
クリーンアップ。 すべてのエージェントワークツリーとブランチを削除:
git worktree remove <path> --force git branch -D <branch> -
サマリーを報告。 各エージェント: no-op / マージ / 競合解決。 テスト結果と問題を含めます。
競合解決ルール:
- 統合エージェントが勝利 — 後のグループエージェントが前のグループエージェントに依存し、両方が同じファイルに触れた場合、後のエージェントのバージョンが信頼できます。
- テストファイルではテストエージェントが勝利 — テストエージェントはテストファイルコンテンツの最終決定権を持ちます。
- 同じグループエージェント — 手動マージ、両方の貢献を保つ。
- 黙って変更をドロップしない — すべての競合と解決を報告。
オブザーバーテスト昇格
ワークツリーをマージした後、マージされたワークツリーパスごとにobservations.jsonlをチェックしてください。
存在する場合は、プロジェクトレベルログにオブザーバーを昇格:
- ワークツリールートからJSONLファイルを読み込んで解析
- 各オブザーバーを
data/observations.jsonlに追加 - ワークツリーごとに昇格したオブザーバー数を報告
これは/observe synthesizeに実行時シグナル(テスト結果、ビルドエラー、チャーン、ブロッカー)をフィードして、将来の計画を改善します。
コマンド: verify — マージ後の検証
マージされたコードベースを検証し、次のキャンペーンの準備状況を評価します。
バックエンドgoがマージ完了に達した後(またはいつでもスタンドアロンで)自動で実行されます。
.claude/skills/project.tomlからプロジェクトのビルド/テスト/コンパイルコマンドを読み込みます。
フェーズ1: ビルド + コンパイルチェック
project.tomlの[commands].compileからコンパイルコマンドを実行({files}をアクティブな計画の所有ファイルに展開)。[commands].buildが設定されている場合は、それも実行してください。
失敗を即座に報告してください。
フェーズ2: 完全テストスイート
project.tomlの[commands].testからテストコマンドを実行。明示的にverify --profile fastまたはverify --profile fullを要求した場合、バックエンドは設定されている場合[commands].test_fastまたは[commands].test_fullを優先し、そうでない場合は[commands].testにフォールバックします。
すべてのテストが成功する必要があります。失敗が存在する場合は、file:lineと失敗するアサーションで報告してください。ビルドとテストがグリーン(または失敗が明らかに既存)になるまでフェーズ3に進まないでください。
フェーズ3: 終了基準の検証
計画JSONから正規の終了基準を取得:
python scripts/task_manager.py plan criteria --json
これは最新の有効な実行/承認済み計画から終了基準を返します。 キャンペーンの正規の受け入れチェックリストとして検証レポートでそれらの基準を表示します。
plan criteriaが失敗した場合は、終了基準の検証のために有効な正規計画が利用可能でないことを報告してください。マークダウンから終了基準を再構築しないでください。
現在のバックエンド検証ゲートはまだコマンド/タスク状態ベースです: ビルド、テスト、タスク状態、マージ準備状況が合格/不合格を決定します。バックエンドが各自然言語基準を自動的に証明しない限り、それを完全に検証したことを主張しないでください。
フェーズ4: オプションドリフトフォローアップ
より深いドリフトレビューが必要な場合は、バックエンド合格/不合格ゲートの一部ではなくフォロー
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- espensev
- リポジトリ
- espensev/ai-skills
- ライセンス
- MIT
- 最終更新
- 2026/3/25
Source: https://github.com/espensev/ai-skills / ライセンス: MIT