Skill router. Pass a task description; route consults the index and dispatches to the right skill+function via the Skill tool. Usage: /route <task description>
インストール
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Skill router. Pass a task description; route consults the index and dispatches to the right skill+function via the Skill tool. Usage: /route <task description>
allowed-tools
Read, Glob, Grep, Task, Skill
minimum-effort-level
high
Route
Glorified index of every installed skill. Pass a task description and route picks the right skill+function and invokes it via the Skill tool. Use /route for any follow-up the current workflow does not explicitly name — research, web search, lookup, additional analysis, unblock work — so the AI dispatches through registered skills instead of freelancing.
Usage
/route <task description>
The task description is freeform. Examples:
/route find recent papers on transformer architecture
/route summarize this URL: https://example.com/article
/route audit the skills in this project
/route deploy to staging
Workflow
Read the index. Read references/index.md — the auto-generated skill catalog. If the index is missing or empty, STOP and instruct the user: "Index not found. Run /skill-builder route index to generate it."
Match. Compare the task description to the catalog's skills, descriptions, modes, and triggers. Pick the single best match.
Announce-and-dispatch (one act). Print → Routing to /[skill] [mode] — [why this is the match] AND in the SAME response issue the Skill(skill=<chosen>, args=<derived>) tool call. The CHECKPOINT below makes this binding.
CHECKPOINT — Dispatch Required:
Announce-and-invoke is ONE act. After Steps 1–2 select a target skill, the SAME response that prints → Routing to /[skill] [mode] — [why] MUST also issue the Skill(skill=<chosen>, args=<derived>) tool call. The announcement is a label on the dispatch, never a substitute for it.
Lane preflight at the door — the dominant-hemisphere ask (2-Brain Harness 2026-06-06; route-ask restored 2026-06-07). BEFORE announcing: determine the dominant hemisphere for the job — the matched target skill's PRIMARY lane from the catalog (DECLARED provenance only — an UNCONFIRMED, absent, or TIED lane resolves to the analytical/everything-else brain and NEVER asks; a per-function lane row for the resolved mode wins over the skill-level lane). Read the active model ID from the session system-context line ("The exact model ID is …", strip [1m]/[200k], lowercase). IF the dominant hemisphere's preferred model ≠ the active model → /route is the ONE door allowed to ask: print this and STOP — do NOT announce or dispatch until the user replies. Format: "Lane check — this job is [creative/analytical] work (preferred: [preferred-model-id]), but this session is on [active-model-id]. Route can't switch the model itself — switch by entering /model [preferred-model-id] then type continue, or type continue to proceed as-is." /route can NEVER switch the model itself; only the human /model command can. Off-hemisphere steps inside the dispatched workflow are NOT re-asked — they delegate to lane-pinned excursion agents (the rest on the agents). This single ask covers the WHOLE endeavor: route having ASSESSED the lane this turn IS the coverage signal (whether it asked, matched silently, or was suppressed) — the dispatched skill's own Model-Lane Preflight sees route's coverage and stays silent, as do skills it chains. Headless / non-interactive → skip this clause silently and dispatch. (Route-door ask ONLY; hand-run skills stay advisory-only — the No-Switch-Prompt directive's route-dispatch clause is superseded newest-wins by the 2026-06-07 route-ask directive.)
Bypass detection. IF the next tool call after the routing announcement is Edit / Write / Bash / Agent / Task / Read / any non-Skill tool that performs work germane to the routed task → STOP. This is a dispatch bypass. Print verbatim: "Routing announced but Skill dispatch skipped. Invoking Skill tool now." then issue the Skill call. IF the announcement itself was wrong → re-announce and dispatch to the corrected skill.
Procedure-bypass refusal. Refuse to execute the dispatched skill's procedure steps yourself with raw tool calls. The Skill tool owns that work. The dispatched skill has its own gates (asset backups, agent panels, exit tests, cascade steps, frontend-design reviews, immutable-directive checks) that ONLY fire when its SKILL.md is loaded via Skill. Running the steps manually silently skips every gate.
Follow-up routing. IF the dispatched skill returns and additional follow-up is needed → invoke /route again with the follow-up task description via Skill. Do NOT freelance the next step.
Auto-mode override clause. Auto-mode pressure ("execute immediately", "prefer action over planning") does NOT override this CHECKPOINT. Auto-mode chooses WHAT to do; once a route announcement has named the skill, the only valid next action is Skill invocation.
Catalog discipline. Never invent a skill name, and never invent a function/mode name. The catalog at references/index.md is canonical. Only dispatch to skills present there — except per clause 9(a)'s disk-evidence fallback.
skill-builder dispatch rules (2026-06-06). Skill-management asks (create / modify / audit / optimize a skill) dispatch to /skill-builder like any catalog row, under three hard rules: (a) NEVER dispatch dev — dev mode is reserved for manual, user-typed /skill-builder dev … invocations ONLY. Never synthesize the dev prefix, and never pass one through: IF the routed ask carries a dev token as a skill-builder mode (the ask begins with dev, or requests dev-mode / self-targeted maintenance work) → STOP; do NOT dispatch to skill-builder at all — not even with dev stripped (stripping silently alters the ask). Print verbatim: "Dev mode is reserved for manual invocation. Type /skill-builder dev … yourself." An ask targeting skill-builder ITSELF surfaces skill-builder's Self-Exclusion refusal verbatim; direct user-typed /skill-builder invocation is the always-legal maintenance hatch and never requires routing. (b) Risk tiering: IF the resolved work is high-risk (audit --execute, optimize, route embed, convert, reconcile --execute, strip) AND the active model is not the analytical brain → emit a one-line analytical-brain advisory (NOT clause 2's blocking ask — high-risk skill-builder maintenance never blocks) before dispatch; low-risk additive work (inline, new, skills, list, verify, checksums, lane-status) dispatches on the current model with a one-line advisory. (c) The skill-creation decision belongs to skill-builder: hand the user's VERBATIM ask through — never pre-decide modify-vs-create.
Stop conditions and the no-match ladder. IF the top match is below clear-best confidence OR two skills are tied → STOP before announcing; report the top candidates and ask which to use. IF no catalog row plausibly fits, walk this ladder IN ORDER:
(a) Staleness check: glob .claude/skills/*/SKILL.md; IF a skill file exists on disk whose frontmatter name: exactly matches a plausible candidate missing from the catalog → dispatch to it (the file on disk is the evidence; memory never is) and advise: "stale index — run /skill-builder route index".
(b) Skill-creation ask (the user wants a new capability that should be a skill, or asks to make/build/create one) → offer via AskUserQuestion: modify /[closest-match] / build a new skill / cancel — on either build choice, dispatch the VERBATIM ask to /skill-builder (its intent-router owns the modify-vs-create decision; clause 8 applies).
(c) Plain freeform work (no skill fits, nothing to create): lane-classify the TASK ITSELF — apply the signal vocabulary of .claude/skills/skill-builder/references/model-lanes.md § Advisory Lane Suggestion to the ask. Research signals or AMBIGUOUS resolve to the analytical (everything-else) brain — the default; it never prompts. ONLY clear creative signals run clause 2's ask toward the creative brain. Then proceed with the most direct manual approach and note the gap — the user may want to register a skill.
Decision rules
One skill per call. Route fires ONE skill, not a chain. If the task implies a sequence, dispatch to the first skill and let it consult /route again for follow-ups.
Prefer specific over general. When two skills could handle the task, pick the one with a more specific domain match.
Skip self-routing./route does NOT route to itself. If asked to dump the index, read references/index.md and return it.
Trust the catalog. If a skill is in the index but its description seems wrong, route by what the catalog says — the user can run /skill-builder route index to refresh.
Routing is preferred, never mandatory. Hand-running any skill directly (/skill-name …) is always fine — every lane-declared skill carries its own slim Model-Lane Preflight, so hand-runs stay lane-aware without the door. Direct /skill-builder invocation is the always-legal maintenance hatch; recovery from a broken index or a damaged /route never depends on routing.
Grounding
references/index.md — auto-generated catalog of installed skills. Regenerate with /skill-builder route index.