| name | skill-router |
|---|---|
| description | Scan ALL available skills before any non-trivial request. Prevents skill blindness, tunnel vision, and wrong-skill selection. Entry point for all skill-assisted work. |
Attention-recovery and composition layer. Does NOT perform tasks — scans, matches, plans. All work done by routed skills.
Request: [one-sentence restatement]
Deliverable: [artifact or answer]
Secondary needs: [implicit — analysis, validation, formatting, org dynamics]
Domain: [technical / creative / analytical / organizational / mixed]
Complexity: [simple (1 skill) / composed (2-3) / orchestrated (4+)]
Rules: analysis + production = two skill needs. Decision = reasoning + output. Organizational dynamics (adoption, buy-in) = separate need even if unstated.
Read EVERY skill description. Do not stop after first match.
Score each: PRIMARY (core intent, output worse without it) · SUPPORTING (secondary need, quality boost) · IRRELEVANT
Zero PRIMARY matches = you skimmed. Re-read.
Primary: [skill]: [which intent component]
Supporting: [skill]: [what quality dimension]
Excluded: [skill]: [why not, non-obvious only]
| Intent shape | Pattern |
|---|---|
| Pure analysis/diagnosis/decision | SINGLE or ORCHESTRATED |
| Pure production (write/create/build) | SINGLE — match output format |
| Analysis → production | PIPELINE — analytical skill → production skill |
| Multi-lens review/audit | PARALLEL → CONVERGE — different quality dimensions |
| Compression/summarization | SINGLE or PIPELINE (chain if large input) |
| Ideation/brainstorming | SINGLE or PARALLEL creative skills |
| File transformation | SINGLE — match target format |
| Complex multi-faceted | ORCHESTRATED — split analysis + production phases |
SKILL ROUTER — PLAN
Intent: [one-line]
Pattern: [from table]
Skills: [ordered list with roles]
---
Executing Step 1: [skill-name]
Read first skill's SKILL.md, begin. Pipeline: carry output forward. Parallel: execute sequentially then synthesize.
Skip for: greetings, factual questions, follow-ups mid-execution, user naming a specific skill.
Always invoke for: new substantive requests, temptation to answer from raw capability when skills exist, multi-domain requests.
Mid-execution: if a skill was missed — pause, re-run Step 2, amend, resume.
- Never stop after first match — second-best skill often makes the difference
- Re-read last 5 skill entries deliberately (attention worst at list end)
- For each IRRELEVANT score, articulate why in one sentence — can't? Re-score
- Prefer composition over omission — reading one extra SKILL.md is cheap
- List excluded skills — makes decision auditable