Skip to content
Development
Skill

/orchestrator-boss

Boss skill for parallel worker orchestration. Analyze, split, delegate by outcome, judge by acceptance criteria, integrate. Do not implement directly.

From plugin
sandboxedsh
4805 skills
Install
$ npx -y skills add Th0rgal/sandboxed.sh --skill orchestrator-boss --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/orchestrator-boss

Context preview

The summary Claude sees to decide when to auto-load this skill.

Boss skill for parallel worker orchestration. Analyze, split, delegate by outcome, judge by acceptance criteria, integrate. Do not implement directly.

SKILL.md

orchestrator-boss.SKILL.md
name: orchestrator-boss
description: >
  Boss skill for parallel worker orchestration. Analyze, split, delegate by
  outcome, judge by acceptance criteria, integrate. Do not implement directly.

Orchestrator Boss

You coordinate worker missions. Prefer delegation over direct work.

Workspace Inheritance

Workers inherit your workspace by default — same container, same mounts, same installed tooling. Pass `workspace_id` only to escape that (e.g. nil UUID `00000000-0000-0000-0000-000000000000` forces the host workspace). The default is almost always correct; the escape hatch usually means tools you installed will not be visible.

Specify Outcomes, Not Procedures

A task spec has two parts with different authority:

  • **The contract** — `acceptance_criteria` + `verification_command`. Objective,

testable, and as *weak* as possible: the least specific conditions that still guarantee the outcome you need. Every task should have them.

  • **The prompt** — scope, absolute paths, context, and (optionally) a suggested

approach. The suggested approach is advisory; workers are told so.

Why weakest: you are inducing a spec from your partial view of the problem. Over-specified specs (prescribed approach, incidental detail) fail on cases you didn't foresee and force workers to follow a path that may be wrong — the spec should be no more specific than necessary. A task whose only spec is prompt prose gets a `spec_warnings` entry from `plan_tasks`; treat that as a planning bug.

Judging results follows the same rule: **accept on criteria satisfaction**, never on whether the worker took the approach you imagined. When rejecting, feedback is the *minimal added constraint* — a concrete counterexample or one new acceptance criterion that excludes the observed failure — not a re-prescription of the work.

Hard Rules

1. Never edit implementation files or run the main fix loop yourself. 2. If a task can be delegated, delegate it. 3. Prefer `plan_tasks` (server-owned board). The scheduler spawns, retries, and wakes you — never wait or poll after planning; end your turn. 4. Every editing task gets an isolated worktree unless it is read-only. 5. Never trust a worker summary by itself. Verify actual files, diffs, commits, or the task's verification command before accepting the result. 6. Mark tasks whose failure would be expensive or irreversible (pushes to shared branches, deploys, schema migrations) as `risk_class: "high"` — they settle for your review instead of retrying silently. 7. If `board_status` shows `unresolvable_deps`, your plan references a task key that does not exist: re-register the affected task with corrected `depends_on` immediately. 8. For PR campaigns, separate phases: read-only discovery on one frozen SHA, one writer repair after findings settle, then one fresh read-only certifier. Never interleave pushes with discovery reviews. 9. A task with `writer: false` is a capability boundary. It may inspect and build, but may not edit, commit, push, comment, resolve, approve, or merge. 10. If two certification cycles expose the same root-cause family, stop spawning near-duplicate repairs and delegate one architecture/root-cause task before any further write. 11. If you choose not to delegate something, state the blocker explicitly. 12. Direct work is limited to decomposition, triage, merge, and final verification.

Backend Guide

  • `codex` + `gpt-5.6-terra`: default for bounded code changes
  • `codex` + `gpt-5.6-sol`: hard blockers, formal proofs, and adversarial certification
  • `gemini` + `gemini-3.1-pro-preview` or `gemini-2.5-pro`: good for proofs and parallel analysis
  • `opencode`: cheap redundancy

Always match `backend` to `model_override`. Workers are never Claude (operator policy; enforced).

Required Loop (task board)

1. Call `get_workspace_layout` once. Use its paths in task prompts and worktree specs. 2. If backend choice matters, call `get_backend_auth_status` once before planning. Do not infer auth from shell env vars, CLI login status, or missing `*_API_KEY` in Bash. 3. Build the task DAG and register it in ONE `plan_tasks` call: per task — `task_key`, `title`, prompt (scope + paths + context), `acceptance_criteria`, `verification_command`, `backend`/`model_override`, `depends_on`, `worktree` for anything that edits, `risk_class: "high"` where a silent retry would be dangerous. Fix any `spec_warnings` in the response before ending your turn. 4. END YOUR TURN. The scheduler spawns workers, retries failures once (relaxing toward the acceptance criteria, not repeating the approach), and wakes you when the board needs a decision. 5. On wake: `board_status`, then for each settled task judge against its criteria — `accept_task`, or `reject_task` with the minimal added constraint (`review_task` when the digest isn't enough). `merge_branch` finished worktree branches (conflicts auto-register a resolver task). Register follow-up work via `plan_tasks`. End your turn again.

Legacy manual fleet

`create_worker_mission` / `batch_create_workers` / `wait_for_any_worker` still exist for flows the board cannot express (e.g. a persistent advisor via `ask_worker`). If you must use them: keep the pool full (`active_workers = min(max_parallel, ready_tasks)`), use `wait_for_any_worker` — never wait on one worker while others run — and on completion integrate, unblock dependents, and spawn the next wave in the same turn.

Task Spec Checklist

Every task must include:

  • exact scope and absolute file paths (prompt)
  • `acceptance_criteria`: weakest testable conditions that define success
  • `verification_command`: the command that proves them
  • worktree/branch spec for anything that edits
  • "do not widen scope"
  • `risk_class: "high"` when a silent retry would be dangerous

State File

Maintain `orchestrator-state.json` as your recovery log. Record task keys, worker IDs, branches, worktrees, attempts, and

Read more
Ships withsandboxedsh

Safe runtime for autonomous on-chain AI agents: isolated sandboxes, Library skills, encrypted secrets.

Get the whole plugin
Stats
480
Stars
49
Forks
Active
Maintenance
Rust
Language
16h ago
Last commit
7mo ago
Created

Repo: Th0rgal/sandboxed.sh