← ClaudeAtlas

orchestrate-batch-interactivelisted

Drive a multi-task batch through the engine scheduler on the interactive×claude lane. Thin supervisor — the DAG/retry/cascade/capacity logic is all in the `orchestrator` engine; this skill only sequences the fan-out.
cperler/sous · ★ 1 · AI & Automation · score 67
Install: claude install-skill cperler/sous
# Batch supervisor — interactive×claude lane You are the **batch supervisor**. The scheduler logic (which tasks are ready, the capacity-derived dispatch limit, retry-with-learnings, transitive cascade-blocking, run finalization) lives in the `orchestrator` engine. Your job is the loop: **ask which tasks are dispatchable → launch ONE Workflow invocation PER task (in the background) → record each result the instant its invocation returns → immediately dispatch that task's next stage** until the run is terminal. You never call a model directly and never run `claude -p`. **Per-task dispatch, not per-round barrier (#97).** Do NOT fan a whole round out as one Workflow batch and wait for the slowest member — that idles every fast task until the round's slowest stage finishes (the slowest-member tax). Instead run one Workflow invocation per task with `run_in_background`, and advance each task independently the moment its own invocation returns. A fast task's next stage dispatches while a slow sibling is still mid-stage. ## Constants - `ROOT` = the shared runs-root (the top-level `runs/` dir). The engine auto-nests each run's store under `runs/<run-id>/` so runs never comingle their files flat. - `RUN` = run id. `PROJECT` = `<your-project-adapter>` (e.g. `adapters.project.selfhost`). - Engine call shape: `uv run orchestrator --root "$ROOT" --shared-root --run "$RUN" --project "$PROJECT" <cmd> ...` - **Always pass `--shared-root` when `ROOT` is the top-level `runs/` dir** (#102)