team-executor について
team-executorは、既存のteam-coordinateセッションを実行する軽量なエージェントスキルです。セッションファイルを検証して状態を調整し、タスク分析やロール生成は行わずにteam-workerを統括します。
主な機能
- 01セッションディレクトリと必須ファイルの検証
- 02中断状態の調整と孤立タスクの検出
- 03team-workerのバックグラウンド起動
- 04実行状況の確認と再開
- 05完了結果のアーカイブ、保持、エクスポート
活用シーン
- 01既存のチームセッションで実行を再開
- 02セッション構成を確認して不足ファイルを特定
- 03パイプライン状況を確認して次の工程へ進行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ catlog22/ claude-code-workflow --skill team-executorインストール後、Claude Code で/team-executorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
roles/executor/role.mdroles/executor/commands/monitor.mdspecs/session-schema.md詳細
チーム実行
軽量なセッション実行スキルです:セッションを読み込む -> 状態を調整する -> team-worker エージェントを起動する -> 実行する -> 成果を届ける。分析も役割の生成も行いません -- 既存の team-coordinate セッションを実行するだけです。
アーキテクチャ
+---------------------------------------------------+
| Skill(skill="team-executor") |
| args="--session=<path>" [REQUIRED] |
+-------------------+-------------------------------+
| Session Validation
+---- --session valid? ----+
| NO | YES
v v
Error immediately Orchestration Mode
(no session) -> executor
|
+-------+-------+-------+
v v v v
[team-worker agents loaded from session role-specs]
セッションの検証(ルーティング前)
重要:実行前に必ずセッションを検証してください。
引数の解析
$ARGUMENTS から次の値を抽出します:
--session=<path>:team-coordinate セッションフォルダーのパス(必須)
検証手順
-
--sessionが指定されているか確認する:- 指定されていない場合 -> エラー:「セッションが必要です。使用方法:--session=」
-
セッション構造を検証する(specs/session-schema.md を参照):
- パスにディレクトリが存在する
team-session.jsonが存在し、有効な JSON であるtask-analysis.jsonが存在し、有効な JSON であるrole-specs/ディレクトリに.mdファイルが少なくとも 1 つあるteam-session.json#roles内の各役割に対応する.mdファイルがrole-specs/にある
-
検証に失敗した場合:
- 不足しているコンポーネントを具体的に報告する
- team-coordinate の再実行、またはパスの確認を提案する
役割ルーター
このスキルは実行専用です。ワーカーはこのスキルを呼び出しません -- team-worker エージェントとして直接起動されます。
ディスパッチロジック
| シナリオ | アクション |
|---|---|
--session がない | ただちにエラー |
--session が無効 | 理由を明記してエラー |
| 有効なセッション | オーケストレーションモード -> executor |
オーケストレーションモード
呼び出し:Skill(skill="team-executor", args="--session=<session-folder>")
ライフサイクル:
Validate session
-> executor Phase 0: Reconcile state (reset interrupted, detect orphans)
-> executor Phase 1: Spawn first batch team-worker agents (background) -> STOP
-> Worker executes -> SendMessage callback -> executor advances next step
-> Loop until pipeline complete -> Phase 2 report + completion action
ユーザーコマンド(一時停止中の executor を再開):
| コマンド | アクション |
|---|---|
check / status | 実行ステータスのグラフを出力し、進行はしない |
resume / continue | ワーカーの状態を確認し、次のステップに進む |
役割レジストリ
| 役割 | ファイル | 種類 |
|---|---|---|
| executor | roles/executor/role.md | 組み込みのオーケストレーター |
| (動的) | <session>/role-specs/<role-name>.md | セッションから読み込み |
Executor 起動テンプレート
v2 ワーカーの起動(すべての役割)
executor がワーカーを起動するときは、役割仕様のパスを指定して 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.`
})
完了時のアクション
パイプラインが完了したとき(すべてのタスクが完了)、executor は対話形式で選択肢を提示します:
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-executor', args='--session=')」 |
| 結果をエクスポート | AskUserQuestion(target path) -> 成果物を対象の場所にコピー -> アーカイブしてクリーンアップ |
team-coordinate との連携
| シナリオ | スキル |
|---|---|
| 新しいタスクで、セッションがない | team-coordinate |
| 既存セッションの実行を再開 | team-executor |
| セッションに新しい役割が必要 | team-coordinate(resume を指定) |
| 分析を行わずに実行のみ | team-executor |
エラー処理
| シナリオ | 解決方法 |
|---|---|
--session が指定されていない | 使用方法を示してただちにエラー |
| セッションディレクトリが見つからない | パスを示してエラーを返し、パスの確認を提案 |
| team-session.json が見つからない | セッションが不完全であることを示すエラーを返し、team-coordinate の再実行を提案 |
| task-analysis.json が見つからない | セッションが不完全であることを示すエラーを返し、team-coordinate の再実行を提案 |
| セッションに role-specs がない | セッションが不完全であることを示すエラーを返し、team-coordinate の再実行を提案 |
| 役割仕様ファイルが見つからない | 期待されるパスを示してエラー |
| capability_gap が報告された | 警告のみ。新しい役割仕様は生成できません |
| Fast-advance で誤ったタスクが起動される | 次のコールバック時に executor が調整 |
| 完了時のアクションに失敗 | デフォルトで「アクティブ状態を維持」を選択し、警告を記録 |