Cron Helper
使用 openclaw cron CLI 管理定时任务。当用户需要周期提醒、定时任务、后台检查、定时执行 agent 任务时触发。关键词:定时、每天/每周/每小时/每分钟/每秒、提醒、schedule、remind、every、cron、定时任务、稍后执行、延迟执行、预定、计划、闹钟、倒计时、X分钟后、X秒后、几点几分。
- Skill ID
- tclawde/openclaw-skills-user/cron-helper
- Publisher
- tclawde
- Repository
- openclaw-skills-user
- Installs
- 0
- Files
- 2
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
tclawde/openclaw-skills-user/cron-helperInstalls these files- SKILL.md
- package.json
What this skill tells the agent
Cron Helper Skill
Purpose: Guides me to use openclaw cron CLI for time-based tasks and send logs on create/remove.
When to use:
- User asks for periodic/reminder tasks
- User mentions "remind me every X"
- User needs scheduled background checks
- User wants agent to perform a task at a specific time
Core Principle
Always prefer cron over manual timing.
Reason: I lack an internal clock. Manual "track time yourself" fails because I can get absorbed in reading/thinking and lose track of time. Cron is an external clock that works reliably.
Main vs Isolated Session
Isolated Session (RECOMMENDED for tasks) ✅ Best Practice
Use --session isolated when you want the agent to actually perform a task:
- Agent receives the message and executes it
- Can use tools (exec, read, message, etc.)
- Can deliver output to a channel
- Does not pollute main conversation history
Format:
openclaw cron add \
--name "job_name" \
--cron "0 9 * * *" \
--session isolated \
--message "Task instructions for the agent" \
--deliver \
--channel feishuMain Session (simple notifications only)
Use --session main with --system-event for simple notifications only:
- Just displays a message in main chat
- Agent does NOT execute any tasks
- No tool calls, no delivery
Format:
openclaw cron add \
--name "reminder" \
--at "+30m" \
--session main \
--system-event "Reminder: check email"How I Should Respond
Step 1: Detect the request
Keywords: "every", "remind", "schedule", "定时", "每小时/每天/每周", "在X分钟后执行"
Step 2: Ask for details
Get from user:
- What - task description or notification message
- When - schedule (e.g., "every 2 hours", "at 9am daily", "in 10 minutes")
- Delivery - does output need to be sent to a chat? (default: no)
- Name - job name (optional, auto-generated if not provided)
Step 3: Create cron job
For agent tasks (RECOMMENDED):
openclaw cron add \
--name "task_name" \
--at "+10m" \
--session isolated \
--message "Your task instructions here" \
--deliver \
--channel feishuFor simple reminders:
openclaw cron add \
--name "reminder" \
--at "+10m" \
--session main \
--system-event "Your reminder message"Remove a cron job:
openclaw cron rm <job_id>List all cron jobs:
openclaw cron listOther useful commands:
openclaw cron status # 查看调度器状态
openclaw cron run <job_id> # 立即触发任务
openclaw cron enable <job_id> # 启用任务
openclaw cron disable <job_id> # 禁用任务
openclaw cron runs <job_id> # 查看执行历史Delivery Options
When using --session isolated, you can deliver output to a chat:
| Option | Description |
|---|---|
--deliver | Enable delivery (required for channel output) |
--channel <name> | Channel: feishu, telegram, slack, whatsapp, etc. |
--to <dest> | Channel-specific target (chat ID, phone, etc.) |
--post-mode full | Post full output instead of summary |
Examples:
# Deliver to Feishu
--deliver --channel feishu
# Deliver to Telegram
--deliver --channel telegram --to "-1001234567890"
# Deliver with full output
--deliver --channel feishu --post-mode fullCommon Options
| Option | Description | |
|---|---|---|
--cron <expr> | Cron expression (5-field or 6-field with seconds) | |
--every <duration> | Run every duration (e.g., 10m, 1h) | |
--at <when> | Run once at time (ISO or +duration, supports m/s) | |
--tz <iana> | Timezone (default: local) | |
| `--session main\ | isolated` | Target session (default: main) |
--system-event <text> | System event payload (main session only) | |
--message <text> | Agent message payload (isolated session only) | |
--delete-after-run | Delete one-shot job after success | |
--disabled | Create job in disabled state |
Step 4: Send log
On CREATE/REMOVE only:
After creating or removing cron jobs, send ONE log with the exact command:
Log format:
# 新增任务
[HH:MM] CRON ✅
$ openclaw cron add \
--name "job_name" \
--at "+10m" \
--session isolated \
--message "task description" \
--deliver \
--channel feishu
# 删除任务
[HH:MM] CRON ❌
$ openclaw cron rm <job_id>Examples:
# 新增
[21:30] CRON ✅
$ openclaw cron add \
--name "daily-summary" \
--cron "0 9 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "总结今天的工作" \
--deliver \
--channel feishu
# 删除
[21:41] CRON ❌
$ openclaw cron rm 983a0f0e-0976-414a-b3d0-fd09c533e301Key points:
- Send log ONLY on create/remove, NOT on execution
- Keep it minimal: One command block, no extra text
Cron → Human mapping (五位 - 分时日月周):
*/5 * * * *→ 每5分钟*/30 * * * *→ 每30分钟0 * * * *→ 每1小时0 */2 * * *→ 每2小时0 9 * * *→ 每天1次(09:00)0 10,22 * * *→ 每天2次(10:00,22:00)0 9 * * 1→ 每周1次(周一09:00)
Cron → Human mapping (六位 - 秒分时日月周):
*/1 * * * * *→ 每1秒*/5 * * * * *→ 每5秒*/30 * * * * *→ 每30秒
Best Practice Summary
| Use Case | Session | Payload | Delivery |
|---|---|---|---|
| Agent performs task | isolated | --message | --deliver ✅ |
| Simple notification | main | --system-event | ❌ |
Rule of thumb: If you want the agent to do something (use tools, send messages), use --session isolated + --message.
What NOT To Do
❌ Don't say "I'll set a reminder myself" ❌ Don't try to track time manually ❌ Don't use --system-event when you need the agent to execute tasks ❌ Don't forget --deliver when you need output sent to chat ❌ Don't send execution logs (only log on create/remove)
✅ Always use the openclaw cron CLI ✅ Use --session isolated for agent tasks ✅ Use --session main for simple notifications only ✅ Send log on create/remove only ✅ Keep log simple and clean
Common Schedule Patterns
五位 Cron(分 时 日 月 周)
| Frequency | Cron Expression | CLI Flag |
|---|---|---|
| Every 5 min | */5 * * * * | --cron "*/5 * * * *" |
| Every 30 min | */30 * * * * | --cron "*/30 * * * *" |
| Every hour | 0 * * * * | --cron "0 * * * *" |
| Every 2 hours | 0 */2 * * * | --cron "0 */2 * * *" |
| Daily at 9am | 0 9 * * * | --cron "0 9 * * *" |
| Twice daily (10am, 10pm) | 0 10,22 * * * | --cron "0 10,22 * * *" |
| Weekly (Monday 9am) | 0 9 * * 1 | --cron "0 9 * * 1" |
六位 Cron(秒 分 时 日 月 周)
| Frequency | Cron Expression | CLI Flag |
|---|---|---|
| Every 1 second | */1 * * * * * | --cron "*/1 * * * * *" |
| Every 5 seconds | */5 * * * * * | --cron "*/5 * * * * *" |
| Every 30 seconds | */30 * * * * * | --cron "*/30 * * * * *" |
Duration flags: | Frequency | CLI Flag | |-----------|----------| | Every 10 minutes | --every "10m" | | Every 2 hours | --every "2h" | | Once in 20 minutes | --at "+20m" | | Once in 20 seconds | --at "+20s" |
Loaded automatically when skill is installed.
Use this skill in a project
Open any RiverX project, search the Skills panel for tclawde/openclaw-skills-user/cron-helper, and install it in one click.
