Claude Code Agent Development
anthropics/claude-plugins-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.
Unified Minions skill for both deterministic shell jobs and LLM subagent orchestration.
$ npx skills add garrytan/gbrain --skill minion-orchestrator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install garrytan/gbrain minion-orchestrator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "minion-orchestrator" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/minion-orchestrator into .claude/skills/minion-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "minion-orchestrator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/garrytan/gbrain/tree/master/skills/minion-orchestratorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add garrytan/gbrain --skill minion-orchestrator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install garrytan/gbrain minion-orchestrator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/minion-orchestrator .agents/skills/minion-orchestrator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "minion-orchestrator" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/minion-orchestrator into .agents/skills/minion-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "minion-orchestrator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add garrytan/gbrain --skill minion-orchestrator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install garrytan/gbrain minion-orchestrator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/minion-orchestrator .cursor/skills/minion-orchestrator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "minion-orchestrator" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/minion-orchestrator into .cursor/skills/minion-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "minion-orchestrator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/garrytan/gbrain.git --path skills/minion-orchestrator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add garrytan/gbrain --skill minion-orchestrator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install garrytan/gbrain minion-orchestrator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/minion-orchestrator .gemini/skills/minion-orchestrator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "minion-orchestrator" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/minion-orchestrator into .gemini/skills/minion-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "minion-orchestrator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install garrytan/gbrain minion-orchestratorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add garrytan/gbrain --skill minion-orchestrator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/minion-orchestrator .github/skills/minion-orchestrator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "minion-orchestrator" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/minion-orchestrator into .github/skills/minion-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "minion-orchestrator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add garrytan/gbrain --skill minion-orchestrator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install garrytan/gbrain minion-orchestrator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/minion-orchestrator .opencode/skills/minion-orchestrator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "minion-orchestrator" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/minion-orchestrator into .opencode/skills/minion-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "minion-orchestrator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
minion-orchestratorUnified 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. 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.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 77cf8e1. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
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.
The full file from garrytan/gbrain at commit 77cf8e1, republished under its MIT licence (© garrytan). 2,984 words, ~6,311 tokens.
.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.Minions is a Postgres-native job queue for durable, observable background work. This single skill handles two lanes:
gbrain jobs submit shell ...)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:
Durable-execution doctrine (routing convention the agent follows — nothing mechanically enforces it; see "Durable execution" below):
gbrain jobs list --status active and recent
completions for overdue work whose result never reached the user.gbrain jobs get <id>.| Condition | Action |
|---|---|
| User asks for deterministic command/script run | Shell job (CLI: gbrain jobs submit shell ...) |
| User asks to "run in minions" + explicit command/argv | Shell job (CLI, --params with cmd or argv) |
| User asks for research/reasoning/iterative agent | Subagent job (CLI: gbrain agent run) |
| User asks to steer/pause/resume an agent | Subagent job lifecycle tools (MCP-callable) |
| Single simple operation under ~30s | Consider inline execution first |
| Needs restart durability/observability | Submit as Minion job |
| Operation expected to exceed ~2 minutes | Route 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?"
Use for reproducible command execution, ETL steps, cron work, and scriptable tasks where no LLM reasoning loop is needed.
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.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.gbrain jobs work runs a persistent worker that
claims and executes jobs from the queue.gbrain jobs submit ... --follow runs inline.
The daemon mode is not available on PGLite (exclusive file lock). See
docs/guides/minions-shell-jobs.md.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.gbrain jobs stats (CLI) to
confirm the worker is registered and consuming the queue.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"}' --followQueue/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.
These operations are MCP-callable and safe for agent use:
list_jobs --name shell --status active
get_job ID
get_job_progress IDCheck 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.
cancel_job id=ID
replay_job id=IDreplay_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.
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.
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.jsonThe 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 immediatelyQueue/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.
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 + heartbeatProgress includes: step count, total steps, message, token usage, last tool called.
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).
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 changesAll lifecycle ops are MCP-callable.
get_job ID # result, token counts, transcriptToken accounting: every job tracks tokens_input, tokens_output, tokens_cache_read.
Child tokens roll up to parent automatically on completion.
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.
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.
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.
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.
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.
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.
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").
expected_minutes honestly; round up.margin = max(10 min, 50% of estimate). Restarts delay delivery — too tight false-fires, hours-late
defeats the point.at, or a crontab
entry the check removes on first fire. The check's instruction:gbrain jobs get <id> gives the job state; the reported-check asks whether a
completion message actually reached the user.gbrain jobs get <id> and post the recovery report now, tagged with
the job ID.stderr_tail
from gbrain jobs get <id>) and offer gbrain jobs retry <id>.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:
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).
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.
Durations scale with corpus size; treat these as order-of-magnitude
anchors for --timeout-ms, not promises.
| Operation | Typical duration | Suggested --timeout-ms |
|---|---|---|
extract all | 30-60 min on large brains | 3600000 |
embed --stale | 5-30 min (scales with missing count) | 1800000 |
sync --all | 5-20 min | 1200000 |
integrity auto | 10-30 min | 1800000 |
dream | 5-15 min | 900000 |
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:
.cache/
directory in the pipeline's working tree, addressed by content hash.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.
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 completedWhen 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.3kFollow 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.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.waiting with no worker: confirm a worker is registered (gbrain jobs get <id>) before resubmitting.gbrain jobs stats firstcoalesced — the work is already queued; monitor the matched job id insteadsessions_spawn with runtime: "subagent" when Minions is available (use gbrain agent run instead)get_job in a tight loop (use get_job_progress for lightweight checks)sleep or a poll loop — a sleeping process dies with the session, which is the exact failure being insured againstsync, embed, extract, integrity) simultaneously, and don't hand-delete lock rows to unstick them (locks expire at TTL)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 (MCP)list_jobs (MCP)cancel_job (MCP)pause_job (MCP)resume_job (MCP)replay_job (MCP)send_job_message (MCP)get_job_progress (MCP)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
SKILL.md and 1 other file in skills/minion-orchestrator of garrytan/gbrain.
Open the folder on GitHubat commit 77cf8e1
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Minion Orchestrator this skillgarrytan/gbrain | 31k | — | ~6.3k | Automated safety check: Notes | MIT | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 38k | 7 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Subagent Driven DevelopmentAsvarox/allkaraoke | 261 | 38 repos | ~1.2k | Automated safety check: Pass | None | |
| Dispatching Parallel Agentsultralisp/ultralisp | 258 | 41 repos | ~1.5k | Automated safety check: Pass | None | |
| Reflect on Session Learningscursor/plugins | 11k | 5 repos | ~1.2k | Automated safety check: Pass | None | |
| Paseo Advisor Second Opiniongetpaseo/paseo | 20k | 1 repos | ~756 | Automated safety check: Pass | Custom licence |
anthropics/claude-plugins-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.
Asvarox/allkaraoke
A skill your agent uses when executing implementation plans with independent tasks in the current session
ultralisp/ultralisp
A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
cursor/plugins
Starts three parallel reviewer subagents over the current conversation transcript, then turns their findings into concrete edits to existing skills.
getpaseo/paseo
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.
rebelytics/one-skill-to-rule-them-all
Monitors task execution for skill improvement opportunities.
garrytan/gbrain
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.
garrytan/gbrain
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.
garrytan/gbrain
Ingest links, articles, tweets, and ideas into the brain. An agent skill from garrytan/gbrain.
garrytan/gbrain
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.
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.
garrytan/gbrain
Run gbrain skillpack-check to produce an agent-readable JSON health report for the gbrain install.
Categories
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.
Minion Orchestrator fits situations like: : submitting gbrain jobs; shell/background tasks; spawning subagents; checking progress.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Minion Orchestrator is instructions for the agent only.
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.
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.
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.
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.
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.
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.