Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use this skill when dispatching implicit slash-command intent from the user's first message. Inspects the user's first message for implicit slash-command intent and dispatches to the highest-confidence matching entry-point skill via the Skill tool. Only active when `auto-skill-dispatch: true` in Session Config. Silent no-op otherwise.
.claude/skills/hashgraph-online-using-orchestrator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 130% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 266% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 96% | 0% |
> Project-instruction file resolution: CLAUDE.md and AGENTS.md (Codex CLI) are transparent aliases — see skills/_shared/instruction-file-resolution.md. Wherever this skill mentions CLAUDE.md, the alias rule applies.
> Internal dispatch meta-skill. Never invoked directly by the user. Called by entry-point > skills once after the bootstrap gate opens, before their Phase 1, when > auto-skill-dispatch: true is set in Session Config.
This skill is opt-in and off by default. Check the Session Config flag before any action:
yaml# CLAUDE.md (or AGENTS.md on Codex CLI) — Session Config default auto-skill-dispatch: false
When the flag is false (or absent), this skill MUST return immediately without reading any messages, without logging, and without side effects. The calling skill continues to its own Phase 1 as if this skill was never invoked.
When the flag is true, proceed with the dispatch algorithm below.
When auto-skill-dispatch: false: do nothing. Return silently. This is the shipped default. Zero behavior change for all existing call sites.
is the earliest human turn in the session — the message that triggered the skill chain.
matching. Compute a confidence score for each candidate skill (see "Confidence Scoring").
routing normally.
Skill tool to thattarget's entry point. Do not ask the user.
< 0.15: disambiguate via AskUserQuestion (see "AUQ Disambiguation" below) before dispatching. Never silently pick one — see Anti-Patterns.
Skill tool invocation to the target skill's SKILL.md. Passthe original user message as context. Do not re-interpret or rewrite the message.
When two or more candidates score ≥ 0.85 with delta < 0.15, call AskUserQuestion per .claude/rules/ask-via-tool.md (AUQ-003):
jsAskUserQuestion({ questions: [{ question: "Your message matches multiple workflows. Which one did you mean?", header: "Skill Dispatch", multiSelect: false, options: [ { label: "<top-skill display name> (Recommended)", description: "<one-line description of what it does>" }, { label: "<second-skill display name>", description: "<one-line description>" } ] }] })
List candidates in descending confidence order. Mark the highest-confidence match (Recommended). Wait for the user's selection before dispatching.
Case-insensitive. Partial matches score lower than exact matches (see Confidence Scoring).
| Phrase | Lang | Target Skill | Sample User Message | |--------|------|--------------|---------------------| | /plan new | EN | skills/plan/SKILL.md (mode: new) | "/plan new — Zahlungsintegration" | | plan new project | EN | skills/plan/SKILL.md (mode: new) | "plan a new project for the dashboard" | | plane neues Projekt | DE | skills/plan/SKILL.md (mode: new) | "plane neues Projekt: API-Gateway" | | /plan feature | EN | skills/plan/SKILL.md (mode: feature) | "/plan feature export to PDF" | | plan a feature | EN | skills/plan/SKILL.md (mode: feature) | "I want to plan a feature for bulk import" | | feature planen | DE | skills/plan/SKILL.md (mode: feature) | "feature planen: Webhook-Notifications" | | run retro | EN | skills/plan/SKILL.md (mode: retro) | "run retro for last sprint" | | retrospektive | DE | skills/plan/SKILL.md (mode: retro) | "retrospektive vom letzten Sprint" | | /session deep | EN/DE | skills/session-start/SKILL.md | "/session deep #321 #327" | | session deep | EN/DE | skills/session-start/SKILL.md | "deep session — backlog cluster #327-#330" | | /session feature | EN/DE | skills/session-start/SKILL.md | "/session feature auth-refactor" | | session feature | EN | skills/session-start/SKILL.md | "session feature: add OAuth2 support" | | /session housekeeping | EN/DE | skills/session-start/SKILL.md | "/session housekeeping" | | session beenden | DE | skills/session-end/SKILL.md | "session beenden, alle Issues erledigt" | | wrap up session | EN | skills/session-end/SKILL.md | "wrap up session — push and close" | | /close | EN/DE | skills/session-end/SKILL.md | "/close" | | /discovery | EN/DE | skills/discovery/SKILL.md | "/discovery all" | | run discovery | EN | skills/discovery/SKILL.md | "run discovery on the backlog" | | /discovery starten | DE | skills/discovery/SKILL.md | "/discovery starten — vault + arch" | | /evolve | EN/DE | skills/evolve/SKILL.md | "/evolve learnings" | | evolve learnings | EN | skills/evolve/SKILL.md | "evolve learnings from this session" | | evolve learnings | DE | skills/evolve/SKILL.md | "evolve learnings — vault-sync entries" | | /bootstrap | EN/DE | skills/bootstrap/SKILL.md | "/bootstrap --retroactive" |
Each candidate skill is scored against the user's first message using this scale:
| Match Type | Score | |------------|-------| | Exact phrase match (slash-command, verbatim) | 0.95 | | Exact phrase match (natural-language, verbatim) | 0.90 | | Partial match — phrase found as a substring | 0.60 | | Semantic near-miss (not codified in phrase map) | 0.40 |
Dispatch threshold: 0.85. Only scores ≥ 0.85 trigger auto-dispatch or AUQ.
Disambiguation delta: when the top two candidate scores differ by < 0.15, use AUQ before dispatching. When the delta is ≥ 0.15, dispatch to the top-scoring skill without asking.
Scores below 0.85 are silently discarded. The calling skill handles routing via its own Phase 1 logic.
candidates, AUQ is mandatory. Picking the "more likely" one without asking is a bug.
.claude/rules/ask-via-tool.mdapplies: every routing decision the user should control goes through the tool.
it is noise. Let the calling skill handle the message normally.
the original text so the target skill can apply its own parsing.
auto-skill-dispatch: false. Check the flag first, every time.There is no "probably fine to run anyway" path.
Other measured skills in the registry, with their headline benchmark lift.