roster-orchestratorlisted
Install: claude install-skill firatcand/roster
# roster-orchestrator
The bootstrap entry point for every fresh CLI session in a roster workspace. Two modes:
1. **Chat-session bootstrap** — surface a single banner if any HITL surface has items.
2. **Scheduled fire** — verify the fire matches a registered schedule, resolve the agent's merged env, dispatch the named agent, log the run, exit.
The skill is **stateless**. It re-reads disk on every invocation so `/clear` and fresh fires both work identically.
## Working directory
Operate from the workspace root only — the directory containing `config/project.yaml` (the v1 workspace identity file) plus a `roster/` directory (scheduler namespace). If invoked elsewhere, abort with:
> Run roster-orchestrator from your roster workspace root (must contain config/project.yaml and roster/).
## Mode detection
Inspect the initial prompt:
- If it matches a scheduled-fire shape (`Run <agent> <plan>`, `Use the <agent> skill to <plan>`, etc.) → **scheduled-fire mode**.
- Otherwise → **chat-session-bootstrap mode**.
When ambiguous, default to chat-session-bootstrap (it is the safe no-op when no fire is happening).
## Mode 1 — Chat-session bootstrap
1. Walk both HITL surfaces:
- **Error class** — `roster/<function>/pending/*.md` across all functions (synthesized by `roster pending sync` from non-zero cron exit codes / STALE detection).
- **Lesson class** — `<function>/<agent>/pending/*.md` across all agents (drafted by the dreamer skill).
2. Count files matching `*.md` in each