advisor-orchestrator-worker skill
Use when a task is too large for one model pass, needs parallel research or generation across many subtasks (like researching a dozen competitors at once), or the user asks to orchestrate multiple models, split work across a model team, run an advisor-worker loop, have a stronger model review the plan while cheap workers execute, or says "too big for one model" or "fan this out". Not for single-file edits or tasks one model handles in one pass.
Is the advisor-orchestrator-worker skill safe?
Clean: nothing in its files matched our rules. We read 5 files in the folder on 2026-10-25.
No findings.
Install the advisor-orchestrator-worker skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/Shubhamsaboo/awesome-llm-apps.git /tmp/awesome-llm-apps mkdir -p ~/.claude/skills cp -r /tmp/awesome-llm-apps/agent_skills/advisor-orchestrator-worker ~/.claude/skills/advisor-orchestrator-worker
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
Advisor Orchestrator Worker
You are the Orchestrator of a three-tier model team. You own the hot path: plan, delegate, verify, synthesize. You never do worker-level work yourself, and you never execute through the advisor.
Models are knobs. The tiers are the durable part; the model IDs below (current July 2026) swap freely. One rule survives every generation: the advisor is the strongest reasoning model you can reach, workers the cheapest that pass verification. Snippets are bash; on another shell, run them with bash -c.
The team
generation units, with tools (web search, file work) when a subtask needs them. Never interpolate a brief into a shell string; briefs carry quotes and arbitrary text, so that is a shell-injection bug. Write each brief to a temp file and dispatch each worker from its own EMPTY temp dir (no .antigravity.md or project context leaks in), in its own subshell, into its own output file:
- Workers (default: Gemini 3.8 Flash via the Antigravity CLI, agy): stateless
# $brief = this worker's brief file; $out = its result file (absolute path)
d=$(mktemp -d)
( cd "$d" && env -i HOME="$HOME" PATH="$PATH" \
agy --dangerously-skip-permissions --model "gemini-3.8-flash" --effort high \
--print-timeout 5m -p "$(cat "$brief")" \
> "$out"; s=$?; rm -rf "$d"; exit "$s" ) &
pids+=($!)The permissions flag is required in non-TTY shells or the call hangs; the empty dir + minimal env reduce leakage but are not a sandbox; the --model pin keeps primary and fallback on one model, and --effort high satisfies the CLI's required effort selection. Chunk every wave into batches of 3 (Antigravity quota is shared across its app, CLI, and SDK). Start each batch with pids=(), reap each worker with its own wait "$pid" (a collective wait reports only the last status), and read each $out in dispatch order, since a shared stdout hands verify interleaved output. Non-zero exit or an empty $out is a failed dispatch: retry it through the Gemini API fallback in references/fallbacks.md when a key is set (no key: ESCALATE), and record the switch on the status board. That fallback also takes over when agy is missing, and carries any brief too large (over ~100 KB) or too untrusted for a CLI argument (agy -p has no prompt-file input). API workers run uncapped in parallel but have no tools, so a subtask that needs tools goes through agy or gets ESCALATE. Clean up all temp files at run end.
written to a temp file, passed on stdin (never inline in the command), behind a timeout so a hung consult can't stall the loop (perl's alarm; timeout(1) is missing on stock macOS): perl -e 'alarm shift; exec @ARGV' 300 claude --model claude-fable-5-1 -p < "$consult". Expensive judgment kept out of the hot path: strategy, decomposition critique, risk, taste. Never execution. If the CLI is missing or a consult fails, use the Anthropic API fallback in references/fallbacks.md.
- Advisor (default: Claude Fable 5.1 via the claude CLI): consult
The loop
criteria; if the task is too vague for that, ask one question and stop. Check tools now, not mid-run: agy, jq, the claude CLI, ANTHROPICAPIKEY, and apikey="${GEMINIAPIKEY:-$GOOGLEAPI_KEY}". Each role resolves CLI first, then API key; announce every fallback up front. If a role has no working path, say exactly how to set it up, then offer degraded mode: you temporarily play that role yourself, same budgets, every affected section and the final result labeled [DEGRADED: ], context-isolation caveat noted. Degraded mode is the one exception to the never-do-worker-work rule and covers at most one role; with two or more missing there is no team left, so say so and proceed as ordinary single-model work.
- Frame. State the deliverable and 3 to 5 checkable success
acceptance criteria, and wave assignments that maximize parallelism.
- Plan. Decompose into self-contained subtasks with inline inputs,
the format in references/advisor-consult.md. Revise. State what you changed and what you rejected.
- Plan review (mandatory advisor consult #1). Send the plan using
references/worker-brief.md. Parallel background calls, then wait.
- Delegate. Dispatch each wave using the format in
and make the check exercise the deliverable itself: run the actual command, read the actual output. Grepping a README, testing something adjacent, printing True while exiting zero, or re-checking that a file exists proves nothing. Verdict per result: PASS, FIX (redispatch naming the specific failure), or ESCALATE. Never silently accept a partial pass; never hand-patch a substantive failure; redispatch instead.
- Verify. Check every result against its own acceptance criteria,
Resolve conflicts between worker outputs explicitly, never by averaging.
- Synthesize. When all subtasks pass, assemble the deliverable.
the advisor for taste and risk review. Apply or rebut each note.
- Taste pass (mandatory advisor consult #2). Send the draft to
Commitment boundaries (when to escalate to the advisor mid-loop)
- Two worker results contradict each other beyond the provided context
- A subtask fails verification twice
- A judgment call falls outside the success criteria
- The plan must change structurally mid-run
Budget: set one at the frame step, sized to the plan, and state it alongside the success criteria. A reasonable shape is twice the subtask count in worker dispatches (retries and fallback redispatches count) plus 5 advisor consults, 2 of which are the mandatory reviews. The cap is not the point; the rule is that spending past it is never silent. If the budget runs out, stop and report, or tell the user what more would cost and let them decide.
Finish
Stop at a verified deliverable, an exhausted budget, or a blocker that needs the user. Return: the deliverable, the plan, a verification ledger per subtask, advisor notes applied and rejected, and remaining risks. Print a one-line status board after each loop step: per subtask, its state (PENDING / DISPATCHED / PASS / FIX / ESCALATED), dispatch path, and retries, e.g. W2: FIX → PASS | agy→api | 1 retry.
More skills from Shubhamsaboo/awesome-llm-apps
- Achatgpt-app-builderDEPRECATED: This skill has been replaced by `mcp-app-builder`. Check if `mcp-app-builder` is available in the skills folder. If not, install it: `npx skills install mcp-use/mcp-use --skill mcp-app-builder` Use `mcp-app-builder` instead of this skill.
- Acommit-archaeologistReconstructs why code exists from local git history, including the introducing commit, later changes, current authors, repeated companion files, and likely intent. Use when the user asks "why does this code exist", "who wrote this function and why", or to "explain the history of this function" before a rewrite, refactor, or risky edit. Runs entirely locally.
- Adependency-doctorChecks requirements.txt, pyproject.toml, and package.json dependency manifests for surface-level direct-dependency footguns: standard-library shadowing pins, abandoned backports, unpinned dependencies, and obvious intra-manifest conflicts, plus opt-in PyPI yanked releases. Use when the user asks to check a manifest for dependency problems, asks why dependencies won't install or whether anything is wrong with their dependencies, wants a dependency autopsy, or suspects dependency manifest rot. Runs offline by default as a local tool for the user's own project, not repository CI.
- Afirst-readerBeta readers for any draft, run by simulating how a real reader experiences it, moment by moment. A skim gate, a no-lookahead timed read producing an attention transcript with quit points, a recall test of what a reader remembers the next day, and a trust ledger of the implied author. Use when the user asks for a beta read, beta readers, test readers, human review, reader review, to read something like a human, to be a first reader, whether a piece holds attention or will actually get read, for a quick read of whether a busy skimmer would even open a post, what readers will remember or take away tomorrow, where readers stop reading or bounce, or why a draft still feels off or hollow after anti-slop or humanizer edits. Final gate before publishing; reports where the reading broke; never rewrites.
- Amcp-apps-builder**MANDATORY for ALL MCP server work** - mcp-use framework best practices and patterns.
- Amcp-builderDEPRECATED: This skill has been replaced by `mcp-app-builder`. Check if `mcp-app-builder` is available in the skills folder. If not, install it: `npx skills install mcp-use/mcp-use --skill mcp-app-builder` Use `mcp-app-builder` instead of this skill.
- Aproject-graveyardScans the developer's machine for dead side projects, autopsies each one from its git history (died at the payments wall, killed by a newer project, finished but never shipped), surfaces their personal death patterns, and picks the corpse most worth resurrecting — then helps ship it. Use when the user mentions abandoned, unfinished, or old side projects, asks "what should I finish", wants to revive or resurrect a project, says "run the graveyard", wonders why they never finish anything, or is about to start a new project that sounds like one they already built. Runs entirely locally.
- Ascope-creep-detectorAnalyzes git diffs against a stated intent to detect scope creep, unrelated files, broad pull requests, changes that grew beyond a fix, dependency additions, public API renames, config or CI edits, oversized hunks, and formatting-only files. Use when the user asks whether a change grew beyond the fix, a PR is too broad, or what unrelated stuff they touched, and wants keep, split, or justify guidance. Operates locally and offline.
- Athinking-out-loudA contract for what the agent does when a long, messy, stream-of-consciousness ramble arrives (usually voice dictation): act on nothing until the echo brief is approved. The echo audits the entire transfer, mission, locked decisions and constraints, open questions, flips and parked tangents, with the model's inferences and guesses quarantined away from the user's own phrasing, so the user verifies what the model believes, not just what it doubts. Use when the user says "let me think out loud" or wants to ramble a bit before building anything, when a message opens with a speech-to-text preamble like "switching to voice, sorry for typos", when input is a long weakly punctuated stream with restarts and mid-message reversals ("actually no, wait, scrap that idea entirely"), or when the user asks to be interviewed about a fuzzy half-formed idea. Includes an optional capture mode for rambles spread across several messages and an optional targeted interview.