Skip to content
Productivity
Skill

/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)

From plugin
claudia
30135 skills6 agents

Claude Code

$ npx -y skills add kbanc85/claudia --skill skill-router --agent claude-code

SKILL.md

skill-router.SKILL.md
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

Read more
@kbanc85
Ships withclaudia

Terminal-based AI chief of staff. Remembers relationships, tracks commitments, helps you think strategically. Runs on Claude Code.

30135 skills6 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
301
Star history of kbanc85/claudia on GitHub, a chart by star-history.com

Other skills on claudia.

build-team

build-team

Propose and, after approval, configure a personalized team of Codex subagent roles based on the user's profile, goals, and…

@kbanc85@kbanc85Install Skill
claudia-core

claudia-core

Use Claudia's identity, persistent local memory, relationship context, project routing, judgment rules, and strategic operating…

@kbanc85@kbanc85Install Skill
databases

databases

Inspect Claudia's unified production memory database and backups. Use for database identity, health, counts, schema, WAL, backup…

@kbanc85@kbanc85Install Skill
onboarding

onboarding

Run Claudia's required first-conversation setup. Use automatically before substantive work whenever the current Claudia workspace…

@kbanc85@kbanc85Install Skill
auto-research

auto-research

Iteratively improve a local artifact (draft, document, page) by running a hill-climbing loop. The user names the artifact, the…

@kbanc85@kbanc85Install Skill
brain-monitor

brain-monitor

Launch the Brain Monitor TUI, a real-time terminal dashboard for watching Claudia's memory system. Triggers on \"brain monitor\",…

@kbanc85@kbanc85Install Skill

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about skill-router.

Which coding agents can use skill-router?
skill-router installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.