Migration from Plugins
Move from plugins to skills at your own pace
The plugins field was the original way to attach capabilities. Skills replace it with three distinct classes: built-in managed skills, schema bundles, and remote webhooks. The plugins field continues to work — TheRouter maps it to the new system internally.
Field mapping
Before (plugins)
{
"model": "anthropic/claude-sonnet-4.5",
"messages": [{ "role": "user", "content": "Summarize recent AI news." }],
"plugins": [{ "id": "web" }, { "id": "response-healing" }]
}Both fields are accepted, but you cannot use plugins and skills in the same request — this returns a 400 error.
New skill classes
- managed_builtin — TheRouter-managed capabilities (
web,file-parser,response-healing). No setup required. - schema_bundle — reusable tool definitions created via
POST /v1/customer/skills. - remote_webhook (coming soon) — skills hosted in your infrastructure, called via signed HTTPS.
skill-classes.json
// Built-in: reference by well-known ID
{ "id": "web" }
// Schema bundle: reference your stored bundle
{ "id": "sk_abc123" }
// Remote webhook: reference after registering endpoint
{ "id": "sk_webhook_456" }Migration checklist
- Search your codebase for
"plugins":in API request bodies - Replace
pluginswithskillsin each call site - If you passed custom tool arrays, create a schema bundle and reference by ID
- Test one endpoint before rolling out across services
Non-breaking migration
The
plugins field is still fully supported. Migrate incrementally — update one service at a time with no coordination required.