Create Cron Job
by @kjvarga
Create and configure OpenClaw cron jobs with correct scheduling, execution modes, and delivery patterns. Use when asked to schedule a task, set up a recurrin...
clawhub install create-cron-jobπ About This Skill
name: create-cron-job description: Create and configure OpenClaw cron jobs with correct scheduling, execution modes, and delivery patterns. Use when asked to schedule a task, set up a recurring job, create a reminder, run something at a specific time, or automate a periodic operation. verified-against: "2026.3.2"
Create Cron Job
Set up a scheduled task per conventions/cron.md. Read the convention first.
Need a periodic check instead? Consider HEARTBEAT.md β see "Cron vs Heartbeat" in conventions/cron.md.
Before You Start
Determine:
Steps
1. Choose the execution mode
| Question | If yes | If no |
|---|---|---|
| Does the task need recent conversation context? | Main session | Isolated |
| Does the agent need its AGENTS.md/SOUL.md? | Isolated (normal) | Isolated + lightContext |
| Is this a one-shot reminder? | --at with --delete-after-run | Recurring schedule |
2. Choose a job name
Format: in kebab-case.
Examples: auditor-daily-report, archivist-daily-backup, reminder-standup-meeting
3. Choose a schedule
| Pattern | CLI flag | Example |
|---|---|---|
| Cron expression | --cron | --cron "0 7 * * *" (7 AM daily) |
| Fixed interval | --every | --every "4h" |
| One-shot (relative) | --at | --at "20m" |
| One-shot (absolute) | --at | --at "2026-03-15T09:00:00Z" |
Always set timezone for cron expressions: --tz "America/Los_Angeles"
4. Create the job
Main session (task needs conversational context):
openclaw cron add \
--name "-" \
--every "" \
--session main \
--system-event "" \
--wake now
Isolated (standalone task):
openclaw cron add \
--name "-" \
--cron "" \
--tz "" \
--session isolated \
--message "" \
--agent \
--announce \
--channel \
--to ""
Isolated + lightweight context (simple, self-contained chore):
openclaw cron add \
--name "-" \
--every "" \
--session isolated \
--message "" \
--light-context \
--announce
One-shot reminder:
openclaw cron add \
--name "reminder-" \
--at " 5. Bind to an agent
Always use --agent for agent-specific jobs.
6. Set delivery mode
--announce --channel --to "" --webhook 7. Document in the agent's AGENTS.md
## Scheduled Tasks| Job | Schedule | Message | Action |
|---|---|---|---|
| | | | |
8. Create a skill if the job uses scripts
If the cron job executes scripts (not just a self-contained message), create a skill using the create-skill skill:
workspace/skills//scripts/ , not in ad-hoc workspace directoriesconventions/skills.md for where files belongSkip if the cron job's message is fully self-contained (no external scripts or supporting files).
9. Test the job
openclaw cron run # Force immediate execution
openclaw cron list # Verify job exists
openclaw cron runs --id # Check run history
Post-Creation Checklist
- kebab-case convention--tz)--agent binding for agent-specific jobsopenclaw cron run --delete-after-runworkspace/skills// with scripts in its scripts/ subdirconventions/skills.md)