model-migration
Migrate an app's code, config and prompts to a newer model generation for any provider: inventory model ids, update ids and parameters (effort, thinking budget, limits, retired fields), tune prompts for more literal models, compare before and after.
Reference
| Field | Value |
|---|---|
| Name | model-migration |
| Version | 1.0.0 |
| Category | Development |
| Licence | Not declared |
| Source | catalog/navin/builtin_plugins/model-migration/plugin.json |
| README | catalog/navin/builtin_plugins/model-migration/README.md |
| Digest | sha256:6de8e14cd27e3bd9c11ef639f547dd74dd9746d4b9f15f6c96fd360649244080 |
| plugin.json | agents, category, commands, description, name, skills, steps, version |
Commands
| Name | Arguments | Description |
|---|---|---|
/migrate-model | [target model or provider] [paths] | Migrate this app's code, config and prompts to a newer model generation, with a before/after comparison |
Agents
The plugin declares no agent.
Skills
| Name | Description |
|---|---|
| model-migration | Migrates an application's code, configuration and prompts from one model generation to a newer one, for any provider (OpenAI, Gemini, Mistral, open-weight models, frontier model families). Finds every model id, updates ids and request parameters (reasoning effort, thinking budget, max tokens, temperature limits, deprecated fields), then tunes prompts for models that follow instructions more literally, and compares outputs before and after. |
Hooks, MCP servers and settings
plugin.json declares no hook, no MCP server and no setting: the plugin is made of the components above only.
Workflow
| Step | Use |
|---|---|
| run the whole migration as one guided command | /migrate-model |
| inventory model ids and parameters, pick targets, record a baseline | skill:model-migration |
| update ids and parameters, re-run the baseline and compare | skill:model-migration |
| tune prompts only for the regressions observed | skill:model-migration |
Enable it in a project
Activating model-migration creates 3 activations in the project: the plugin itself, 1 skill and 1 command. Removing the plugin activation removes them all.
curl -X POST <control-plane-url>/v1/projects/<project>/navin-library/activations \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"kind": "plugin", "name": "model-migration"}'
<project>: id or slug of the project. <token>: API key with the editor role on the project.
client.navin_library.activate("<project>", "plugin", "model-migration")