Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Boss skill for parallel worker orchestration. Analyze, split, delegate, monitor, integrate. Do not implement directly.
.claude/skills/th0rgal-orchestrator-boss/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 157% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -2% | 0% |
You coordinate worker missions. Prefer delegation over direct work.
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.
A task spec has two parts with different authority:
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.
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.
plan_tasks (server-owned board). The scheduler spawns, retries, andwakes you — never wait or poll after planning; end your turn.
or the task's verification command before accepting the result.
shared branches, deploys, schema migrations) as risk_class: "high" — they settle for your review instead of retrying silently.
board_status shows unresolvable_deps, your plan references a task keythat does not exist: re-register the affected task with corrected depends_on immediately.
one writer repair after findings settle, then one fresh read-only certifier. Never interleave pushes with discovery reviews.
writer: false is a capability boundary. It may inspect andbuild, but may not edit, commit, push, comment, resolve, approve, or merge.
spawning near-duplicate repairs and delegate one architecture/root-cause task before any further write.
verification.
codex + gpt-5.6-terra: default for bounded code changescodex + gpt-5.6-sol: hard blockers, formal proofs, and adversarial certificationgemini + gemini-3.1-pro-preview or gemini-2.5-pro: good for proofs and parallel analysisopencode: cheap redundancyAlways match backend to model_override. Workers are never Claude (operator policy; enforced).
get_workspace_layout once. Use its paths in task prompts and worktree specs.get_backend_auth_status once before planning. Do not infer auth from shell env vars, CLI login status, or missing *_API_KEY in Bash.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.
(relaxing toward the acceptance criteria, not repeating the approach), and wakes you when the board needs a decision.
board_status, then for each settled task judge against itscriteria — 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.
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.
Every task must include:
acceptance_criteria: weakest testable conditions that define successverification_command: the command that proves themrisk_class: "high" when a silent retry would be dangerousMaintain orchestrator-state.json as your recovery log. Record task keys, worker IDs, branches, worktrees, attempts, and blockers.
Assume the user wants maximum safe parallelism. Do not sit on idle worker capacity — but capacity management is the scheduler's job once the board is planned; yours is judgment.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 12,727 | 13,451 | +6% | 1 | 1 | 0% | 2,027 | 1,767 | -13% | 0 | 0 | — |
case-02 | fail→fail | 15,685 | 9,186 | -41% | 1 | 1 | 0% | 1,754 | 2,581 | +47% | 0 | 0 | — |
case-03 | fail→fail | 15,897 | 4,082 | -74% | 1 | 1 | 0% | 2,817 | 1,803 | -36% | 0 | 0 | — |
case-04 | pass→fail | 7,752 | 4,420 | -43% | 1 | 1 | 0% | 1,124 | 1,856 | +65% | 0 | 0 | — |
case-05 | pass→fail | 3,682 | 12,603 | +242% | 1 | 1 | 0% | 516 | 2,475 | +380% | 0 | 0 | — |
case-06 | pass→pass | 10,588 | 7,966 | -25% | 1 | 1 | 0% | 1,920 | 2,830 | +47% | 0 | 0 | — |
case-07 | fail→pass | 26,100 | 3,021 | -88% | 1 | 1 | 0% | 1,123 | 2,032 | +81% | 0 | 0 | — |
case-08 | pass→pass | 17,679 | 5,181 | -71% | 1 | 1 | 0% | 2,382 | 2,232 | -6% | 0 | 0 | — |
case-09 | pass→pass | 10,292 | 4,071 | -60% | 1 | 1 | 0% | 1,515 | 2,143 | +41% | 0 | 0 | — |
case-10 | fail→pass | 12,450 | 3,379 | -73% | 1 | 1 | 0% | 1,890 | 1,979 | +5% | 0 | 0 | — |
case-11 | fail→pass | 4,147 | 1,980 | -52% | 1 | 1 | 0% | 690 | 1,773 | +157% | 0 | 0 | — |
case-12 | fail→pass | 13,958 | 5,157 | -63% | 1 | 1 | 0% | 2,383 | 2,428 | +2% | 0 | 0 | — |
case-13 | fail→pass | 14,962 | 2,857 | -81% | 1 | 1 | 0% | 1,991 | 1,947 | -2% | 0 | 0 | — |
case-14 | fail→fail | 10,129 | 2,108 | -79% | 1 | 1 | 0% | 1,662 | 1,822 | +10% | 0 | 0 | — |
case-15 | pass→pass | 14,002 | 4,398 | -69% | 1 | 1 | 0% | 2,271 | 2,042 | -10% | 0 | 0 | — |
case-16 | pass→pass | 10,582 | 2,019 | -81% | 1 | 1 | 0% | 1,621 | 1,796 | +11% | 0 | 0 | — |
case-17 | pass→pass | 11,317 | 2,483 | -78% | 1 | 1 | 0% | 1,461 | 1,947 | +33% | 0 | 0 | — |
case-18 | pass→pass | 11,953 | 4,146 | -65% | 1 | 1 | 0% | 1,845 | 2,041 | +11% | 0 | 0 | — |
case-19 | pass→pass | 10,082 | 3,998 | -60% | 1 | 1 | 0% | 1,589 | 2,046 | +29% | 0 | 0 | — |
case-20 | fail→pass | 10,215 | 1,902 | -81% | 1 | 1 | 0% | 1,721 | 1,655 | -4% | 0 | 0 | — |
case-21 | pass→pass | 16,620 | 7,076 | -57% | 1 | 1 | 0% | 2,537 | 2,520 | -1% | 0 | 0 | — |
case-22 | pass→pass | 10,290 | 3,296 | -68% | 1 | 1 | 0% | 1,554 | 2,018 | +30% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +18 percentage points is the difference between those two pass rates over the 18 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.