Classify user requests and route them to the most appropriate skill, command, or specialized agent.
When to Use
- User asks which skill to use or how to route a request
- Need to determine which skill handles a given task
- Multiple skills could handle a request and disambiguation is needed
- Even if they just say "which skill should I use" or "route this"
Classification Workflow
1. Intent Extraction
- Parse the user's natural language request
- Identify primary action (create, update, delete, analyze, etc.)
- Extract entities (file paths, technologies, specific terms)
2. Skill Matching
- Compare against available skills catalog
- Score match confidence for each candidate
- Consider skill descriptions and keywords
3. Route Decision
- Select highest-confidence match
- Handle ties and ambiguous cases
- Fall back to general assistance if no match
Classification Rules
Priority Order
- Exact keyword match - Skill description contains exact phrase
- Domain match - Technology stack alignment
- Action match - Verb/action alignment
- Context match - File paths, extensions, surrounding context
Confidence Scoring
High (0.8-1.0): Exact description match, multiple keyword hits
Medium (0.5-0.7): Partial match, related domain
Low (0.3-0.4): Weak match, shared keywords only
None (<0.3): No relevant match
Multi-Intent Handling
When a request contains multiple intents:
- Sequential - Chain skills in dependency order
- Parallel - Execute independent skills simultaneously
- Composite - Use parent skill that orchestrates sub-skills
Fallback Strategies
| Confidence | Action |
|---|---|
| > 0.7 | Execute primary skill |
| 0.5 - 0.7 | Execute skill with confirmation |
| 0.3 - 0.5 | Present top 2-3 options to user |
| < 0.3 | Use general assistance |
Dynamic Catalog
Update the skill catalog using:
./scripts/dynamic-catalog.sh
This scans .agents/skills/ and regenerates the skill registry with:
- Skill names and descriptions
- Keywords extracted from descriptions
- Compatibility requirements
Skill Selection Examples
| User Request | Primary Intent | Routed Skill |
|---|---|---|
| "Create a new skill for Docker" | Skill creation | skill-creator |
| "Audit my code for security issues" | Security audit | security-code-auditor |
| "Design a REST API for users" | API design | api-design-first |
| "Fix this bug in my Python script" | Code debugging | (general) |
See Also
skill-creator— Create and improve skillsskill-evaluator— Evaluate and score skillsgoap-agent— Orchestrator for complex multi-step tasks
Rationalizations
| Rationalization | Reality |
|---|---|
| "I can just pick a skill manually" | Systematic classification ensures the best-matched skill is used and prevents overlooking specialized alternatives. |
| "Close enough is fine, I'll just pick the first match" | Low-confidence matches lead to wrong workflows and wasted tokens; present options when uncertain. |
Red Flags
- Routing to a skill without checking confidence score
- Ignoring multi-intent requests that require chaining skills
- Failing to update the dynamic catalog after adding new skills
References
references/classification-rules.md- Detailed classification algorithmreferences/skill-catalog.md- Auto-generated skill registryreferences/workflow-patterns.md- Multi-skill orchestration patterns
Voice & Context
- Default:
professional+blog - Reference:
voice-profilesskill for definitions and auto-detection.