Agent skill

Minion Orchestrator

by garrytan in garrytan/gbrain

Unified Minions skill for both deterministic shell jobs and LLM subagent orchestration.

MITAuto-check: notesAgent Workflows

Install Minion Orchestrator

skills CLI
$ npx skills add garrytan/gbrain --skill minion-orchestrator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install garrytan/gbrain minion-orchestrator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/minion-orchestrator .claude/skills/minion-orchestrator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
minion-orchestrator
GitHub stars
31k
Token cost
~6.3k tokens
SKILL.md length
2,984 words
Files
2
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

Unified Minions skill for both deterministic shell jobs and LLM subagent orchestration.

  • Works in 5 steps: Submit → Monitor → Steer → …
  • : submitting gbrain jobs
  • SKILL.md covers Contract, Route the Request: Shell Job…, Shell Jobs (Deterministic… and Subagent Jobs (LLM…, plus 10 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Minion Orchestrator is an agent skill from garrytan/gbrain. Unified Minions skill for both deterministic shell jobs and LLM subagent orchestration. Replaces the older gbrain-jobs routing intent. Use when: submitting gbrain jobs, shell/background tasks, spawning subagents, checking progress, steering running work, pausing/resuming, parallel fan-out. One durable, observable, steerable queue interface. Also carries the durable-execution doctrine for any operation expected to exceed ~2 minutes: capability ladder, deadman checks that verify the result was reported, and…

Its SKILL.md is about 6.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It sits in Agent Workflows, covering Subagents. The repository describes itself as: Garry's Opinionated OpenClaw/Hermes Agent Brain. The licence is MIT.

When your agent uses it

  • : submitting gbrain jobs
  • Shell/background tasks
  • Spawning subagents
  • Checking progress

Example prompts

  • “/minion-orchestrator”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Submit
  2. Monitor
  3. Steer
  4. Lifecycle
  5. Review Results

What it can do on your machine

Read from SKILL.md and the folder at commit 77cf8e1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Minion Orchestrator loads about 6.3k tokens when it runs. Until then it costs about 148 tokens; SKILL.md has 2,984 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~148
When it runs · the whole SKILL.md, loaded when a task matches
~6.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:120
    SHELL_JOBS=1` exported on the worker; a `.env` in the worker's directory cannot set it).

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from garrytan/gbrain at commit 77cf8e1, republished under its MIT licence (© garrytan). 2,984 words, ~6,311 tokens.

Download SKILL.mdSave it as .claude/skills/minion-orchestrator/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
minion-orchestrator
description
Unified Minions skill for both deterministic shell jobs and LLM subagent orchestration. Replaces the older `gbrain-jobs` routing intent. Use when: submitting gbrain jobs, shell/background tasks, spawning subagents, checking progress, steering running work, pausing/resuming, parallel fan-out. One durable, observable, steerable queue interface. Also carries the durable-execution doctrine for any operation expected to exceed ~2 minutes: capability ladder, deadman checks that verify the result was reported, and content-addressed stage checkpoints for expensive pipelines.
version
1.1.0
triggers
gbrain jobs submit, submit a gbrain job, submit a shell job, shell job, run shell command in background, deterministic background task, spawn agent…
tools
submit_job, get_job, list_jobs, cancel_job, pause_job, resume_job, replay_job, send_job_message, get_job_progress
mutating
true
upstream
long-ops@fc834ee, subagent-deadman@fc834ee, pipeline-stage-cache@fc834ee

Minion Orchestrator

Contract

Minions is a Postgres-native job queue for durable, observable background work. This single skill handles two lanes:

  • Deterministic shell jobs (gbrain jobs submit shell ...)
  • LLM subagent jobs (gbrain agent run ...)

When to route to Minions: durable, observable work that must survive restarts, fan out across many parallel tasks, or persist across sessions. Routing policy is defined in skills/conventions/subagent-routing.md — the project default is pain_triggered (native subagents first, Minions after specific pain signals fire); Mode A (all-through-Minions) is opt-in.

Guarantees:

  • Jobs survive gateway restart (Postgres-backed)
  • Every job has structured progress, token accounting, and session transcripts
  • Running agents can be steered mid-flight via inbox messages
  • Jobs can be paused, resumed, or cancelled at any time
  • Parent-child DAGs with configurable failure policies

Durable-execution doctrine (routing convention the agent follows — nothing mechanically enforces it; see "Durable execution" below):

  • Operations expected to exceed ~2 minutes route through the capability ladder, never a bare background shell that dies with the session.
  • A deadman check verifies the result was REPORTED to the user, not merely that the process exited — a swallowed completion event looks identical to a dead job from the user's side.
  • The deadman is second-line insurance, not a delivery guarantee: it can itself die before firing (scheduler restart, deleted entry). Backstop: on the next turn, sweep gbrain jobs list --status active and recent completions for overdue work whose result never reached the user.
  • Deadman checks are idempotent. A double-fire, or a fire that races the normal completion report, produces silence — it checks reported-state first and tags any recovery report with the job ID so duplicates are detectable.
  • A checkpoint or progress file is trusted only with a freshness check. A stale checkpoint reads as "still running" forever; compare its timestamp against the expected progress interval and against gbrain jobs get <id>.

Route the Request: Shell Job vs Subagent

ConditionAction
User asks for deterministic command/script runShell job (CLI: gbrain jobs submit shell ...)
User asks to "run in minions" + explicit command/argvShell job (CLI, --params with cmd or argv)
User asks for research/reasoning/iterative agentSubagent job (CLI: gbrain agent run)
User asks to steer/pause/resume an agentSubagent job lifecycle tools (MCP-callable)
Single simple operation under ~30sConsider inline execution first
Needs restart durability/observabilitySubmit as Minion job
Operation expected to exceed ~2 minutesRoute through the Durable execution ladder (below)
Parallel work (2+ streams)gbrain agent run --fanout-manifest or parent + child subagents

If intent is ambiguous, ask one clarification: "Do you want a deterministic shell command job, or an LLM agent job?"

Shell Jobs (Deterministic Scripts)

Use for reproducible command execution, ETL steps, cron work, and scriptable tasks where no LLM reasoning loop is needed.

Preconditions (read before submitting your first shell job)
  • The worker must be started with gbrain jobs work --allow-shell-jobs (equivalently GBRAIN_ALLOW_SHELL_JOBS=1 exported on the worker; a .env in the worker's directory cannot set it). The shell handler is always registered but guarded: an unflagged worker that claims a shell job dead-letters it immediately (UnrecoverableError, straight to dead, no retries) with the flag named in error_text. A job that sits in waiting means NO worker is running at all — check gbrain jobs supervisor status. Gate lives in src/core/minions/handlers/shell.ts.
  • Security: flipping GBRAIN_ALLOW_SHELL_JOBS=1 authorizes arbitrary command execution on the worker. On a shared queue, this is a remote code execution surface. Treat as privileged infrastructure authorization.
  • Execution mode — pick one:
    • Postgres + daemon: gbrain jobs work runs a persistent worker that claims and executes jobs from the queue.
    • PGLite + --follow: gbrain jobs submit ... --follow runs inline. The daemon mode is not available on PGLite (exclusive file lock). See docs/guides/minions-shell-jobs.md.
  • MCP boundary: shell-job submission is CLI-only. submit_job name="shell" over MCP throws an OperationError with code permission_denied; generic remote submission accepts only sync, import, lint, and lint-fix. Agents CAN observe shell jobs via get_job / list_jobs / get_job_progress (not protected), but cannot submit them. Operator or autopilot submits; agent observes.
  • Verify setup: after configuration, run gbrain jobs stats (CLI) to confirm the worker is registered and consuming the queue.
Submit (CLI, operator or autopilot)

Shell jobs take their command via --params as a JSON object with cmd (string) or argv (array), plus cwd and optional env.

Command string form:

gbrain jobs submit shell --params '{"cmd":"echo hello","cwd":"/abs/path"}'

Argv form (no shell expansion):

gbrain jobs submit shell --params '{"argv":["bash","-lc","echo hello"],"cwd":"/abs/path"}'

Inline execution on PGLite or any one-shot deployment:

gbrain jobs submit shell --params '{"cmd":"echo hello","cwd":"/tmp"}' --follow

Queue/lifecycle flags exposed by gbrain jobs submit --help: --queue, --priority, --delay, --max-attempts, --max-stalled, --backoff-type, --backoff-delay, --backoff-jitter, --timeout-ms, --idempotency-key, --dry-run.

Monitor (agents or operator)

These operations are MCP-callable and safe for agent use:

list_jobs --name shell --status active
get_job ID
get_job_progress ID

Check structured result fields (exit code, stdout/stderr tails, attempts, timings) from get_job. Use get_job_stats (MCP) or gbrain jobs stats (CLI) for the worker/queue health dashboard incl. the wedged-queue signal.

Control (MCP-callable)
cancel_job id=ID
replay_job id=ID

replay_job is not protected — only shell submission is. Agents can cancel or replay a shell job without CLI access.

Use idempotency keys for recurring shell workloads to avoid duplicate runs.

Subagent Jobs (LLM Orchestration)

Use for open-ended reasoning, tool-using research, and fan-out synthesis.

User-facing entrypoint: gbrain agent run <prompt> is the canonical way to submit subagent work. It handles the elevated-trust plumbing — subagent and subagent_aggregator are protected job names. Remote agents use the dedicated submit_agent operation with their configured source, tools, and slug binding; generic submit_job does not accept these job names.

Phase 1: Submit

gbrain agent run "Research Acme Corp revenue" --tools "search,query"

--tools accepts a comma-separated subset of BRAIN_TOOL_ALLOWLIST (see src/core/minions/tools/brain-allowlist.ts): query, search, get_page, list_pages, get_backlinks, traverse_graph, list_link_sources, resolve_slugs, get_ingest_log, put_page, add_timeline_entry, get_recent_salience, find_anomalies. Attachment tools and local-only operations are unavailable. Update old bindings before resubmitting jobs that reference removed tools. Remote bindings must be nonempty; an explicit empty local tool list grants no tools.

For parallel work with a fan-out manifest:

gbrain agent run --fanout-manifest companies.json

The manifest describes N children + 1 aggregator. Each child runs name="subagent" under the hood; the aggregator runs name="subagent_aggregator" and claims AFTER every child terminates. See src/core/minions/handlers/subagent.ts and src/core/minions/handlers/subagent-aggregator.ts.

Flags (from src/commands/agent.ts):

  • --subagent-def <name> — named subagent definition
  • --model <id> — override model
  • --max-turns <N> — cap the LLM loop
  • --tools <csv> — allow-listed brain tools (see above)
  • --timeout-ms <N> — hard timeout per job
  • --fanout-manifest <file> — N children + 1 aggregator
  • --follow / --no-follow — stream logs + wait (default on TTY)
  • --detach — submit and return immediately

Queue/priority/retry tuning is not exposed by gbrain agent run; submit the raw subagent handler via gbrain jobs submit (requires CLI trust) if you need those knobs.

Admission control (v0.46.11.0). Identical parentless subagent submits (same owner lane, payload, and execution options) coalesce onto the existing waiting job: gbrain agent run prints coalesced with the matched job id, and the submit_agent MCP response carries coalesced: true. Treat that as success — monitor the matched id, do NOT resubmit. Jobs still waiting after the TTL (48h default for subagent; minions.ttl_waiting_hours.<name>) are cancelled with reason prefix waiting_ttl_expired. If an operator has configured a waiting quota (minions.quota_max_waiting.<name>), a submit past the cap returns a structured, retryable rate_limited error — back off and check gbrain jobs stats for a DIVERGENT QUEUE line before retrying.

Phase 2: Monitor

list_jobs --status active          # MCP — what's running?
get_job ID                         # MCP — full details + logs + tokens
get_job_progress ID                # MCP — structured progress snapshot
gbrain jobs stats                  # CLI — queue health dashboard
gbrain agent logs ID --follow      # CLI — streaming transcript + heartbeat

Progress includes: step count, total steps, message, token usage, last tool called.

Phase 3: Steer

Send a message to redirect a running agent:

send_job_message id=ID payload={"directive":"focus on revenue, skip headcount"}

The agent handler reads inbox messages on each iteration and injects them as context. Messages are acknowledged (read receipts tracked).

Only the parent job or admin can send messages (sender validation).

Phase 4: Lifecycle

pause_job id=ID                    # freeze without losing state
resume_job id=ID                   # pick up where it left off
cancel_job id=ID                   # hard stop
replay_job id=ID                   # re-run with same or modified params
replay_job id=ID data_overrides={"depth":"deep"}  # replay with changes

All lifecycle ops are MCP-callable.

Phase 5: Review Results

get_job ID                         # result, token counts, transcript

Token accounting: every job tracks tokens_input, tokens_output, tokens_cache_read. Child tokens roll up to parent automatically on completion.

Durable execution (operations >2 minutes)

Background shells die silently: session compaction, harness restart, tool timeout. Long gbrain operations (extract all, embed --stale, a full sync --all) routinely run 10-60 minutes — past every one of those ceilings. And even when the work survives, the completion event can be swallowed (worker restart, dropped notification), leaving the user staring at silence while a finished result sits unreported. Durable execution covers both halves: the work survives, and the report provably lands.

Route any operation expected to exceed ~2 minutes through the highest rung of this ladder the deployment supports. This is a harness-routing convention the agent follows, not a mechanical guarantee — nothing stops a bare background shell except this skill saying don't.

Paid work gets consent before it is submitted. A job runs without a terminal, so a paid command (embed --stale, or anything else that calls a model provider) stops with exit 3 and a consent payload unless it already carries the user's approval. Get that approval first, in the conversation: run the command's preview (for example gbrain embed --stale --dry-run), relay the estimate, and only after the user agrees put the approval in the submitted command (gbrain embed --stale --yes --max-usd <cap> with the cap they approved), or rely on a standing approval the user set with gbrain config set consent.preapprove.paid.max_usd_per_run <usd>. Never add --yes without the user's answer. When a job ends with exit 3 or the confirmation_required code, relay its message to the user and stop; don't resubmit it with --yes.

Rung 1 — Minion job + deadman (Postgres + worker)

Requires: Postgres engine, a running gbrain jobs work worker, and — for the shell lane — a worker started with --allow-shell-jobs (or GBRAIN_ALLOW_SHELL_JOBS=1 exported on it). All the Preconditions above still hold: the flag defaults OFF, shell submission is CLI-only across the MCP trust boundary, and PGLite has no worker daemon (see Rung 3). Nothing in this section loosens that contract.

  1. Submit as a job so the work survives restarts:

    gbrain jobs submit shell \
      --timeout-ms 3600000 \
      --params '{"cmd":"gbrain extract all","cwd":"/abs/path","inherit":["database_url"]}'

    Work that needs LLM judgment goes through the subagent lane (gbrain agent run, above) instead — a submitted agent job you never check on is the same bug as an unwatched shell job.

  2. Arm a deadman in the same action block (pattern below). Submitting without arming is the classic half-fix: the job survives, the silence doesn't.

Rung 2 — cron-checked progress file (no agent-waking scheduler)

When no scheduler can wake the agent but the host has a plain crontab (or the work runs outside the queue entirely): make the operation write a progress/heartbeat file as it advances (or rely on get_job_progress for queue jobs), and register a recurring host-cron check that compares the file's freshness against the expected progress interval. The agent also checks it at the start of the next turn. A checkpoint that stops advancing means stalled, not "still running" — the freshness comparison is the entire value of this rung.

Rung 3 — foreground + output buffering (PGLite / no worker / no scheduler)

Run the operation inline in the foreground — on PGLite that's gbrain jobs submit ... --follow, or just the raw command — and buffer all output to a file, reading bounded slices, per skills/conventions/exec-output.md. An empty tool result after a long command is truncation, not a dead shell. This rung has no silent-death insurance, so keep the operation in the foreground and stay with it; backgrounding here recreates the exact failure the ladder exists to prevent.

Show full SKILL.md (1,210 more words)Show less
The deadman pattern

A one-shot, self-deleting scheduled check that fires at expected-finish-plus-margin and verifies the result was reported — not just that the process exited. Arm it in the same action block as the submission (not after, not "if I remember").

  1. Estimate expected_minutes honestly; round up.
  2. Deadline = now + estimate + margin, where margin = max(10 min, 50% of estimate). Restarts delay delivery — too tight false-fires, hours-late defeats the point.
  3. Create the check with whatever one-shot scheduler the host offers: a harness cron tool with delete-after-run semantics, at, or a crontab entry the check removes on first fire. The check's instruction:
    • Verify the result was already reported to the user. gbrain jobs get <id> gives the job state; the reported-check asks whether a completion message actually reached the user.
    • Reported → do nothing, stay silent, self-delete.
    • Completed but unreported (swallowed event) → pull the result via gbrain jobs get <id> and post the recovery report now, tagged with the job ID.
    • Still running → post a one-line status with a new ETA and arm ONE follow-up deadman at +50% of the original estimate. One follow-up max — no infinite chains.
    • Dead/failed → report what it produced before dying (stderr_tail from gbrain jobs get <id>) and offer gbrain jobs retry <id>.
  4. Disarm on normal completion. When the completion arrives and you report it, remove the deadman. If it fires anyway, the reported-check makes it a silent no-op — belt and suspenders.

Failure modes the pattern must own (mirrored in Contract and Anti-Patterns): the deadman itself dying before it fires (second-line insurance, backstopped by the next-turn overdue sweep), double-fire (idempotent reported-check + job-ID-tagged reports), and stale checkpoints (freshness check before trusting "still running").

Eval contract, imported with the pattern — a deadman deployment is judged on:

  • ARMED_ON_SPAWN — created in the same action block as the long submission?
  • SELF_DELETING — one-shot, and silent when all is well?
  • DETECTS_SWALLOWED — verifies the result was reported, not just that the job exited?
  • RECOVERS — on a swallowed event, pulls the output and posts the recovery report?
  • RIGHT_DEADLINE — expected finish + sane margin, neither false-firing nor hours late?

Hard fails: a long user-facing operation with no deadman armed; a deadman that posts noise when the completion arrived normally; emulating the timer with sleep or a poll loop instead of a scheduler entry (a sleeping process dies with the session — the exact failure being insured against).

Sequencing and locks

Maintenance operations share locks (sync, embed, extract, integrity). Run them sequentially, chained: submit job 1, arm its deadman; on completion, submit job 2, arm the next; finish with gbrain doctor and report the health delta. If a job dies mid-operation its lock expires at TTL (a live, recently-refreshed holder is protected by the steal grace) — never hand-delete lock rows to "unstick" a queue.

Typical long operations

Durations scale with corpus size; treat these as order-of-magnitude anchors for --timeout-ms, not promises.

OperationTypical durationSuggested --timeout-ms
extract all30-60 min on large brains3600000
embed --stale5-30 min (scales with missing count)1800000
sync --all5-20 min1200000
integrity auto10-30 min1800000
dream5-15 min900000
Appendix: content-addressed stage checkpoints

For a multi-stage pipeline with an expensive middle (extract → score → explain → render → verify, where the scoring stage burns real LLM spend), make each stage a content-addressed checkpoint so a crash — or a deadman-triggered retry, or a replay_job — resumes instead of re-spending:

  • Key each stage on a hash of (the stage's own logic + its params + the hashes of its upstream artifacts). Store artifacts under a .cache/ directory in the pipeline's working tree, addressed by content hash.
  • Warm re-run is a no-op: every key matches, nothing recomputes, the whole pipeline replays in well under a second.
  • Busting cascades correctly: a param change or a logic edit changes that stage's key, recomputing it and every downstream stage whose upstream hashes changed. The stage's own source must be part of the key — omit it and logic edits silently reuse stale artifacts.
  • Record provenance: a provenance file per run records each stage's key, inputs, outputs, and computed-at, so every artifact traces to the exact logic + data that produced it and "which stage recomputed and why" stays answerable.
  • Verify integrity on restore: check live artifacts against recorded checksums; a mismatch means recompute or restore from cache, never silent reuse.

Judged on: IDEMPOTENT (warm re-run recomputes nothing), CORRECT_BUSTING (a change recomputes exactly the affected stages), PROVENANCE (every artifact traces to logic + params + upstreams), INTEGRITY (corrupted artifacts detected, never silently reused).

This composes with the ladder rather than replacing it: the ladder keeps the pipeline running and reported; stage checkpoints keep a retry cheap. Pair them whenever a single stage costs more than pocket change in LLM spend.

Output Format

When reporting job status to the user:

Job #ID (name) — status
Progress: step/total — last action
Tokens: input_count in / output_count out (+ cache_read cached)
Runtime: Xs
Children: N pending, M completed

When reporting completion:

Job #ID completed in Xs
Tokens used: input / output / cache_read
Result: <summary>

When reporting batch status (parent with children):

Parent #ID — waiting-children
  #A subagent(Acme) — active, 3/5 steps, 2.5k tokens
  #B subagent(Beta) — completed, 1.8k tokens
  #C subagent(Gamma) — paused
Total tokens so far: 4.3k

When it fails

Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:

  • gbrain jobs submit over MCP for a protected job returns permission_denied: it must run from the trusted local CLI on the brain host; tell the user.
  • A shell job dead-letters immediately with the flag named in error_text (shell jobs disabled): tell the user which env flag the host operator must set; do not retry.
  • rate_limited from the submission cap: back off for the stated delay before resubmitting; do not fan out more submissions meanwhile.
  • A job sits in waiting with no worker: confirm a worker is registered (gbrain jobs get <id>) before resubmitting.

Anti-Patterns

  • Don't spawn a Minion for a single search query (use search tool directly)
  • Don't fire-and-forget without checking results
  • Don't spawn > 5 concurrent agents without checking gbrain jobs stats first
  • Don't resubmit when a submit reports coalesced — the work is already queued; monitor the matched job id instead
  • For subagent work, don't use sessions_spawn with runtime: "subagent" when Minions is available (use gbrain agent run instead)
  • Don't poll get_job in a tight loop (use get_job_progress for lightweight checks)
  • Don't run an operation expected to exceed ~2 minutes as a bare background shell — it dies with the session; route through the Durable execution ladder
  • Don't say "I'll report back when it finishes" without an armed deadman or a scheduled check that will actually fire
  • Don't let a deadman post noise when the completion arrived normally — check reported-state first, stay silent, self-delete
  • Don't emulate the deadman timer with sleep or a poll loop — a sleeping process dies with the session, which is the exact failure being insured against
  • Don't trust a checkpoint or progress file without a freshness check — a stale checkpoint reads as "still running" forever
  • Don't run lock-acquiring maintenance ops (sync, embed, extract, integrity) simultaneously, and don't hand-delete lock rows to unstick them (locks expire at TTL)

Tools Used

  • Submit a background job — submit_job (MCP: only sync, import, lint, and lint-fix, under the contract in docs/guides/authorization-upgrade.md; shell jobs use the local CLI, remote subagents use submit_agent)
  • Get job details — get_job (MCP)
  • List jobs with filters — list_jobs (MCP)
  • Cancel a job — cancel_job (MCP)
  • Pause a job — pause_job (MCP)
  • Resume a paused job — resume_job (MCP)
  • Replay a completed/failed job — replay_job (MCP)
  • Send sidechannel message — send_job_message (MCP)
  • Get structured progress — get_job_progress (MCP)
  • Queue stats — get_job_stats (MCP; admin scope over HTTP, same as the other jobs ops here — includes the wedged-queue silent-halt signal) or gbrain jobs stats (CLI)

© garrytan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/minion-orchestrator of garrytan/gbrain.

  • SKILL.md
  • routing-eval.jsonl

Open the folder on GitHubat commit 77cf8e1

Compare with similar skills

Minion Orchestrator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Minion Orchestrator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Minion Orchestrator this skillgarrytan/gbrain31k—~6.3kAutomated safety check: NotesMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k7 repos~2.8kAutomated safety check: PassApache-2.0
Subagent Driven DevelopmentAsvarox/allkaraoke26138 repos~1.2kAutomated safety check: PassNone
Dispatching Parallel Agentsultralisp/ultralisp25841 repos~1.5kAutomated safety check: PassNone
Reflect on Session Learningscursor/plugins11k5 repos~1.2kAutomated safety check: PassNone
Paseo Advisor Second Opiniongetpaseo/paseo20k1 repos~756Automated safety check: PassCustom licence

Similar skills

  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Subagent Driven Development

    Asvarox/allkaraoke

    A skill your agent uses when executing implementation plans with independent tasks in the current session

    261 GitHub starsUsed in 38 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Dispatching Parallel Agents

    ultralisp/ultralisp

    A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

    258 GitHub starsUsed in 41 repos~1.5k tokens
    Agent WorkflowsAuto-check passed
  • Official

    Starts three parallel reviewer subagents over the current conversation transcript, then turns their findings into concrete edits to existing skills.

    11k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.

    20k GitHub starsUsed in 1 repo~756 tokens
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~11k tokens
    Agent WorkflowsAuto-check passed

More from garrytan/gbrain

All 47 skills in this repo
  • Traces a factual error the user points out back to its source (a brain page, a memory file, SOUL.md or USER.md, or a hallucination) and fixes that source instead of just noting the correction.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Searches and writes a company-wide knowledge brain through the gbrain CLI, so durable decisions and facts about people, projects and history stay findable beyond one session.

    31k GitHub stars~875 tokensUpdated today
    Auto-check passed
  • Idea Ingest

    garrytan/gbrain

    Ingest links, articles, tweets, and ideas into the brain. An agent skill from garrytan/gbrain.

    31k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Sends what your notes already know about a topic to Perplexity, so the cited web search reports only what is new, such as entity updates or deal changes.

    31k GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Schema Unify

    garrytan/gbrain

    Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Skillpack Check

    garrytan/gbrain

    Run gbrain skillpack-check to produce an agent-readable JSON health report for the gbrain install.

    31k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Categories

Questions about Minion Orchestrator

What does Minion Orchestrator do?

Unified Minions skill for both deterministic shell jobs and LLM subagent orchestration. Minion Orchestrator is an agent skill from garrytan/gbrain. Unified Minions skill for both deterministic shell jobs and LLM subagent orchestration.

When should I use Minion Orchestrator?

Minion Orchestrator fits situations like: : submitting gbrain jobs; shell/background tasks; spawning subagents; checking progress.

How do I install Minion Orchestrator in Claude Code?

Run `npx skills add garrytan/gbrain --skill minion-orchestrator -a claude-code`. Or copy the skill folder (skills/minion-orchestrator in garrytan/gbrain) into .claude/skills/minion-orchestrator in your project. Claude Code loads it when a task matches its description.

How do I install Minion Orchestrator in Codex?

Run `npx skills add garrytan/gbrain --skill minion-orchestrator -a codex`. Or copy the skill folder (skills/minion-orchestrator in garrytan/gbrain) into .agents/skills/minion-orchestrator in your project. Codex loads it when a task matches its description.

Can I use Minion Orchestrator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrytan/gbrain --skill minion-orchestrator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/minion-orchestrator, .gemini/skills/minion-orchestrator, .github/skills/minion-orchestrator and .opencode/skills/minion-orchestrator in your project.

What does Minion Orchestrator need to run?

SKILL.md names no scripts, command-line tools or credentials: Minion Orchestrator is instructions for the agent only.

Does Minion Orchestrator access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Minion Orchestrator safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Minion Orchestrator use?

Minion Orchestrator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Minion Orchestrator use?

About 6.3k tokens (SKILL.md is roughly 25k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Minion Orchestrator?

Skills that share tags, products or a category with Minion Orchestrator: Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars), Subagent Driven Development (Asvarox/allkaraoke, 261 stars), Dispatching Parallel Agents (ultralisp/ultralisp, 258 stars) and Reflect on Session Learnings (cursor/plugins, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Minion Orchestrator?

garrytan (a GitHub user) maintains it in garrytan/gbrain, which has 30,756 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 11, 2026.

Source: garrytan/gbrain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.