team-coordinate について
タスクを分析し、役割仕様を動的に作成して、依存関係を考慮したパイプラインで team-worker エージェントを割り当てる調整スキルです。組み込みコーディネーターによる複数役割の作業管理に向き、セッションの追跡と再開にも対応します。
主な機能
- 01タスク分析と依存関係グラフ
- 02ワーカー役割仕様の動的生成
- 03team-worker のバックグラウンド割り当て
- 04セッション状態と成果物の追跡
- 05中断したセッションの再開
活用シーン
- 01専門の異なる役割への作業分担
- 02依存タスクを調整されたパイプラインで実行
- 03一時停止または中断したチームセッションの再開
MCP 対応
チーム調整には `mcp__ccw-tools__team_msg` メッセージバスを使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ catlog22/ claude-code-workflow --skill team-coordinateインストール後、Claude Code で/team-coordinateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
roles/coordinator/role.mdroles/coordinator/commands/analyze-task.mddispatch.mdmonitor.mdspecs/knowledge-transfer.mdpipelines.mdquality-gates.mdrole-spec-template.md詳細
チーム調整
汎用的なチーム調整スキル:タスクを分析する → 役割仕様を生成する → 割り当てる → 実行する → 成果物を届ける。組み込みで用意されているのはコーディネーターのみです。その他すべてのワーカー役割は、軽量な役割仕様ファイルとして動的に生成され、team-worker エージェントを介して起動されます。
アーキテクチャ
+---------------------------------------------------+
| Skill(skill="team-coordinate") |
| args="task description" |
+-------------------+-------------------------------+
|
Orchestration Mode (auto -> coordinator)
|
Coordinator (built-in)
Phase 0-5 orchestration
|
+-------+-------+-------+-------+
v v v v v
[team-worker agents, each loaded with a dynamic role-spec]
(roles generated at runtime from task analysis)
CLI Tools (callable by any worker):
ccw cli --mode analysis - analysis and exploration
ccw cli --mode write - code generation and modification
共有定数
| 定数 | 値 |
|---|---|
| セッションプレフィックス | TC |
| セッションパス | .workflow/.team/TC-<slug>-<date>/ |
| ワーカーエージェント | team-worker |
| メッセージバス | mcp__ccw-tools__team_msg(session_id=<session-id>, ...) |
| CLI 分析 | ccw cli --mode analysis |
| CLI 書き込み | ccw cli --mode write |
| 役割の最大数 | 5 |
役割ルーター
このスキルはコーディネーター専用です。ワーカーはこのスキルを呼び出しません。team-worker エージェントとして直接起動されます。
入力の解析
$ARGUMENTS を解析します。--role は不要です。常にコーディネーターにルーティングされます。
役割レジストリ
静的に登録されているのはコーディネーターのみです。それ以外の役割はすべて動的に生成され、セッション内の役割仕様として保存されます。
| 役割 | ファイル | 種類 |
|---|---|---|
| coordinator | roles/coordinator/role.md | 組み込みオーケストレーター |
| (dynamic) | <session>/role-specs/<role-name>.md | 実行時に生成される役割仕様 |
技術プロファイルのスキャン:分析/探索役割の役割仕様を生成する際(responsibility_type に "analysis"、"exploration"、または "research" を含む場合)、フェーズ 3 に次の文を追加します。
探索後、検出されたシグナル(例:
sql_detected、auth_detected、perf_sensitive)と根拠となるファイルパスを含むtech_profileをstate_updateに含めてください。これにより、コーディネーターが専門家を追加する必要性を評価できます。
CLI ツールの使用
ワーカーは分析やコード操作に CLI ツールを使用できます。
| ツール | 目的 |
|---|---|
| ccw cli --mode analysis | 分析、探索、パターンの発見 |
| ccw cli --mode write | コードの生成、変更、リファクタリング |
割り当て
常にコーディネーターにルーティングします。コーディネーターは roles/coordinator/role.md を読み込み、各フェーズを実行します。
オーケストレーションモード
ユーザーはタスクの説明を入力するだけです。
呼び出し:Skill(skill="team-coordinate", args="task description")
ライフサイクル:
User provides task description
-> coordinator Phase 1: task analysis (detect capabilities, build dependency graph)
-> coordinator Phase 2: generate role-specs + initialize session
-> coordinator Phase 3: create task chain from dependency graph
-> coordinator Phase 4: spawn first batch workers (background) -> STOP
-> Worker executes -> SendMessage callback -> coordinator advances next step
-> Loop until pipeline complete -> Phase 5 report + completion action
ユーザーコマンド(一時停止中のコーディネーターを再開):
| コマンド | アクション |
|---|---|
check / status | 実行ステータスのグラフを出力します。進行はありません |
resume / continue | ワーカーの状態を確認し、次のステップに進みます |
revise <TASK-ID> [feedback] | 任意のフィードバックを添えて、指定したタスクを修正します |
feedback <text> | 実行中のパイプラインにフィードバックを追加します |
improve [dimension] | 最も弱い品質の側面を自動的に改善します |
コーディネーターの起動テンプレート
v2 ワーカーの起動(すべての役割)
コーディネーターがワーカーを起動する際は、役割仕様のパスを指定して team-worker エージェントを使用します。
Agent({
subagent_type: "team-worker",
description: "Spawn <role> worker",
team_name: <team-name>,
name: "<role>",
run_in_background: true,
prompt: `## Role Assignment
role: <role>
role_spec: <session-folder>/role-specs/<role>.md
session: <session-folder>
session_id: <session-id>
team_name: <team-name>
requirement: <task-description>
inner_loop: <true|false>
## Progress Milestones
session_id: <session-id>
Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification).
Report blockers immediately via team_msg type="blocker".
Report completion via team_msg type="task_complete" after final SendMessage.
Read role_spec file to load Phase 2-4 domain instructions.
Execute built-in Phase 1 (task discovery) -> role-spec Phase 2-4 -> built-in Phase 5 (report).`
})
内部ループ:役割ごとではなく、タスクの説明にある InnerLoop: フィールドに基づいてタスクごとに決定します。
- 直列チェーン(2 つ以上のタスクがあり、それぞれが直前のタスクにブロックされる):
inner_loop: true— 1 つのワーカーがループします - 並列タスク(相互にブロックされない):
inner_loop: false— タスクごとに別のワーカーを起動します - 単一タスクの役割:
inner_loop: false
完了時のアクション
パイプラインが完了したら(すべてのタスクが完了したら)、コーディネーターは対話形式の選択肢を提示します。
AskUserQuestion({
questions: [{
question: "Team pipeline complete. What would you like to do?",
header: "Completion",
multiSelect: false,
options: [
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
{ label: "Keep Active", description: "Keep session for follow-up work" },
{ label: "Export Results", description: "Export deliverables to target directory, then clean" }
]
}]
})
アクションハンドラー
| 選択肢 | 手順 |
|---|---|
| アーカイブしてクリーンアップ | セッションの status="completed" を更新 -> TeamDelete -> 成果物のパスを含む最終概要を出力 |
| アクティブな状態を維持 | セッションの status="paused" を更新 -> 「次のコマンドで再開:Skill(skill='team-coordinate', args='resume')」を出力 |
| 結果をエクスポート | AskUserQuestion(target path) -> 成果物を指定先にコピー -> アーカイブしてクリーンアップ |
仕様リファレンス
| 仕様 | 目的 |
|---|---|
| specs/pipelines.md | 動的パイプラインモデル、タスクの命名、依存関係グラフ |
| specs/role-spec-template.md | 動的なロール仕様生成用テンプレート |
| specs/quality-gates.md | 品質基準とスコアリングの評価項目 |
| specs/knowledge-transfer.md | ロール間のコンテキスト転送プロトコル |
セッションディレクトリ
.workflow/.team/TC-<slug>-<date>/
+-- team-session.json # Session state + dynamic role registry
+-- task-analysis.json # Phase 1 output: capabilities, dependency graph
+-- role-specs/ # Dynamic role-spec definitions (generated Phase 2)
| +-- <role-1>.md # Lightweight: frontmatter + Phase 2-4 only
| +-- <role-2>.md
+-- artifacts/ # All MD deliverables from workers
| +-- <artifact>.md
+-- .msg/ # Team message bus + state
| +-- messages.jsonl # Message log
| +-- meta.json # Session metadata + cross-role state
+-- wisdom/ # Cross-task knowledge
| +-- learnings.md
| +-- decisions.md
| +-- issues.md
+-- explorations/ # Shared explore cache
| +-- cache-index.json
| +-- explore-<angle>.json
+-- discussions/ # Inline discuss records
| +-- <round>.md
team-session.json スキーマ
{
"session_id": "TC-<slug>-<date>",
"task_description": "<original user input>",
"status": "active | paused | completed",
"team_name": "<team-name>",
"roles": [
{
"name": "<role-name>",
"prefix": "<PREFIX>",
"responsibility_type": "<type>",
"inner_loop": false,
"role_spec": "role-specs/<role-name>.md"
}
],
"pipeline": {
"dependency_graph": {},
"tasks_total": 0,
"tasks_completed": 0
},
"active_workers": [],
"completed_tasks": [],
"completion_action": "interactive",
"created_at": "<timestamp>"
}
セッションの再開
コーディネーターは、中断されたセッションに対して resume / continue をサポートします。
.workflow/.team/TC-*/team-session.jsonをスキャンして、アクティブまたは一時停止中のセッションを探します- 複数該当する場合 -> 選択用に AskUserQuestion を呼び出します
- TaskList を監査します -> セッション状態とタスクのステータスを照合します
in_progressをpendingにリセットします(中断されたタスク)- チームを再構築し、必要なワーカーのみを起動します
- 不足しているタスクを作成し、TaskUpdate({ addBlockedBy }) で依存関係を設定します
- 最初に実行可能なタスクを開始します -> フェーズ 4 の調整ループへ進みます
エラー処理
| シナリオ | 解決方法 |
|---|---|
| 不明なコマンド | 利用可能なコマンドの一覧とともにエラーを返します |
| 動的なロール仕様が見つからない | エラーを返します。コーディネーターによる再生成が必要な場合があります |
| コマンドファイルが見つからない | インライン実行にフォールバックします |
| CLI ツールが失敗する | ワーカーは直接実装を続行し、警告をログに記録します |
| 探索キャッシュが破損している | キャッシュをクリアして、再探索します |
| Fast-advance が誤ったタスクを起動する | コーディネーターは次のコールバックで調整します |
| capability_gap が報告される | コーディネーターは handleAdapt を使って新しいロール仕様を生成します |
| 完了アクションが失敗する | デフォルトで Keep Active にし、警告をログに記録します |