skill-routing
Skill9 starsChanged 5 months agoMITView on GitHub
Claude Code's architecture already solves the "50,000 skills" problem: When MCP servers exceed ~10% of context: CLAUDE.md stays under 2K tokens. Skills are the overflow valve — anything too detailed for CLAUDE.md becomes a skill. Claude discovers skills by name/description and loads them when needed. This means CLAUDE.md can reference 50 skills at ~70 tokens each (3,500 tokens of metadata) while actual skill content (potentially 100K+ tokens total) loads only on demand.
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Level 1 (startup): Only YAML frontmatter loaded (~70-100 tokens per skill).
- Distinctive: line 21
When MCP servers exceed ~10% of context:
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill Routing — Progressive Disclosure for Large Skill Libraries
How Skills Scale Without Bloating Context
Claude Code's architecture already solves the "50,000 skills" problem:
Three-Level Loading
- Level 1 (startup): Only YAML frontmatter loaded (~70-100 tokens per skill). Claude sees name + description.
- Level 2 (on-demand): Full SKILL.md content loaded when Claude determines the skill is relevant.
- Level 3 (supporting files): Additional files loaded only when the skill explicitly references them.
Rules for Progressive Disclosure
.claude/rules/files use glob patterns — loaded ONLY when matching files are touched.- Example:
typescript.mdwithpaths: ["*.ts", "*.tsx"]only loads when editing TypeScript. - This means you can have 100 rules and Claude only sees the 2-3 relevant ones.
MCP Tool Search
When MCP servers exceed ~10% of context:
- Enable:
ENABLE_TOOL_SEARCH=auto:5(5% threshold) - Effect: Tool schemas loaded on demand instead of upfront
- Supported on Sonnet 4+, Opus 4+
Skill Organization Pattern
.claude/skills/
├── architect/SKILL.md ← System design (loaded when planning)
├── loop-create/SKILL.md ← Agent scaffolding (loaded when creating .loop)
├── sprint/SKILL.md ← Sprint planning (loaded when planning work)
├── test-visual/SKILL.md ← Browser testing (loaded when testing UI)
├── harness-review/SKILL.md ← Harness audit (loaded when reviewing quality)
├── deep-think/SKILL.md ← Reasoning (loaded for complex problems)
├── self-improve/SKILL.md ← Meta-improvement (loaded for optimization)
├── integrate-resources/SKILL.md ← Knowledge processing (loaded for resources)
└── skill-routing/SKILL.md ← THIS FILE (loaded when discussing skill management)Key Principle
CLAUDE.md stays under 2K tokens. Skills are the overflow valve — anything too detailed for CLAUDE.md becomes a skill. Claude discovers skills by name/description and loads them when needed. This means CLAUDE.md can reference 50 skills at ~70 tokens each (3,500 tokens of metadata) while actual skill content (potentially 100K+ tokens total) loads only on demand.
When to Create a New Skill vs. a New Rule
- Skill: Reusable workflow invoked by name. Example:
/architectfor system design. - Rule: Context-specific instructions activated by file pattern. Example: "When editing *.test.ts, always use Vitest."
- Command: User-facing shortcut. Example:
/startloads context. - Hook: Automated action on lifecycle event. Example: format code after write.
Other versions4 projects use a version of this.
Word for word · 2
- naman10parikh/pixel★ 0100% same
- naman10parikh/turbo★ 0100% same
Edited · 0
None found.
Wrote their own version · 2
- i-9-ai/skills★ 0same name
- Kirchlive/skill-routing★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- agentgrid-orchestrateSkill
- agentgrid-sessionsSkill
- agentgridSkill
- agent-runtimeSkill
- frontend-designSkill
- architectSkill
- deep-thinkSkill
- design-systemsSkill
- ecosystem-referenceSkill
- fractal-delegationSkill
- harness-reviewSkill
- heartbeatSkill
- integrate-resourcesSkill
- llm-council-critiqueSkill
- loop-createSkill
- mcp-setupSkill
- memory-compressionSkill
- memorySkill
- model-routingSkill
- oss-project-scaffoldSkill
- playwright-cliSkill
- repo-scoutSkill
- self-improveSkill
- skill-creatorSkill
- sprintSkill
- test-visualSkill
- troubleshootSkill
- ux-auditSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

