What problem does it solve? Setting up recurring background tasks in a Convex app requires knowing where to define cron jobs, which functions are safe to schedule, and how to keep handlers reliable. This Skill guides you through creating convex/crons.ts correctly so scheduled jobs run safely and predictably. ## Core Features & Use Cases - Cron Definition: Create convex/crons.ts using cronJobs() to register recurring scheduled jobs. - Safe Scheduling Rules: Enforces scheduling internal.* functions only, never public api.* endpoints. - Idempotent Handlers: Ensures each cron handler is small and safe to re-run without side effects. - Use Case: You need a nightly job that cleans up expired sessions in your Convex database. This Skill walks you through defining the cron, pointing it at an internal mutation, and verifying it appears in the dashboard schedule. ## Quick Start Add a cron job to my Convex app that runs an internal cleanup function every night.