PluginBench
Skill
Pass
Audit score 90

convex-crons

get-convex/agent-skills

Add recurring scheduled jobs to Convex apps with idempotent handlers.

What is convex-crons?

This skill lets you define and manage recurring scheduled jobs (crons) in your Convex backend. Use it when you need to run tasks periodically—like cleanup, syncing, or maintenance—without external services.

  • Create cronJobs() definitions in convex/crons.ts
  • Schedule internal functions at specified intervals
  • Ensure handlers are idempotent and safe to re-run
  • Monitor scheduled jobs in the Convex dashboard
  • Keep cron execution lightweight and efficient

How to install convex-crons

npx skills add https://github.com/get-convex/agent-skills --skill convex-crons
Prerequisites
  • Convex project set up
  • Node.js and npm installed
Claude Code
Cursor
Windsurf
Cline

How to use convex-crons

  1. 1.Run npx skills add https://github.com/get-convex/agent-skills --skill convex-crons
  2. 2.Create convex/crons.ts in your project
  3. 3.Define cronJobs() with internal.* function targets and intervals
  4. 4.Implement handlers as idempotent functions (safe to run multiple times)
  5. 5.Deploy and verify jobs appear in the Convex dashboard

Use cases

Good for
  • Run periodic database cleanup or archival tasks
  • Sync data between systems on a schedule
  • Send batch notifications or reports at fixed times
  • Refresh cached data at regular intervals
  • Perform maintenance operations like log rotation
Who it's for
  • Convex backend developers
  • Full-stack engineers building serverless apps
  • Teams needing scheduled task automation

convex-crons FAQ

Can I schedule public API functions as crons?

No. You must schedule only internal.* functions, never api.* endpoints, to keep crons private and secure.

What happens if a cron handler fails?

Convex will retry the job according to its retry policy. Ensure your handler is idempotent so retries don't cause issues.

How do I monitor cron execution?

View scheduled jobs and their execution history in the Convex dashboard under the schedule section.

Should I use crons for real-time updates?

No. Use subscriptions or webhooks for real-time data. Crons are best for periodic batch operations and maintenance tasks.

Full instructions (SKILL.md)

Source of truth, from get-convex/agent-skills.


name: convex-crons description: "Add recurring scheduled jobs (crons) to the Convex app."

<!-- GENERATED from convex-agents content/capabilities/crons.json — do not edit by hand. -->

Add scheduled jobs (crons)

Define recurring jobs in convex/crons.ts targeting internal functions, with sane intervals and idempotent handlers.

Workflow

  1. Create convex/crons.ts with cronJobs().
  2. Schedule internal functions (never public api.*) at the right interval.
  3. Make handlers idempotent (safe to re-run); keep each run small.
  4. 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.