Agent skill · writing content · sundial-org
cron-mastery
Master OpenClaw's timing systems. Use for scheduling reliable reminders, setting up periodic maintenance (janitor jobs), and understanding when to use Cron vs Heartbeat for time-sensitive tasks.
Why this skill is useful
Provides specific JSON payload structures and scheduling patterns for reliable reminders and maintenance tasks that the AI wouldn't generate on its own.
What it needs
About 2k tokens when loaded. Last updated 2026-03-07. 639 stars on the source repository.
What this skill does
Cron Mastery Rule #1: Heartbeats drift. Cron is precise. This skill provides the definitive guide for managing time in OpenClaw. It solves the "I missed my reminder" problem by enforcing a strict separation between casual checks (heartbeat) and hard schedules (cron). The Core Principle System Behavior Best For Risk :--- :--- :--- :--- Heartbeat "I'll check in when I can" (e.g., every 30-60m) Email checks, casual news summaries, low-priority polling. Drift: A "remind me in 10m" task will fail if the heartbeat is 30m. Cron "I will run at exactly X time" Reminders ("in 5 mins"), daily reports, system maintenance. Clutter: Creates one-off jobs that need cleanup. 1. Setting Reliable Reminders Never use act:wait or internal loops for long delays (>1 min). Use cron:add with a one-shot at schedule. Standard Reminder Pattern (JSON) Use this payload structure for "remind me in X minutes" tasks: Note: Even with wakeMode: "next-heartbeat", the cron system forces an event injection at atMs. Use mode: "now" in the cron:wake tool if you need to force an immediate wake outside of a job payload. 2. The Janitor (Auto-Cleanup) One-shot cron jobs (kind: at) disable themselves after running but stay in the list as "ghosts" (enabled: false, lastStatus: ok). To prevent clutter, install the Daily Janitor. Setup Instructions 1. Check current jobs: cron:list (includeDisabled: true) 2. Create the Janitor: Name: Daily Cron Cleanup Schedule: Every 24 hours (everyMs: 86400000) Payload: An agent turn that runs a specific prompt. The Janitor Prompt (Agent Turn) "Time for the 24-hour cron sweep. List all cron jobs including disabled ones. If you find any jobs that are enabled: false and have lastStatus: ok (finished one-shots), delete them to keep the list clean. Do not delete active recurring jobs. Log what you deleted." 3. Reference: Timezone Lock For cron to work, the agent must know its time. Action: Add the user's timezone to MEMORY.md. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills sundial-org/cron-mastery