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.
convex-crons - Skill - OpenSmartRoute
Skillv1.0.0
convex-crons
Add recurring scheduled jobs (crons) to the Convex app.
Imported from get-convex/agent-skills (skills/convex-crons/SKILL.md) via skills.sh. Install upstream with npx skills add get-convex/agent-skills --skill convex-crons. Copyright stays with the author.
Add scheduled jobs (crons)
Define recurring jobs in convex/crons.ts targeting internal functions, with sane intervals and idempotent handlers.
Workflow
Create convex/crons.ts with cronJobs().
Schedule internal functions (never public api.*) at the right interval.
Make handlers idempotent (safe to re-run); keep each run small.
Verify the job appears in the dashboard schedule.
Rules
Schedule internal.* functions, never api.*.
Keep cron handlers small + idempotent.
Don't poll tight intervals for things a subscription can push.
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://osr-api.kindrock-caaab1a2.centralindia.azurecontainerapps.io/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 convex-crons 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.