/skill-router
Help users discover available skills and help Claudia pick the right one when a request is ambiguous. Two surfaces: discovery (user says "what can you do?", "/skills", "show me your skills") returns a categorized list; disambiguation (user's request matches 2+ skills) names the
$ npx -y skills add kbanc85/claudia --skill skill-router --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ
- You can call itInvoke it directly when you want it.
- Slash command
/skill-router
Context preview
The summary Claude sees to decide when to auto-load this skill.
Help users discover available skills and help Claudia pick the right one when a request is ambiguous. Two surfaces: discovery (user says "what can you do?", "/skills", "show me your skills") returns a categorized list; disambiguation (user's request matches 2+ skills) names the
SKILL.md
skill-router.SKILL.mdname: skill-router
description: Help users discover available skills and help Claudia pick the right one when a request is ambiguous. Two surfaces: discovery (user says "what can you do?", "/skills", "show me your skills") returns a categorized list; disambiguation (user's request matches 2+ skills) names the candidates and proceeds with the canonical one. Use when user asks about Claudia's capabilities, requests something ambiguous between adjacent skills, or seems unsure which skill they need.
effort-level: low
invocation: contextual
Skill Router
Two jobs: help the user find the skill they need, and help me (Claudia) pick the right skill when their request straddles two or more.
Why this exists
The shipped catalog has ~42 user-facing skills. Two common failure modes:
1. **Users don't know what's available.** They type "morning brief" because they've seen `/morning-brief` somewhere, but they don't know `/inbox-check`, `/pipeline-review`, or `/what-am-i-missing` exist. Friction. 2. **Ambiguous requests fire the wrong skill.** "Summarize this" could be `summarize-doc`, `capture-meeting`, or `file-document` depending on what comes next. I sometimes pick the wrong one, the user gets the wrong output, both of us waste a turn.
This skill addresses both.
Surface 1: Discovery
When the user says "what can you do?", "/skills", "show me your skills", "list commands", "what skills do you have":
Respond with a categorized list. Keep it scannable:
**๐ Daily flow**
- /morning-brief start-of-day digest
- /inbox-check email triage across configured accounts
- /meeting-prep [person] one-page brief before a call
- /capture-meeting process meeting notes after a call
- /follow-up-draft draft a post-meeting thank-you
**๐ Reviews & reflection**
- /weekly-review end-of-week reflection
- /growth-check monthly or quarterly self-development
- /what-am-i-missing overdue, cooling, blind-spot sweep
**๐ผ Pipeline & business**
- /pipeline-review active opportunities + stalled items
- /client-health health check across active clients
- /financial-snapshot revenue, expenses, cash position
**๐ Knowledge & memory**
- /memory-audit what I know about an entity
- /memory-health memory system stats
- /wiki write or update a synthesized wiki page
- /map-connections extract relationships across files
- /deep-context full-context analysis for important decisions
**โ๏ธ Drafting**
- /draft-reply general email response
- /summarize-doc executive summary of a document
- /auto-research iterate on a draft until it scores well
**๐ Setup**
- /new-person create a relationship file
- /new-workspace new project or client workspace
- /file-document save a document with entity links
- /ingest-sources batch-process multiple sources
- /diagnose troubleshoot memory connectivity
Don't list every skill. List the ones a user is most likely to invoke directly. Internal skills (proactive ones like `commitment-detector`, `pattern-recognizer`, `risk-surfacer`) fire on their own and don't need to be in the discovery list.
If the user asks `/skills <topic>` or "what skills are about <topic>", filter the list to skills whose names or descriptions match, and explain the cluster. Example for `/skills meeting`:
Three skills for meetings, in order of when they fire:
- /meeting-prep [person] โ before the call (one-page brief)
- /capture-meeting โ during or after (process notes)
- /follow-up-draft โ after (post-meeting email)
Surface 2: Disambiguation
When the user's request matches 2+ skills, name the candidates briefly and proceed with the canonical one. Don't make the user choose; choose for them, and tell them what you chose.
How to detect ambiguity
A request is ambiguous when:
- The trigger phrase appears in 2+ skill descriptions
- The request is in one of the known overlap clusters (see references/overlap-clusters.md)
- The artifact type is ambiguous (a "transcript" could be a meeting transcript โ `capture-meeting`, or a research interview โ `ingest-sources`, or just a generic document โ `file-document`)
How to disambiguate
Pattern: "Sounds like X or Y. I'll do X. Say so if you wanted Y."
Examples:
> User: "Help me draft a follow-up" > Claudia: "Sounds like either `draft-reply` (general response) or `follow-up-draft` (post-meeting thank-you with meeting context). Was this from a call we had? If yes, `follow-up-draft`; if not, `draft-reply`. Defaulting to `follow-up-draft` since you said 'follow-up'."
> User: "Summarize this meeting" > Claudia: "I'll use `capture-meeting` (extracts decisions, commitments, blockers from meeting notes). If you wanted a one-shot prose summary without filing as memories, say `summarize-doc` instead."
> User: "What's going on?" > Claudia: "Default for that phrasing is `morning-brief`. Was that what you wanted, or did you mean `/what-am-i-missing` (risks and gaps), `pipeline-review` (deal status), or just an answer about a specific entity? Going with `morning-brief`."
The pattern: pick the canonical, name the alternative, run.
When NOT to disambiguate
- The request is unambiguous. Don't manufacture options.
- The user has been specific. "Draft a reply to this email" is `draft-reply`, no need to mention `follow-up-draft`.
- The disambiguation explanation would be longer than the actual response. For short tasks, just do the canonical thing and let the user redirect.
Overlap clusters (the canonical map)
See `references/overlap-clusters.md` for the full map. The clusters I check most often:
| Cluster | Canonical | Adjacent | |---------|-----------|----------| | Outbound messages | `draft-reply` (general), `follow-up-draft` (post-meeting) | `inbox-check` (triage before drafting) | | Memory views | `memory-audit` (content), `memory-health` (syste
Read more
name: skill-router description: Help users discover available skills and help Claudia pick the right one when a request is ambiguous. Two surfaces: discovery (user says "what can you do?", "/skills", "show me your skills") returns a categorized list; disambiguation (user's request matches 2+ skills) names the candidates and proceeds with the canonical one. Use when user asks about Claudia's capabilities, requests something ambiguous between adjacent skills, or seems unsure which skill they need. effort-level: low invocation: contextual
Skill Router
Two jobs: help the user find the skill they need, and help me (Claudia) pick the right skill when their request straddles two or more.
Why this exists
The shipped catalog has ~42 user-facing skills. Two common failure modes:
1. **Users don't know what's available.** They type "morning brief" because they've seen `/morning-brief` somewhere, but they don't know `/inbox-check`, `/pipeline-review`, or `/what-am-i-missing` exist. Friction. 2. **Ambiguous requests fire the wrong skill.** "Summarize this" could be `summarize-doc`, `capture-meeting`, or `file-document` depending on what comes next. I sometimes pick the wrong one, the user gets the wrong output, both of us waste a turn.
This skill addresses both.
Surface 1: Discovery
When the user says "what can you do?", "/skills", "show me your skills", "list commands", "what skills do you have":
Respond with a categorized list. Keep it scannable:
**๐ Daily flow** - /morning-brief start-of-day digest - /inbox-check email triage across configured accounts - /meeting-prep [person] one-page brief before a call - /capture-meeting process meeting notes after a call - /follow-up-draft draft a post-meeting thank-you **๐ Reviews & reflection** - /weekly-review end-of-week reflection - /growth-check monthly or quarterly self-development - /what-am-i-missing overdue, cooling, blind-spot sweep **๐ผ Pipeline & business** - /pipeline-review active opportunities + stalled items - /client-health health check across active clients - /financial-snapshot revenue, expenses, cash position **๐ Knowledge & memory** - /memory-audit what I know about an entity - /memory-health memory system stats - /wiki write or update a synthesized wiki page - /map-connections extract relationships across files - /deep-context full-context analysis for important decisions **โ๏ธ Drafting** - /draft-reply general email response - /summarize-doc executive summary of a document - /auto-research iterate on a draft until it scores well **๐ Setup** - /new-person create a relationship file - /new-workspace new project or client workspace - /file-document save a document with entity links - /ingest-sources batch-process multiple sources - /diagnose troubleshoot memory connectivity
Don't list every skill. List the ones a user is most likely to invoke directly. Internal skills (proactive ones like `commitment-detector`, `pattern-recognizer`, `risk-surfacer`) fire on their own and don't need to be in the discovery list.
If the user asks `/skills <topic>` or "what skills are about <topic>", filter the list to skills whose names or descriptions match, and explain the cluster. Example for `/skills meeting`:
Three skills for meetings, in order of when they fire: - /meeting-prep [person] โ before the call (one-page brief) - /capture-meeting โ during or after (process notes) - /follow-up-draft โ after (post-meeting email)
Surface 2: Disambiguation
When the user's request matches 2+ skills, name the candidates briefly and proceed with the canonical one. Don't make the user choose; choose for them, and tell them what you chose.
How to detect ambiguity
A request is ambiguous when:
- The trigger phrase appears in 2+ skill descriptions
- The request is in one of the known overlap clusters (see references/overlap-clusters.md)
- The artifact type is ambiguous (a "transcript" could be a meeting transcript โ `capture-meeting`, or a research interview โ `ingest-sources`, or just a generic document โ `file-document`)
How to disambiguate
Pattern: "Sounds like X or Y. I'll do X. Say so if you wanted Y."
Examples:
> User: "Help me draft a follow-up" > Claudia: "Sounds like either `draft-reply` (general response) or `follow-up-draft` (post-meeting thank-you with meeting context). Was this from a call we had? If yes, `follow-up-draft`; if not, `draft-reply`. Defaulting to `follow-up-draft` since you said 'follow-up'."
> User: "Summarize this meeting" > Claudia: "I'll use `capture-meeting` (extracts decisions, commitments, blockers from meeting notes). If you wanted a one-shot prose summary without filing as memories, say `summarize-doc` instead."
> User: "What's going on?" > Claudia: "Default for that phrasing is `morning-brief`. Was that what you wanted, or did you mean `/what-am-i-missing` (risks and gaps), `pipeline-review` (deal status), or just an answer about a specific entity? Going with `morning-brief`."
The pattern: pick the canonical, name the alternative, run.
When NOT to disambiguate
- The request is unambiguous. Don't manufacture options.
- The user has been specific. "Draft a reply to this email" is `draft-reply`, no need to mention `follow-up-draft`.
- The disambiguation explanation would be longer than the actual response. For short tasks, just do the canonical thing and let the user redirect.
Overlap clusters (the canonical map)
See `references/overlap-clusters.md` for the full map. The clusters I check most often:
| Cluster | Canonical | Adjacent | |---------|-----------|----------| | Outbound messages | `draft-reply` (general), `follow-up-draft` (post-meeting) | `inbox-check` (triage before drafting) | | Memory views | `memory-audit` (content), `memory-health` (syste
Terminal-based AI chief of staff. Remembers relationships, tracks commitments, helps you think strategically. Runs on Claude Code.
Repo: kbanc85/claudia
Other skills on claudia.
- /auto-research
Iteratively improve a local artifact (draft, document, page) by running a hill-climbing loop. The user names the artifact, the evaluator, and the budget. Claudia edits the artifact, scores it, keeps it if better or reverts if worse, repeats. Use when user says "iterate on this",
Open skill - /brain-monitor
Launch the Brain Monitor TUI, a real-time terminal dashboard for watching Claudia's memory system. Triggers on "brain monitor", "show dashboard", "memory dashboard", "terminal brain". See also: `brain` for a 3D graph view in the browser.
Open skill - /brain
Launch the Brain Visualizer, a real-time 3D view of memory and relationships. Triggers on "show your brain", "visualize memory", "open the brain", "memory graph". See also: `brain-monitor` for a terminal dashboard alternative.
Open skill - /build-team
Propose a personalized team of specialized agents based on the user's profile, goals, and how they actually work. Runs the proposal through an independent Checker, gates on the user's approval, and applies with rollback. Use when the user says "build my team", "set up my
Open skill - /capture-meeting
Process meeting notes or transcript to extract decisions, commitments, and insights. Use when user shares transcript or says "capture this meeting", "here are my notes from the call". See also: `meeting-prep` for pre-call briefings; `follow-up-draft` for post-meeting emails.
Open skill - /client-health
Health check across active client engagements showing status, deliverables, and concerns. Triggers on "how are my clients?", "client status", "client health check".
Open skill

