Lightweight session execution skill. Resumes existing team-coordinate sessions for pure execution via team-worker agents. No analysis, no role generation -- only loads and executes. Session path required. Triggers on "Team Executor".
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.
+---------------------------------------------------+
| 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]
CRITICAL: Session validation MUST occur before any execution.
Extract from $ARGUMENTS:
--session=<path>: Path to team-coordinate session folder (REQUIRED)Check --session provided:
Validate session structure (see specs/session-schema.md):
team-session.json exists and valid JSONtask-analysis.json exists and valid JSONrole-specs/ directory has at least one .md fileteam-session.json#roles has corresponding .md file in role-specs/Validation failure:
This skill is executor-only. Workers do NOT invoke this skill -- they are spawned as team-worker agents directly.
| Scenario | Action |
|---|---|
No --session | ERROR immediately |
--session invalid | ERROR with specific reason |
| Valid session | Orchestration Mode -> executor |
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 | File | Type |
|---|---|---|
| executor | roles/executor/role.md | built-in orchestrator |
| (dynamic) | <session>/role-specs/<role-name>.md | loaded from session |
When executor spawns workers, use team-worker agent with role-spec path:
Agent({
subagent_type: "team-worker",
description: "Spawn <role> worker",
team_name: <team-name>,
name: "<role>",
run_in_background: true,
prompt: `## Role Assignment