Answers from the documentation; checking which model is on duty
Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
migration - Skill - OpenSmartRoute
Skillv1.0.0
migration
How to change the database schema safely — Alembic, expand-then-contract, row-level security, timeouts, backfills. Use for any schema change.
Imported from notanaskhan/abacus (.claude/skills/migration/SKILL.md). Install upstream with npx skills add notanaskhan/abacus --skill migration. Copyright stays with the author.
Migration pattern
Create a new revision; never edit an applied one (ADR-015).
New tables: tenant_id NOT NULL, enable and force row-level security, add the policy, grant only needed privileges to the application role (ADR-014).
Immutable tables: no UPDATE or DELETE privilege for the application role (ADR-004).
Destructive changes use expand-then-contract across deploys (ADR-091).
Indexes created concurrently; lock and statement timeouts set.
Large backfills run as throttled Temporal workflows, not in the migration (ADR-091).
Run make check: upgrade and downgrade against real Postgres, migration linter, schema check.
Use it
Copy one of these into your project. Installing also returns the manifest and these snippets.
# after Install: the listing is in your workspace's routing pool - a plan picks it for its slotcurl-s-X POST https://api.opensmartroute.ai/api/v1/route -H 'Authorization: Bearer $OSR_API_KEY' -H 'Content-Type: application/json' -d '{"text": "...", "plan": true}'
Installed into a catalogue, chosen by a router
Install migration and it becomes one more candidate the router can pick - when it fits.
A listing is a routing target with a manifest: what it does, which domains it covers, what it costs and who publishes it. Once installed it sits beside your own models and tools, is scored like any other candidate for each request, and shows up in the trace when it wins. Ratings come from workspaces that installed it, one per account.
When a provider is down or over quota the request moves on; the trace says it did.
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.
notanaskhan-abacus-migration.ocm.jsonjson
{
"ocm": "1",
"id": "notanaskhan-abacus-migration",
"kind": "skill",
"name": "migration",
"description": "How to change the database schema safely — Alembic, expand-then-contract, row-level security, timeouts, backfills. Use for any schema change.",
"publisher": "notanaskhan",
"version": "1.0.0",
"capabilities": {
"domains": [
"legal"
],
"tags": [
"skill-md",
"github"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"How to change the database schema safely — Alembic, expand-then-contract, row-level security, timeouts, backfills. Use for any schema change."
],
"primary": false,
"metadata": {
"source": {
"provider": "github",
"repository": "https://github.com/notanaskhan/abacus",
"path": ".claude/skills/migration/SKILL.md",
"ref": "eea5d66cb87e760f1b8886336d8dcd76244211b5",
"url": "https://github.com/notanaskhan/abacus/blob/eea5d66cb87e760f1b8886336d8dcd76244211b5/.claude/skills/migration/SKILL.md",
"key": "notanaskhan/abacus/.claude/skills/migration/SKILL.md"
}
},
"instructions": "# Migration pattern\n\n1. Create a **new** revision; never edit an applied one (ADR-015).\n2. New tables: `tenant_id NOT NULL`, enable and force row-level security, add the policy, grant only needed privileges to the application role (ADR-014).\n3. Immutable tables: no UPDATE or DELETE privilege for the application role (ADR-004).\n4. Destructive changes use expand-then-contract across deploys (ADR-091).\n5. Indexes created concurrently; lock and statement timeouts set.\n6. Large backfills run as throttled Temporal workflows, not in the migration (ADR-091).\n7. Run `make check`: upgrade and downgrade ",
"cost": {
"context_tokens": 163
}
}
Fetch it by URL: GET /api/v1/registry/notanaskhan-abacus-migration/manifest?version=1.0.0
Reviews
Star ratings from people who tried it. One review per account; edit yours any time.
No reviews yet. Install it, try it, and be the first to rate it.