Other

/agent-routing

Route work to Cursor/Gemini/Codex/Claude; pick the fan-out engine. Triggers: delegate, who gathers, gemini gatherer, worker assignment, routing, Codex model/effort, subagents, /multitask, parallel agents, fan out, in parallel, batch classify/audit. NOT for one edit or dependent steps.

$ golems-cli skills install agent-routing
52 evals

Updated today

This skill owns fleet routing rules, role selection, delegation checks, review ownership, and model/effort dispatch policy. standards/model-roles.json owns role → model; /repogolem owns launcher mechanics and canon #6 owns launcher law.

Auto-dispatch triggers (canonical in /orc C4): batch reads >=3, transcription >=2, web research >=1, or any "in parallel" / "all of these" phrasing -> fan out sub-agents in the SAME message before asking permission.

Routing rules (SSOT)

This section is the single source of truth for fleet routing. Fleet canon, global instructions, collab templates and other skills point here; models resolve through standards/model-roles.json.

Gathering

Cursor or a gemini.gather.* gatherer gathers and verifies; Gemini handles the helper-eligible shapes described in the Role Matrix and decision rules below. A gatherer never implements, reviews or decides. Cursor, including cursor-agent, is Auto-only: never pass a model flag or model field; pinned Cursor drains its subscription pool.

Execution capability

A task that must RUN COMMANDS (shell, ffmpeg/media conversion, builds, tests, installs, or file writes) never goes to a read-only gatherer profile (agy gatherer, no shell). The brief names the execution profile and required tool access.

Gemini spawns select the agy profile by task: command execution uses the shell-capable shell-worker profile; media QA uses video-qa; read-only research uses gatherer. Never default to gatherer. Verify the named profile supports the whole task: video-qa has run_command and artifact writes, but forbids code edits and installs; route those to an executor with the required access.

Implementation and review

WorkImplementsReviewsPlus
UX/UIclaude.judgmentCodex (codex.implement)—
Securitycodex.security at effort highclaude.judgmenta codex-security deep scan per security PR
Everything else (refactors, splits, deletions, tests, fixes, mechanical, docs)codex.implementclaude.judgmenta deletion/test-edit decision by claude.judgment first (decision rule 2)

The reviewer is always the other vendor.

Interim route (Etan 2026-09-30/10-01): Daybreak Blue requires a hardware security key from 2026-10-01. codex.security resolves to the interim model until Etan has keys; then one config line switches it back.

Security effort is high on the interim route (Etan 2026-09-30: "6.1 Sol high implements"); a security phase records it like any other phase effort. When Daybreak Blue returns, evaluate its first security PRs: if they show more review rounds or more defects than the prior route, flip the pair (claude.judgment implements, Daybreak Blue reviews) and record the evidence in the PR bodies (carried from canon #1, 2026-09-29).

Inner loop (sequential)

  • The implementer goes first. The reviewer is spawned or briefed only after the implementer reports done: its DONE marker or report line, or for a cloud implementer, PR head stable ≥10 min with checks finished.
  • A reviewer never reads a half-finished diff. They iterate until both are happy; then the implementer opens the remote PR and runs /pr-loop. Merge follows the lane's merge authority after the PR loop is happy.
  • The LEAD routes the reviewer; a worker never starts its own. No reviewer pane means ask the lead. The lead is the escalation path, not a gate; its call is final when invoked, and it delegates the review decision to a reviewer worker.

This inner-loop pair review happens before the PR. /pr-loop bot and PR reviewers are separate. Pane mechanics live in /collab-monitor section "Completion -> Reviewer Handoff".

Records

Each PR body records its implementer, review rounds, and bot/reviewer defects. Claude leads orchestrate and route work through visible panes.

Model pins and dispatch

  • Fresh boots run claude.judgment at 1M via the bare launcher pin. The pin follows the role's current model and the pin is never removed; it prevents a prior session's model persisting.
  • Fable only via explicit per-invocation selection; a prior session's model never persists into the next.
  • Every non-Cursor Agent/Workflow/Task spawn pins its model explicitly, resolved from roles. Cursor is the Auto-only exception.
  • Effort is per /large-plan phase; declare effort + why and pass it explicitly at dispatch.
  • Keep to ≤2–3 concurrent Claude dispatches, staggered.
  • Usage is managed by default-pinning and dispatch-counting, not by usage-blocking buckets.

Model roles

Roles live in standards/model-roles.json. From the golems checkout, resolve with node scripts/model-roles.mjs <role> --field model|alias|launcher_tier (select one field). Never hardcode a role-owned model name. Generated launcher commands must keep the resolver substitution, not today's resolved literal. Read the role's status and gate before dispatch: codex.subagent.mechanical remains a candidate, with Etan’s 2026-10-04 exception for Codex-internal mechanical children and named packet only. Workers remain on codex.implement; see the model-and-effort reference for the scoped exception. The Routing rules (SSOT) section owns dispatch policy and the role config owns current model defaults; older model-selection recipes in the references are pending PR 2b migration and cannot override the config. Effort is not in the model-roles config; each /large-plan phase declares effort + why, and every dispatch passes it explicitly (Codex -E / effort:). The launcher refuses a worker spawn without an explicit effort. Codex prompted/worker launches require -E <level> or GOLEM_EFFORT; bare interactive launches use Codex config. For Claude, default means omit the flag: Claude sub-agents inherit the session's effort unless their agent frontmatter sets effort: (Claude Code sub-agents: Supported frontmatter fields). Gemini uses launcher_tier.

Read Map

  • Choosing a Codex model or effort, comparing model cost/context, dispatching a Codex child, or verifying its runtime? Read references/model-and-effort.md. Use the role config for current defaults and candidate gates; that reference supplies runtime verification and detailed procedures pending PR 2b.
  • Launching, reusing, monitoring, recovering, or closing a worker lane? Read references/delegation-operations.md.
  • Creating or auditing a collab, diagnosing a routing failure, or copying a routing template? Read references/verification-and-incidents.md.
  • Fanning out independent units, or asked about Cursor /multitask? Read references/fan-out-engines.md (recipes, gotchas, GUI prompt contract, dispatch hygiene).

Read every reference triggered by the mission before dispatch. The live reference owns its detailed procedure; Routing rules (SSOT) and the role config take precedence over conflicting routing or model-selection recipes.