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.
openapi - Skill - OpenSmartRoute
Skillv1.0.0
openapi
Apply when changing the REST API surface — actix handlers, utoipa annotations, or request/response types under server/.
Imported from varfish-org/mehari (.claude/skills/openapi/SKILL.md). Install upstream with npx skills add varfish-org/mehari --skill openapi. Copyright stays with the author.
OpenAPI / REST schema
Server: actix-web + utoipa, behind the server feature. ApiDoc in mehari/src/server/run/mod.rs; Swagger UI via utoipa-swagger-ui.
Spec is checked in at openapi.schema.yaml (repo root). A CI Schema job regenerates it and diffs against the committed file (stripping the version: line), so it must stay in sync.
Hard rule
After ANY API-surface change (routes, handlers, #[utoipa::path], schema structs), regenerate and commit the schema in the same PR, or CI fails:
cargo run -p mehari --bin mehari -- server schema --output-file openapi.schema.yaml
Review the diff (the version: line doesn't matter — CI strips it).
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}'
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.
varfish-org-mehari-openapi.ocm.jsonjson
{
"ocm": "1",
"id": "varfish-org-mehari-openapi",
"kind": "skill",
"name": "openapi",
"description": "Apply when changing the REST API surface — actix handlers, utoipa annotations, or request/response types under server/.",
"publisher": "varfish-org",
"version": "1.0.0",
"capabilities": {
"domains": [
"coding"
],
"tags": [
"skill-md",
"github"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"Apply when changing the REST API surface — actix handlers, utoipa annotations, or request/response types under server/."
],
"primary": false,
"metadata": {
"source": {
"provider": "github",
"repository": "https://github.com/varfish-org/mehari",
"path": ".claude/skills/openapi/SKILL.md",
"ref": "d54313d5e2730c8ef22d4184a0d2e4cf016c121f",
"url": "https://github.com/varfish-org/mehari/blob/d54313d5e2730c8ef22d4184a0d2e4cf016c121f/.claude/skills/openapi/SKILL.md",
"key": "varfish-org/mehari/.claude/skills/openapi/SKILL.md"
}
},
"instructions": "# OpenAPI / REST schema\n\n- Server: actix-web + utoipa, behind the `server` feature. `ApiDoc` in `mehari/src/server/run/mod.rs`; Swagger UI via `utoipa-swagger-ui`.\n- Spec is checked in at `openapi.schema.yaml` (repo root). A CI **Schema** job regenerates it and `diff`s against the committed file (stripping the `version:` line), so it must stay in sync.\n\n## Hard rule\nAfter ANY API-surface change (routes, handlers, `#[utoipa::path]`, schema structs), regenerate and commit the schema in the same PR, or CI fails:\n\n```\ncargo run -p mehari --bin mehari -- server schema --output-file openapi.schema.y",
"cost": {
"context_tokens": 169
}
}
Fetch it by URL: GET /api/v1/registry/varfish-org-mehari-openapi/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.