mcpField
T
team-coordinate

team-coordinate

github.com/catlog22エージェントワークフロー2.1k49 回インストール19 週間前に更新
リポジトリ

team-coordinate について

タスクを分析し、役割仕様を動的に作成して、依存関係を考慮したパイプラインで team-worker エージェントを割り当てる調整スキルです。組み込みコーディネーターによる複数役割の作業管理に向き、セッションの追跡と再開にも対応します。

主な機能

  1. 01タスク分析と依存関係グラフ
  2. 02ワーカー役割仕様の動的生成
  3. 03team-worker のバックグラウンド割り当て
  4. 04セッション状態と成果物の追跡
  5. 05中断したセッションの再開

活用シーン

  1. 01専門の異なる役割への作業分担
  2. 02依存タスクを調整されたパイプラインで実行
  3. 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.md
roles/coordinator/commands/
analyze-task.md
dispatch.md
monitor.md
specs/
knowledge-transfer.md
pipelines.md
quality-gates.md
role-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 は不要です。常にコーディネーターにルーティングされます。

役割レジストリ

静的に登録されているのはコーディネーターのみです。それ以外の役割はすべて動的に生成され、セッション内の役割仕様として保存されます。

役割ファイル種類
coordinatorroles/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 をサポートします。

  1. .workflow/.team/TC-*/team-session.json をスキャンして、アクティブまたは一時停止中のセッションを探します
  2. 複数該当する場合 -> 選択用に AskUserQuestion を呼び出します
  3. TaskList を監査します -> セッション状態とタスクのステータスを照合します
  4. in_progress を pending にリセットします(中断されたタスク)
  5. チームを再構築し、必要なワーカーのみを起動します
  6. 不足しているタスクを作成し、TaskUpdate({ addBlockedBy }) で依存関係を設定します
  7. 最初に実行可能なタスクを開始します -> フェーズ 4 の調整ループへ進みます

エラー処理

シナリオ解決方法
不明なコマンド利用可能なコマンドの一覧とともにエラーを返します
動的なロール仕様が見つからないエラーを返します。コーディネーターによる再生成が必要な場合があります
コマンドファイルが見つからないインライン実行にフォールバックします
CLI ツールが失敗するワーカーは直接実装を続行し、警告をログに記録します
探索キャッシュが破損しているキャッシュをクリアして、再探索します
Fast-advance が誤ったタスクを起動するコーディネーターは次のコールバックで調整します
capability_gap が報告されるコーディネーターは handleAdapt を使って新しいロール仕様を生成します
完了アクションが失敗するデフォルトで Keep Active にし、警告をログに記録します

コメント