teamlisted
Install: claude install-skill chussum/cat-harness
# team — native subagent fan-out
You (the main thread) are the leader. Workers are `executor` subagents you spawn and await
directly — there is no tmux, no worker panes, no claim leases, no heartbeats. What survives is the
philosophy: explicit lanes, a durable task board, per-task completion evidence, and a shutdown
phase computed from evidence, never from optimism.
## State plumbing
- Resolve the session id, state root (`.cat/_session-{sid}`), and helper script path from the
`<cat-harness-router>` context block; fall back to
`${CLAUDE_PLUGIN_ROOT}/scripts/cat-state.mjs`. Below, `$CAT` means that script path and every
invocation takes `--session <sid>`.
- Ensure the session tree exists: `node "$CAT" init --session <sid>`.
- Phases: `starting → running → complete`; terminal alternates `awaiting_integration`, `failed`,
`cancelled`. Initial phase is `starting`. While `starting`, the PreToolUse guard blocks
mutations — do not move to `running` until the gates below pass.
- ALL team state writes go through the sanctioned writer — never the Write tool
(`state/**` is runtime-owned; the guard denies direct writes always):
node "$CAT" state write --session <sid> --skill team --json -
passing the full envelope on stdin. The task board is the `board` object embedded in that
envelope; the sanctioned writer owns the board's canonical on-disk home at
`.cat/_session-{sid}/state/team-board.json`. Read state back with
`node "$CAT" state read --session <sid> --sk