[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70M80GW6FSCCZ5HZESYST55":3,"skill-same:01M70M80GW6FSCCZ5HZESYST55":106},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":83,"commitSha":84,"skillDirectory":85,"forksCount":86,"repositoryHtmlUrl":87,"repositoryHomepageUrl":88,"ownerHtmlUrl":89,"ownerBlogUrl":90,"ownerDescription":91,"updatedAt":92,"install":93,"resources":105},"01M70M80GW6FSCCZ5HZESYST55","minion-orchestrator",null,"Unified Minions skill for both deterministic shell jobs and LLM subagent\norchestration. Replaces the older `gbrain-jobs` routing intent. Use when:\nsubmitting gbrain jobs, shell\u002Fbackground tasks, spawning subagents,\nchecking progress, steering running work, pausing\u002Fresuming, parallel\nfan-out. One durable, observable, steerable queue interface.","shengdabai\u002FTony-Claude-Code-Skills","shengdabai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F116417419?v=4","01M70F6D2WY5PQV5A92BKYJQEW","Tony Sheng","01M70F6D3GAAAYZ5H4CC1G8VXM",3,"MIT","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgbrain-minion-orchestrator\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"orchestrator","minion orchestrator","run","command","intent","message","progress","change","work","spawn agent","shell command","subagent","tasks","when","orchestration","interface","send","submit","direction","get","2026-11-10 10:12:30",false,"---\nname: minion-orchestrator\nversion: 1.0.0\ndescription: |\n  Unified Minions skill for both deterministic shell jobs and LLM subagent\n  orchestration. Replaces the older `gbrain-jobs` routing intent. Use when:\n  submitting gbrain jobs, shell\u002Fbackground tasks, spawning subagents,\n  checking progress, steering running work, pausing\u002Fresuming, parallel\n  fan-out. One durable, observable, steerable queue interface.\ntriggers:\n  - \"gbrain jobs submit\"\n  - \"submit a gbrain job\"\n  - \"submit a shell job\"\n  - \"shell job\"\n  - \"run shell command in background\"\n  - \"deterministic background task\"\n  - \"spawn agent\"\n  - \"background task\"\n  - \"run in background\"\n  - \"check on agent\"\n  - \"agent progress\"\n  - \"what's running\"\n  - \"steer agent\"\n  - \"change direction\"\n  - \"tell the agent\"\n  - \"pause agent\"\n  - \"stop agent\"\n  - \"resume agent\"\n  - \"parallel tasks\"\n  - \"fan out\"\n  - \"do these in parallel\"\ntools:\n  - submit_job\n  - get_job\n  - list_jobs\n  - cancel_job\n  - pause_job\n  - resume_job\n  - replay_job\n  - send_job_message\n  - get_job_progress\nmutating: true\n---\n\n# Minion Orchestrator\n\n## Contract\n\nMinions is a Postgres-native job queue for durable, observable background work.\nThis single skill handles two lanes:\n- Deterministic shell jobs (`gbrain jobs submit shell ...`)\n- LLM subagent jobs (`gbrain agent run ...`)\n\nWhen to route to Minions: durable, observable work that must survive restarts,\nfan out across many parallel tasks, or persist across sessions. Routing policy\nis defined in `skills\u002Fconventions\u002Fsubagent-routing.md` — the project default is\n`pain_triggered` (native subagents first, Minions after specific pain signals\nfire); Mode A (all-through-Minions) is opt-in.\n\nGuarantees:\n- Jobs survive gateway restart (Postgres-backed)\n- Every job has structured progress, token accounting, and session transcripts\n- Running agents can be steered mid-flight via inbox messages\n- Jobs can be paused, resumed, or cancelled at any time\n- Parent-child DAGs with configurable failure policies\n\n## Route the Request: Shell Job vs Subagent\n\n| Condition | Action |\n|---|---|\n| User asks for deterministic command\u002Fscript run | Shell job (CLI: `gbrain jobs submit shell ...`) |\n| User asks to \"run in minions\" + explicit command\u002Fargv | Shell job (CLI, `--params` with `cmd` or `argv`) |\n| User asks for research\u002Freasoning\u002Fiterative agent | Subagent job (CLI: `gbrain agent run`) |\n| User asks to steer\u002Fpause\u002Fresume an agent | Subagent job lifecycle tools (MCP-callable) |\n| Single simple operation under ~30s | Consider inline execution first |\n| Needs restart durability\u002Fobservability | Submit as Minion job |\n| Parallel work (2+ streams) | `gbrain agent run --fanout-manifest` or parent + child subagents |\n\nIf intent is ambiguous, ask one clarification:\n\"Do you want a deterministic shell command job, or an LLM agent job?\"\n\n## Shell Jobs (Deterministic Scripts)\n\nUse for reproducible command execution, ETL steps, cron work, and scriptable\ntasks where no LLM reasoning loop is needed.\n\n### Preconditions (read before submitting your first shell job)\n\n- **`GBRAIN_ALLOW_SHELL_JOBS=1` must be set on the worker environment.**\n  Without it, the shell handler refuses to register and submissions sit in\n  `waiting` silently. Gate lives in `src\u002Fcore\u002Fminions\u002Fhandlers\u002Fshell.ts`.\n- **Security:** flipping `GBRAIN_ALLOW_SHELL_JOBS=1` authorizes arbitrary\n  command execution on the worker. On a shared queue, this is a remote code\n  execution surface. Treat as privileged infrastructure authorization.\n- **Execution mode — pick one:**\n  - **Postgres + daemon:** `gbrain jobs work` runs a persistent worker that\n    claims and executes jobs from the queue.\n  - **PGLite + --follow:** `gbrain jobs submit ... --follow` runs inline.\n    The daemon mode is not available on PGLite (exclusive file lock). See\n    `docs\u002Fguides\u002Fminions-shell-jobs.md`.\n- **MCP boundary:** shell-job submission is CLI-only. `submit_job name=\"shell\"`\n  over MCP throws an `OperationError` with code `permission_denied` (\"'shell'\n  jobs cannot be submitted over MCP\") because `shell` is in `PROTECTED_JOB_NAMES`.\n  Agents CAN observe shell jobs via `get_job` \u002F `list_jobs` \u002F `get_job_progress`\n  (not protected), but cannot submit them. Operator or autopilot submits;\n  agent observes.\n- **Verify setup:** after configuration, run `gbrain jobs stats` (CLI) to\n  confirm the worker is registered and consuming the queue.\n\n### Submit (CLI, operator or autopilot)\n\nShell jobs take their command via `--params` as a JSON object with `cmd` (string)\nor `argv` (array), plus `cwd` and optional `env`.\n\nCommand string form:\n```\ngbrain jobs submit shell --params '{\"cmd\":\"echo hello\",\"cwd\":\"\u002Fabs\u002Fpath\"}'\n```\n\nArgv form (no shell expansion):\n```\ngbrain jobs submit shell --params '{\"argv\":[\"bash\",\"-lc\",\"echo hello\"],\"cwd\":\"\u002Fabs\u002Fpath\"}'\n```\n\nInline execution on PGLite or any one-shot deployment:\n```\ngbrain jobs submit shell --params '{\"cmd\":\"echo hello\",\"cwd\":\"\u002Ftmp\"}' --follow\n```\n\nQueue\u002Flifecycle flags exposed by `gbrain jobs submit --help`: `--queue`,\n`--priority`, `--delay`, `--max-attempts`, `--max-stalled`, `--backoff-type`,\n`--backoff-delay`, `--backoff-jitter`, `--timeout-ms`, `--idempotency-key`,\n`--dry-run`.\n\n### Monitor (agents or operator)\n\nThese operations are MCP-callable and safe for agent use:\n\n```\nlist_jobs --name shell --status active\nget_job ID\nget_job_progress ID\n```\n\nCheck structured result fields (exit code, stdout\u002Fstderr tails, attempts,\ntimings) from `get_job`. Use `gbrain jobs stats` (CLI) for worker\u002Fqueue\nhealth dashboard.\n\n### Control (MCP-callable)\n\n```\ncancel_job id=ID\nreplay_job id=ID\n```\n\n`replay_job` is not protected — only shell *submission* is. Agents can\ncancel or replay a shell job without CLI access.\n\nUse idempotency keys for recurring shell workloads to avoid duplicate runs.\n\n## Subagent Jobs (LLM Orchestration)\n\nUse for open-ended reasoning, tool-using research, and fan-out synthesis.\n\n**User-facing entrypoint:** `gbrain agent run \u003Cprompt>` is the canonical way\nto submit subagent work. It handles the elevated-trust plumbing — `subagent`\nand `subagent_aggregator` are both in `PROTECTED_JOB_NAMES`, so direct MCP\nsubmission requires `{allowProtectedSubmit: true}`, which `gbrain agent run`\nsupplies.\n\n## Phase 1: Submit\n\n```\ngbrain agent run \"Research Acme Corp revenue\" --tools \"search,query\"\n```\n\n`--tools` accepts a comma-separated subset of `BRAIN_TOOL_ALLOWLIST` (see\n`src\u002Fcore\u002Fminions\u002Ftools\u002Fbrain-allowlist.ts`): `query`, `search`, `get_page`,\n`list_pages`, `file_list`, `file_url`, `get_backlinks`, `traverse_graph`,\n`resolve_slugs`, `get_ingest_log`, `put_page`. Anything outside the allow-list\nis rejected at submit time with `allowed_tools references unknown tool`.\n\nFor parallel work with a fan-out manifest:\n```\ngbrain agent run --fanout-manifest companies.json\n```\n\nThe manifest describes N children + 1 aggregator. Each child runs\n`name=\"subagent\"` under the hood; the aggregator runs `name=\"subagent_aggregator\"`\nand claims AFTER every child terminates. See\n`src\u002Fcore\u002Fminions\u002Fhandlers\u002Fsubagent.ts` and\n`src\u002Fcore\u002Fminions\u002Fhandlers\u002Fsubagent-aggregator.ts`.\n\nFlags (from `src\u002Fcommands\u002Fagent.ts`):\n- `--subagent-def \u003Cname>` — named subagent definition\n- `--model \u003Cid>` — override model\n- `--max-turns \u003CN>` — cap the LLM loop\n- `--tools \u003Ccsv>` — allow-listed brain tools (see above)\n- `--timeout-ms \u003CN>` — hard timeout per job\n- `--fanout-manifest \u003Cfile>` — N children + 1 aggregator\n- `--follow` \u002F `--no-follow` — stream logs + wait (default on TTY)\n- `--detach` — submit and return immediately\n\nQueue\u002Fpriority\u002Fretry tuning is not exposed by `gbrain agent run`; submit the\nraw `subagent` handler via `gbrain jobs submit` (requires CLI trust) if you\nneed those knobs.\n\n## Phase 2: Monitor\n\n```\nlist_jobs --status active          # MCP — what's running?\nget_job ID                         # MCP — full details + logs + tokens\nget_job_progress ID                # MCP — structured progress snapshot\ngbrain jobs stats                  # CLI — queue health dashboard\ngbrain agent logs ID --follow      # CLI — streaming transcript + heartbeat\n```\n\nProgress includes: step count, total steps, message, token usage, last tool called.\n\n## Phase 3: Steer\n\nSend a message to redirect a running agent:\n```\nsend_job_message id=ID payload={\"directive\":\"focus on revenue, skip headcount\"}\n```\n\nThe agent handler reads inbox messages on each iteration and injects them as\ncontext. Messages are acknowledged (read receipts tracked).\n\nOnly the parent job or admin can send messages (sender validation).\n\n## Phase 4: Lifecycle\n\n```\npause_job id=ID                    # freeze without losing state\nresume_job id=ID                   # pick up where it left off\ncancel_job id=ID                   # hard stop\nreplay_job id=ID                   # re-run with same or modified params\nreplay_job id=ID data_overrides={\"depth\":\"deep\"}  # replay with changes\n```\n\nAll lifecycle ops are MCP-callable.\n\n## Phase 5: Review Results\n\n```\nget_job ID                         # result, token counts, transcript\n```\n\nToken accounting: every job tracks `tokens_input`, `tokens_output`, `tokens_cache_read`.\nChild tokens roll up to parent automatically on completion.\n\n## Output Format\n\nWhen reporting job status to the user:\n\n```\nJob #ID (name) — status\nProgress: step\u002Ftotal — last action\nTokens: input_count in \u002F output_count out (+ cache_read cached)\nRuntime: Xs\nChildren: N pending, M completed\n```\n\nWhen reporting completion:\n\n```\nJob #ID completed in Xs\nTokens used: input \u002F output \u002F cache_read\nResult: \u003Csummary>\n```\n\nWhen reporting batch status (parent with children):\n\n```\nParent #ID — waiting-children\n  #A subagent(Acme) — active, 3\u002F5 steps, 2.5k tokens\n  #B subagent(Beta) — completed, 1.8k tokens\n  #C subagent(Gamma) — paused\nTotal tokens so far: 4.3k\n```\n\n## Anti-Patterns\n\n- Don't spawn a Minion for a single search query (use search tool directly)\n- Don't fire-and-forget without checking results\n- Don't spawn > 5 concurrent agents without checking `gbrain jobs stats` first\n- For subagent work, don't use `sessions_spawn` with `runtime: \"subagent\"` when Minions is available (use `gbrain agent run` instead)\n- Don't poll `get_job` in a tight loop (use `get_job_progress` for lightweight checks)\n\n## Tools Used\n\n- Submit a background job — `submit_job` (MCP, non-protected names only; shell jobs are CLI-only, subagent jobs via `gbrain agent run`)\n- Get job details — `get_job` (MCP)\n- List jobs with filters — `list_jobs` (MCP)\n- Cancel a job — `cancel_job` (MCP)\n- Pause a job — `pause_job` (MCP)\n- Resume a paused job — `resume_job` (MCP)\n- Replay a completed\u002Ffailed job — `replay_job` (MCP)\n- Send sidechannel message — `send_job_message` (MCP)\n- Get structured progress — `get_job_progress` (MCP)\n- Queue stats — `gbrain jobs stats` (CLI; no MCP equivalent)\n","# Minion Orchestrator\n\n## Contract\n\nMinions is a Postgres-native job queue for durable, observable background work.\nThis single skill handles two lanes:\n- Deterministic shell jobs (`gbrain jobs submit shell ...`)\n- LLM subagent jobs (`gbrain agent run ...`)\n\nWhen to route to Minions: durable, observable work that must survive restarts,\nfan out across many parallel tasks, or persist across sessions. Routing policy\nis defined in `skills\u002Fconventions\u002Fsubagent-routing.md` — the project default is\n`pain_triggered` (native subagents first, Minions after specific pain signals\nfire); Mode A (all-through-Minions) is opt-in.\n\nGuarantees:\n- Jobs survive gateway restart (Postgres-backed)\n- Every job has structured progress, token accounting, and session transcripts\n- Running agents can be steered mid-flight via inbox messages\n- Jobs can be paused, resumed, or cancelled at any time\n- Parent-child DAGs with configurable failure policies\n\n## Route the Request: Shell Job vs Subagent\n\n| Condition | Action |\n|---|---|\n| User asks for deterministic command\u002Fscript run | Shell job (CLI: `gbrain jobs submit shell ...`) |\n| User asks to \"run in minions\" + explicit command\u002Fargv | Shell job (CLI, `--params` with `cmd` or `argv`) |\n| User asks for research\u002Freasoning\u002Fiterative agent | Subagent job (CLI: `gbrain agent run`) |\n| User asks to steer\u002Fpause\u002Fresume an agent | Subagent job lifecycle tools (MCP-callable) |\n| Single simple operation under ~30s | Consider inline execution first |\n| Needs restart durability\u002Fobservability | Submit as Minion job |\n| Parallel work (2+ streams) | `gbrain agent run --fanout-manifest` or parent + child subagents |\n\nIf intent is ambiguous, ask one clarification:\n\"Do you want a deterministic shell command job, or an LLM agent job?\"\n\n## Shell Jobs (Deterministic Scripts)\n\nUse for reproducible command execution, ETL steps, cron work, and scriptable\ntasks where no LLM reasoning loop is needed.\n\n### Preconditions (read before submitting your first shell job)\n\n- **`GBRAIN_ALLOW_SHELL_JOBS=1` must be set on the worker environment.**\n  Without it, the shell handler refuses to register and submissions sit in\n  `waiting` silently. Gate lives in `src\u002Fcore\u002Fminions\u002Fhandlers\u002Fshell.ts`.\n- **Security:** flipping `GBRAIN_ALLOW_SHELL_JOBS=1` authorizes arbitrary\n  command execution on the worker. On a shared queue, this is a remote code\n  execution surface. Treat as privileged infrastructure authorization.\n- **Execution mode — pick one:**\n  - **Postgres + daemon:** `gbrain jobs work` runs a persistent worker that\n    claims and executes jobs from the queue.\n  - **PGLite + --follow:** `gbrain jobs submit ... --follow` runs inline.\n    The daemon mode is not available on PGLite (exclusive file lock). See\n    `docs\u002Fguides\u002Fminions-shell-jobs.md`.\n- **MCP boundary:** shell-job submission is CLI-only. `submit_job name=\"shell\"`\n  over MCP throws an `OperationError` with code `permission_denied` (\"'shell'\n  jobs cannot be submitted over MCP\") because `shell` is in `PROTECTED_JOB_NAMES`.\n  Agents CAN observe shell jobs via `get_job` \u002F `list_jobs` \u002F `get_job_progress`\n  (not protected), but cannot submit them. Operator or autopilot submits;\n  agent observes.\n- **Verify setup:** after configuration, run `gbrain jobs stats` (CLI) to\n  confirm the worker is registered and consuming the queue.\n\n### Submit (CLI, operator or autopilot)\n\nShell jobs take their command via `--params` as a JSON object with `cmd` (string)\nor `argv` (array), plus `cwd` and optional `env`.\n\nCommand string form:\n```\ngbrain jobs submit shell --params '{\"cmd\":\"echo hello\",\"cwd\":\"\u002Fabs\u002Fpath\"}'\n```\n\nArgv form (no shell expansion):\n```\ngbrain jobs submit shell --params '{\"argv\":[\"bash\",\"-lc\",\"echo hello\"],\"cwd\":\"\u002Fabs\u002Fpath\"}'\n```\n\nInline execution on PGLite or any one-shot deployment:\n```\ngbrain jobs submit shell --params '{\"cmd\":\"echo hello\",\"cwd\":\"\u002Ftmp\"}' --follow\n```\n\nQueue\u002Flifecycle flags exposed by `gbrain jobs submit --help`: `--queue`,\n`--priority`, `--delay`, `--max-attempts`, `--max-stalled`, `--backoff-type`,\n`--backoff-delay`, `--backoff-jitter`, `--timeout-ms`, `--idempotency-key`,\n`--dry-run`.\n\n### Monitor (agents or operator)\n\nThese operations are MCP-callable and safe for agent use:\n\n```\nlist_jobs --name shell --status active\nget_job ID\nget_job_progress ID\n```\n\nCheck structured result fields (exit code, stdout\u002Fstderr tails, attempts,\ntimings) from `get_job`. Use `gbrain jobs stats` (CLI) for worker\u002Fqueue\nhealth dashboard.\n\n### Control (MCP-callable)\n\n```\ncancel_job id=ID\nreplay_job id=ID\n```\n\n`replay_job` is not protected — only shell *submission* is. Agents can\ncancel or replay a shell job without CLI access.\n\nUse idempotency keys for recurring shell workloads to avoid duplicate runs.\n\n## Subagent Jobs (LLM Orchestration)\n\nUse for open-ended reasoning, tool-using research, and fan-out synthesis.\n\n**User-facing entrypoint:** `gbrain agent run \u003Cprompt>` is the canonical way\nto submit subagent work. It handles the elevated-trust plumbing — `subagent`\nand `subagent_aggregator` are both in `PROTECTED_JOB_NAMES`, so direct MCP\nsubmission requires `{allowProtectedSubmit: true}`, which `gbrain agent run`\nsupplies.\n\n## Phase 1: Submit\n\n```\ngbrain agent run \"Research Acme Corp revenue\" --tools \"search,query\"\n```\n\n`--tools` accepts a comma-separated subset of `BRAIN_TOOL_ALLOWLIST` (see\n`src\u002Fcore\u002Fminions\u002Ftools\u002Fbrain-allowlist.ts`): `query`, `search`, `get_page`,\n`list_pages`, `file_list`, `file_url`, `get_backlinks`, `traverse_graph`,\n`resolve_slugs`, `get_ingest_log`, `put_page`. Anything outside the allow-list\nis rejected at submit time with `allowed_tools references unknown tool`.\n\nFor parallel work with a fan-out manifest:\n```\ngbrain agent run --fanout-manifest companies.json\n```\n\nThe manifest describes N children + 1 aggregator. Each child runs\n`name=\"subagent\"` under the hood; the aggregator runs `name=\"subagent_aggregator\"`\nand claims AFTER every child terminates. See\n`src\u002Fcore\u002Fminions\u002Fhandlers\u002Fsubagent.ts` and\n`src\u002Fcore\u002Fminions\u002Fhandlers\u002Fsubagent-aggregator.ts`.\n\nFlags (from `src\u002Fcommands\u002Fagent.ts`):\n- `--subagent-def \u003Cname>` — named subagent definition\n- `--model \u003Cid>` — override model\n- `--max-turns \u003CN>` — cap the LLM loop\n- `--tools \u003Ccsv>` — allow-listed brain tools (see above)\n- `--timeout-ms \u003CN>` — hard timeout per job\n- `--fanout-manifest \u003Cfile>` — N children + 1 aggregator\n- `--follow` \u002F `--no-follow` — stream logs + wait (default on TTY)\n- `--detach` — submit and return immediately\n\nQueue\u002Fpriority\u002Fretry tuning is not exposed by `gbrain agent run`; submit the\nraw `subagent` handler via `gbrain jobs submit` (requires CLI trust) if you\nneed those knobs.\n\n## Phase 2: Monitor\n\n```\nlist_jobs --status active          # MCP — what's running?\nget_job ID                         # MCP — full details + logs + tokens\nget_job_progress ID                # MCP — structured progress snapshot\ngbrain jobs stats                  # CLI — queue health dashboard\ngbrain agent logs ID --follow      # CLI — streaming transcript + heartbeat\n```\n\nProgress includes: step count, total steps, message, token usage, last tool called.\n\n## Phase 3: Steer\n\nSend a message to redirect a running agent:\n```\nsend_job_message id=ID payload={\"directive\":\"focus on revenue, skip headcount\"}\n```\n\nThe agent handler reads inbox messages on each iteration and injects them as\ncontext. Messages are acknowledged (read receipts tracked).\n\nOnly the parent job or admin can send messages (sender validation).\n\n## Phase 4: Lifecycle\n\n```\npause_job id=ID                    # freeze without losing state\nresume_job id=ID                   # pick up where it left off\ncancel_job id=ID                   # hard stop\nreplay_job id=ID                   # re-run with same or modified params\nreplay_job id=ID data_overrides={\"depth\":\"deep\"}  # replay with changes\n```\n\nAll lifecycle ops are MCP-callable.\n\n## Phase 5: Review Results\n\n```\nget_job ID                         # result, token counts, transcript\n```\n\nToken accounting: every job tracks `tokens_input`, `tokens_output`, `tokens_cache_read`.\nChild tokens roll up to parent automatically on completion.\n\n## Output Format\n\nWhen reporting job status to the user:\n\n```\nJob #ID (name) — status\nProgress: step\u002Ftotal — last action\nTokens: input_count in \u002F output_count out (+ cache_read cached)\nRuntime: Xs\nChildren: N pending, M completed\n```\n\nWhen reporting completion:\n\n```\nJob #ID completed in Xs\nTokens used: input \u002F output \u002F cache_read\nResult: \u003Csummary>\n```\n\nWhen reporting batch status (parent with children):\n\n```\nParent #ID — waiting-children\n  #A subagent(Acme) — active, 3\u002F5 steps, 2.5k tokens\n  #B subagent(Beta) — completed, 1.8k tokens\n  #C subagent(Gamma) — paused\nTotal tokens so far: 4.3k\n```\n\n## Anti-Patterns\n\n- Don't spawn a Minion for a single search query (use search tool directly)\n- Don't fire-and-forget without checking results\n- Don't spawn > 5 concurrent agents without checking `gbrain jobs stats` first\n- For subagent work, don't use `sessions_spawn` with `runtime: \"subagent\"` when Minions is available (use `gbrain agent run` instead)\n- Don't poll `get_job` in a tight loop (use `get_job_progress` for lightweight checks)\n\n## Tools Used\n\n- Submit a background job — `submit_job` (MCP, non-protected names only; shell jobs are CLI-only, subagent jobs via `gbrain agent run`)\n- Get job details — `get_job` (MCP)\n- List jobs with filters — `list_jobs` (MCP)\n- Cancel a job — `cancel_job` (MCP)\n- Pause a job — `pause_job` (MCP)\n- Resume a paused job — `resume_job` (MCP)\n- Replay a completed\u002Ffailed job — `replay_job` (MCP)\n- Send sidechannel message — `send_job_message` (MCP)\n- Get structured progress — `get_job_progress` (MCP)\n- Queue stats — `gbrain jobs stats` (CLI; no MCP equivalent)\n",{"name":5,"tools":49,"version":59,"mutating":60,"triggers":61,"description":82},[50,51,52,53,54,55,56,57,58],"submit_job","get_job","list_jobs","cancel_job","pause_job","resume_job","replay_job","send_job_message","get_job_progress","1.0.0",true,[62,63,64,65,66,67,33,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"gbrain jobs submit","submit a gbrain job","submit a shell job","shell job","run shell command in background","deterministic background task","background task","run in background","check on agent","agent progress","what's running","steer agent","change direction","tell the agent","pause agent","stop agent","resume agent","parallel tasks","fan out","do these in parallel","Unified Minions skill for both deterministic shell jobs and LLM subagent\norchestration. Replaces the older `gbrain-jobs` routing intent. Use when:\nsubmitting gbrain jobs, shell\u002Fbackground tasks, spawning subagents,\nchecking progress, steering running work, pausing\u002Fresuming, parallel\nfan-out. One durable, observable, steerable queue interface.\n","main","7850740bd837adb32f0a109ab2af82482196c6f2","skills\u002Fgbrain-minion-orchestrator",1,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills","https:\u002F\u002Fzturnsgo.com","https:\u002F\u002Fgithub.com\u002Fshengdabai","https:\u002F\u002Fzturnsgo.com\u002F","AI × education creator — producer, not consumer. Taught 6,000+ learners; shipping learning tools & daily essays with Claude Code, practicing @xiaolai's way 🥋","2026-11-01 21:28:23",{"source":8,"skillName":5,"commands":94,"prompt":104,"zipAvailable":60},[95,98,101],{"tool":96,"command":97},"npx","npx skills add shengdabai\u002FTony-Claude-Code-Skills --skill minion-orchestrator",{"tool":99,"command":100},"bunx","bunx skills add shengdabai\u002FTony-Claude-Code-Skills --skill minion-orchestrator",{"tool":102,"command":103},"pnpm","pnpm dlx skills add shengdabai\u002FTony-Claude-Code-Skills --skill minion-orchestrator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgbrain-minion-orchestrator\u002FSKILL.md",[],[107,124,153,179,201,221],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":116,"publishedAt":44},"01M70P17DAD4C1C47NPH6A96EM","xiaolai-methodology","以李笑来(Li Xiaolai)的思考方式、方法论与表达风格,为用户做全方位 1-on-1 教练指导,覆盖创业、赚钱、投资、学习、自学、读书写作、用 AI、以及人生心态与自我管理。当用户提到 \"李笑来\"、\"笑来\"、\"笑来老师\"、\"扮演李笑来\"、\"找笑来聊聊\"、\"笑来怎么看\"、\"xiaolai\"、\"把时间当作朋友\"、\"通往财富自由之路\"、\"定投改变命运\"、\"韭菜的自我修养\"、\"自学是门手艺\"、\"让时间陪你慢慢变富\"、\"七年就是一辈子\"、\"元认知\"、\"活在未来\"、\"复利\u002F长期主义\"、\"践行\"、\"痴迷改进\"、\"个人商业模式\u002F出售时间\"、\"睡后收入\"、\"定投\"、\"财富自由\"、\"操作系统升级\"、\"最少必要知识\"、\"北极星提示词\"、\"用 AI 该怎么学\u002F思考\" 等任一触发词,或当用户带着关于创业\u002F赚钱\u002F投资\u002F学习\u002F职业\u002F重大人生决策的困惑、希望被人用笑来式的「逻辑 + 大白话 + 类比 + 重新定义 + 践行导向」来点醒和指导时,自动进入李笑来教练模式。","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fxiaolai-methodology\u002FSKILL.md",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",[117,118,119,120,121,122,123],"methodology","xiaolai","xiaolai methodology","朋友","投资","writing","收入",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":136,"publishedAt":44},"01M70P13NB9YP7ACJR1S861CDS","zread","Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `.\u002F.zread\u002Fwiki\u002F`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module\u002Fpackage explanations, or \"what does this repo do\"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread \u002F zread.ai directly. Also use it proactively before diving into a large unknown repo — if `.\u002F.zread\u002Fwiki\u002Fcurrent` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word \"zread\".","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fzread\u002FSKILL.md",[130,131],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[126,137,138,139,140,141,43,142,26,143,28,144,145,146,147,148,149,150,151,152],"knowledge","wiki","explore","walkthrough","project","knowledge base","generate","cli","map","documentation","project wiki","disk","architecture","code","unknown","generated",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":163,"publishedAt":44},"01M70P10S4SWMZQ8BJAFBFDRW3","youtube","Launch the YouTube Creator Agent to auto-generate videos.\nUse when: user types \u002Fyoutube, wants to create YouTube videos,\ngenerate video content, or upload to YouTube.\nKeywords: youtube, video, 视频, 创作视频, 发布视频","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube\u002FSKILL.md",[159,160],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":161,"categoryName":162,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000036","内容创作者",[155,164,165,166,167,168,169,170,143,171,172,173,37,174,175,176,177,178],"user","content","视频","creator","generate video","videos","launch","video content","create","upload","use","auto","types","Video","创作",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":44},"01M70P0YE95D8BACZCGV8BK90K","youtube-script-sync","Sync, update, or optimize Tony's GetNote knowledge base `Youtube视频逐字稿` by turning each parent recording or first-person idea note into an idempotent child note containing a directly recordable YouTube long-video or Shorts script. Use when the user says “更新\u002F同步\u002F优化 Youtube视频逐字稿知识库”, or says “更新\u002F同步\u002F优化该知识库” while this knowledge base is the active context.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-script-sync\u002FSKILL.md",[185],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[187,188,155,189,190,177,191,192,193,194,195,196,197,198,142,199,37,174,137,200],"sync","script","youtube script sync","recording","shorts","first","base","person","update","active","child","optimize","idempotent","long",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":211,"publishedAt":44},"01M70P0WMV5XT0EEC0N445PW07","writing-skills","How to write SKILL.md files that trigger reliably and teach effectively. Use when creating, improving, or reviewing Claude Code skills.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fxiaolai\u002Fnlpm\u002Fskills\u002Fnlpm\u002Fwriting-skills\u002FSKILL.md",[207,208,209,210],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},{"categoryNo":161,"categoryName":162,"taxonomyType":134,"taxonomyTypeDesc":135},[212,122,213,214,215,216,150,37,174,217,218,219,220],"writing skills","how","teach","write skill","write","claude code skills","files","how to","trigger",{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":229,"publishedAt":44},"01M70P0SJFR4YVJQBGMHKGSKXT","writing-rules","How to write .claude\u002Frules\u002F files that Claude actually follows. Use when creating, improving, or reviewing project rules.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fxiaolai\u002Fnlpm\u002Fskills\u002Fnlpm\u002Fwriting-rules\u002FSKILL.md",[227,228],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":161,"categoryName":162,"taxonomyType":134,"taxonomyTypeDesc":135},[230,122,231,141,232,218,37,213,216,174,219],"Rules","writing rules","project rules"]