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.
port - Skill - OpenSmartRoute
Skillv1.0.0
port
If present, read `./.omd/preferences.md` — pending corrections not yet folded into DESIGN.md. Apply them; flag conflicts. <!-- omd:end -->
Imported from yummjin/port (AGENTS.md). Install upstream with npx skills add yummjin/port. Copyright stays with the author.
Design System (oh-my-design)
Before any UI, styling, copy, or motion change, open and read ./DESIGN.md in full. It is the authoritative brand/design spec. Treat its tokens, voice, and component rules as binding unless the user overrides in chat.
If present, read ./.omd/preferences.md — pending corrections not yet folded into DESIGN.md. Apply them; flag conflicts.
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 slot
curl -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 port 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.