team-executor-v2

SKILL.md

Team Executor v2

Lightweight session execution skill: load session -> reconcile state -> spawn team-worker agents -> execute -> deliver. No analysis, no role generation -- only executes existing team-coordinate sessions.

Architecture

+---------------------------------------------------+
|  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]

Session Validation (BEFORE routing)

CRITICAL: Session validation MUST occur before any execution.

Parse Arguments

Extract from $ARGUMENTS:

  • --session=<path>: Path to team-coordinate session folder (REQUIRED)

Validation Steps

  1. Check --session provided:

    • If missing -> ERROR: "Session required. Usage: --session="
  2. Validate session structure (see specs/session-schema.md):

    • Directory exists at path
    • team-session.json exists and valid JSON
    • task-analysis.json exists and valid JSON
    • role-specs/ directory has at least one .md file
    • Each role in team-session.json#roles has corresponding .md file in role-specs/
  3. Validation failure:

    • Report specific missing component
    • Suggest re-running team-coordinate or checking path

Role Router

This skill is executor-only. Workers do NOT invoke this skill -- they are spawned as team-worker agents directly.

Dispatch Logic

Scenario Action
No --session ERROR immediately
--session invalid ERROR with specific reason
Valid session Orchestration Mode -> executor

Orchestration Mode

Invocation: Skill(skill="team-executor", args="--session=<session-folder>")

Lifecycle:

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

User Commands (wake paused executor):

Command Action
check / status Output execution status graph, no advancement
resume / continue Check worker states, advance next step

Role Registry

Role File Type
executor roles/executor/role.md built-in orchestrator
(dynamic) <session>/role-specs/<role-name>.md loaded from session

Executor Spawn Template

v2 Worker Spawn (all roles)

When executor spawns workers, use team-worker agent with role-spec path:

Task({
  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>

Read role_spec file to load Phase 2-4 domain instructions.`
})

Completion Action

When pipeline completes (all tasks done), executor presents an interactive choice:

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" }
    ]
  }]
})

Action Handlers

Choice Steps
Archive & Clean Update session status="completed" -> TeamDelete -> output final summary with artifact paths
Keep Active Update session status="paused" -> output: "Resume with: Skill(skill='team-executor', args='--session=')"
Export Results AskUserQuestion(target path) -> copy artifacts to target -> Archive & Clean

Cadence Control

Beat model: Event-driven, each beat = executor wake -> process -> spawn -> STOP.

Beat Cycle (single beat)
======================================================================
  Event                   Executor                 Workers
----------------------------------------------------------------------
  callback/resume --> +- handleCallback -+
                      |  mark completed   |
                      |  check pipeline   |
                      +- handleSpawnNext -+
                      |  find ready tasks |
                      |  spawn workers ---+--> [team-worker A] Phase 1-5
                      |  (parallel OK)  --+--> [team-worker B] Phase 1-5
                      +- STOP (idle) -----+         |
                                                     |
  callback <-----------------------------------------+
  (next beat)              SendMessage + TaskUpdate(completed)
======================================================================

  Fast-Advance (skips executor for simple linear successors)
======================================================================
  [Worker A] Phase 5 complete
    +- 1 ready task? simple successor? --> spawn team-worker B directly
    +- complex case? --> SendMessage to executor
======================================================================

Integration with team-coordinate

Scenario Skill
New task, no session team-coordinate
Existing session, resume execution team-executor
Session needs new roles team-coordinate (with resume)
Pure execution, no analysis team-executor

Error Handling

Scenario Resolution
No --session provided ERROR immediately with usage message
Session directory not found ERROR with path, suggest checking path
team-session.json missing ERROR, session incomplete, suggest re-run team-coordinate
task-analysis.json missing ERROR, session incomplete, suggest re-run team-coordinate
No role-specs in session ERROR, session incomplete, suggest re-run team-coordinate
Role-spec file not found ERROR with expected path
capability_gap reported Warn only, cannot generate new role-specs
Fast-advance spawns wrong task Executor reconciles on next callback
Completion action fails Default to Keep Active, log warning
Weekly Installs
11
GitHub Stars
1.5K
First Seen
Feb 27, 2026
Installed on
opencode11
gemini-cli11
github-copilot11
codex11
kimi-cli11
amp11