Cron Setup
/install cron-setup
Cron Job Setup
Our conventions for creating cron jobs in OpenClaw.
Default Settings
| Setting | Default | Why |
|---|---|---|
| Model | anthropic/claude-sonnet-4-5 |
Reliable tool calls, works with any Anthropic Max plan — no OpenRouter needed |
| Session | isolated |
Cron jobs run in their own session, not the main chat |
| Delivery | "mode": "none" |
Job handles its own output (posts to Discord, etc.) |
| Timeout | 120-180s | Most jobs should finish fast |
Model Notes
- Default to Sonnet (
anthropic/claude-sonnet-4-5). Reliable, portable (no OpenRouter API key needed). - DeepSeek is unreliable for tool calls — don't use it for cron jobs.
- Use Opus (
anthropic/claude-opus-4-6) only as a last resort — expensive for scheduled tasks. - Model ID format: Use
anthropic/claude-sonnet-4-5not the full dated version (anthropic/claude-sonnet-4-20250514).
Job Template
{
"name": "descriptive-kebab-case-name",
"schedule": {
"kind": "cron",
"expr": "*/30 * * * *",
"tz": "America/New_York"
},
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"message": "TASK INSTRUCTIONS HERE",
"model": "openrouter/deepseek/deepseek-v3.2",
"timeoutSeconds": 120
},
"delivery": {
"mode": "none"
}
}
Schedule Patterns
| Pattern | Cron Expression | Notes |
|---|---|---|
| Every 30 min | */30 * * * * |
Good for inbox checks, monitoring |
| Every hour | 0 * * * * |
Self-reflection, status checks |
| Daily at 4 AM | 0 4 * * * |
Cleanup, backups (during quiet hours) |
| Daily at 6 AM | 0 6 * * * |
Morning digests, daily summaries |
| Weekly Monday 2 PM | 0 14 * * 1 |
Weekly outreach, reviews |
| One-shot | Use "kind": "at" instead |
Reminders, one-time tasks |
Task Instruction Conventions
- Be explicit with commands — Give the cron agent exact bash commands to run. It doesn't have our context.
- Include skip conditions — If there's nothing to do, the agent should reply
SKIPto avoid wasting tokens. - Handle its own output — The job should post results to Telegram (or wherever) using the
messagetool directly. Don't rely on delivery mode for formatted output. - Include error handling — What should happen if a command fails?
- Keep instructions self-contained — The cron agent wakes up with no context. Everything it needs should be in the task message.
Telegram Posting from Cron Jobs
When a cron job needs to notify us, include these instructions in the task:
Post to Telegram using the message tool:
- action: send
- channel: telegram
- target: -1003856094222
- threadId: TOPIC_ID
- message: Your formatted message
Topic IDs:
1— Main topic (general updates, alerts)573— Research1032— Crypto1488— PR updates / dev notifications1869— Sticker store3188— Activity feed (workspace changes)
Delivery Modes
| Mode | When to Use |
|---|---|
"mode": "none" |
Job posts its own output to Telegram (most common) |
"mode": "announce" |
OpenClaw auto-delivers the agent's final message to a channel. Use when output IS the message (e.g., daily digest). Set "channel": "telegram" and "to": "-1003856094222:TOPIC_ID" |
Anti-Patterns
❌ Don't use Opus for cron jobs unless the task genuinely needs it. Most cron tasks are simple checks. ❌ Don't use heartbeat for things that can be a cron job. Heartbeat runs in the main session (Opus) and costs way more. ❌ Don't create cron jobs that loop/poll — each run should be a single check. If you need polling, use a background exec script instead. ❌ Don't set delivery mode to "announce" and also have the job post to Telegram — you'll get duplicate messages.
Existing Jobs (Reference)
Check current jobs anytime with the cron list tool. As of setup:
workspace-activity-feed— Every 30 min, commits workspace changes, posts to activity feedagentmail-inbox-check— Every 30 min, checks for new emails, responds to agentssub-agent-monitor— Every 15 min, checks on stalled sub-agentsself-reflection— Hourly, reviews recent sessions for lessons learneddaily-workspace-commit— Daily 4 AM, git commits workspace changessystem-watchdog— Daily 4 AM, checks system resourcesOpenClaw Daily News Digest— Daily 6 AM, generates news digeststicker-sales-loop— Weekly Monday 2 PM, agent outreach for sticker store
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install cron-setup - 安装完成后,直接呼叫该 Skill 的名称或使用
/cron-setup触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Cron Setup 是什么?
Create and manage OpenClaw cron jobs following our conventions. Use when setting up periodic tasks, reminders, automated checks, or any scheduled work. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 725 次。
如何安装 Cron Setup?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install cron-setup」即可一键安装,无需额外配置。
Cron Setup 是免费的吗?
是的,Cron Setup 完全免费(开源免费),可自由下载、安装和使用。
Cron Setup 支持哪些平台?
Cron Setup 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Cron Setup?
由 BrennerSpear(@brennerspear)开发并维护,当前版本 v1.0.0。