Loading...
Loading...
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.
npx skill4agent add sundial-org/awesome-openclaw-skills cron-mastery| 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. |
act:waitcron:addat{
"name": "Remind: Drink Water",
"schedule": {
"kind": "at",
"atMs": <CURRENT_MS + DELAY_MS>
},
"payload": {
"kind": "agentTurn",
"message": "⏰ Reminder: Drink water!",
"deliver": true
},
"sessionTarget": "isolated",
"wakeMode": "next-heartbeat"
}wakeMode: "next-heartbeat"atMsmode: "now"cron:wakeatenabled: falselastStatus: okcron:listDaily Cron CleanupeveryMs: 86400000"Time for the 24-hour cron sweep. List all cron jobs including disabled ones. If you find any jobs that areand haveenabled: false(finished one-shots), delete them to keep the list clean. Do not delete active recurring jobs. Log what you deleted."lastStatus: ok
MEMORY.mdTimezone: Cairo (GMT+2)act:waitwakeMode: "now"{
"schedule": { "kind": "at", "atMs": <NOW + 30000> },
"payload": { "kind": "agentTurn", "message": "⏱️ 30s check-in. Report status." },
"wakeMode": "now"
}cron:listatMs