Router
Use this guide when a skill isn't being selected the way you expect, or when you want to understand how the router matches a request to a skill. It covers where the routing table lives for each tool, the match and load sequence, and how to disambiguate or name a skill directly when more than one could fit.
Where it lives
| Format | Router file |
|---|---|
| Source of truth | skills/CLAUDE.md |
| Cursor | cursor/rules/00-router.mdc (alwaysApply: true) |
| Codex | codex/AGENTS.md |
| Claude Code / Gemini | loaded from the source via the plugin/extension |
The system generates all forms from skills/CLAUDE.md.
Additional Resource Refer to the Architecture documentation for details.
How routing works
- You make a request in natural language.
- The agent reads the routing table (always loaded for full-bundle installs).
- It matches your intent to the best-fitting row.
- It loads that skill's SKILL.md and follows it, including reading any references/ the task needs.
You don't have to name a skill. You can specify one directly (for example, "use the Data Modeling skill…").
The routing table
Each row maps the user's intent to a specific skill. Abbreviated:
| When the user asks about… | Skill |
|---|---|
| Brand Kit, Voice Profiles, Knowledge Vault, on-brand AI generation | Brand Kit Assistant |
| Migrating/porting from Contentful to Contentstack | Migration Companion |
| Migrating Delivery SDK code from JavaScript to TypeScript | Migrate JS to TS SDK |
| Delivery SDK code, queries, Live Preview setup, SSR preview | Delivery SDK |
| Designing or refactoring content models | Data Modeling Best Practices |
| Debugging Live Preview or Visual Builder | Live Preview & Visual Builder Support |
| Fetching entries, CDA queries, pagination, bulk ops | Entries |
| Uploading, transforming, delivering assets | Assets |
| Classifying content, category hierarchies | Taxonomy |
| Workflow stages, approvals, publish rules | Workflows & Publish Rules |
| Environments, publishing, delivery/preview tokens, Sync API | Environments & Publishing |
| Languages, fallback chains, localization | Localization |
| Branches, aliases, CI/CD, deployment strategy | Branches & Aliases |
| Roles, permissions, teams, token capabilities | Roles & Permissions |
| Deploying multiple content changes together, campaigns | Releases |
| Authentication, token types, API keys, rate limits, SSO | Tokens & Authentication |
| Webhooks, event channels, payloads, signatures | Webhooks |
| Matching a Launch env to .env.example | Sync Launch env vars |
| Triggering and monitoring Launch deployments | Trigger and Monitor Deployments |
| Personalization, A/B testing, audience segmentation, variants | Variants & Personalization |
| Building a Developer Hub or Marketplace app | Developer Hub App Architect |
The full, authoritative table is in skills/CLAUDE.md and the skills reference.
When multiple skills fit
Many real tasks span skills.
For example, "deploy a campaign of 50 entries without my site rebuilding hundreds of times" touches the following skills:
- Releases: Deploys all changes as a single atomic operation
- Webhooks: Prevents the flood of rebuilds those webhook events trigger.
The agent routes to the primary skill and reads cross-referenced skills as needed. Skills include explicit cross-references for this purpose.
Disambiguating
Some routes prompt for clarification first. Localization, for instance, behaves differently for the editorial UI versus CDA delivery, so the skill clarifies which you mean before answering. This is by design.
Additional Resource Refer to the Skill Anatomy documentation for details.