From sundial-org-awesome-openclaw-skills-4
Fixes common cron job failures in Clawdbot/Moltbot: message delivery issues, internal tool timeouts, timezone bugs, and unexpected model tool calls. Use for scheduled message problems.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4This skill uses the workspace's default tool permissions.
A comprehensive guide to diagnosing and fixing cron job issues in Clawdbot/Moltbot. This skill documents common failure patterns and their solutions, learned through production debugging.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
A comprehensive guide to diagnosing and fixing cron job issues in Clawdbot/Moltbot. This skill documents common failure patterns and their solutions, learned through production debugging.
Use this skill when:
cron toolAlways use these flags together for reliable delivery:
clawdbot cron add \
--name "my-job" \
--cron "0 9 * * 1-5" \
--tz "America/New_York" \
--session isolated \
--message "[INSTRUCTION: DO NOT USE ANY TOOLS] Your prompt here" \
--deliver --channel telegram --to "CHAT_ID" \
--best-effort-deliver
| Flag | Purpose | Why It Matters |
|---|---|---|
--session isolated | Creates dedicated session | Prevents message loss in busy conversations |
--tz "TIMEZONE" | Sets explicit timezone | Avoids UTC confusion |
--deliver | Sends to channel | Required for Telegram/WhatsApp |
--best-effort-deliver | Don't fail on delivery error | Graceful degradation |
cron Tool Deadlockcron list or cron addThe internal cron tool creates a deadlock between the agent process and gateway.
Never use the cron tool directly. Use exec (or bash) instead:
# CORRECT - uses exec to bypass deadlock
exec: clawdbot cron list
exec: clawdbot cron add --name "reminder" --at "+5m" --message "Hello"
# INCORRECT - causes timeout
cron list # DO NOT USE
cron add ... # DO NOT USE
If you're an AI agent reading this: when the user asks you to manage cron jobs, always use the exec/bash tool to run clawdbot cron commands. Never invoke the cron tool directly.
Using --session main or --system-event causes messages to get lost when there's an active conversation in the main session.
Always use --session isolated:
# CORRECT - isolated session, guaranteed delivery
clawdbot cron add \
--name "daily-standup" \
--cron "0 9 * * 1-5" \
--session isolated \
--deliver --channel telegram --to "-100XXXXXXXXXX"
# INCORRECT - messages can be lost
clawdbot cron add \
--name "daily-standup" \
--session main \
--system-event \
...
After creating a job, test it:
# Run the job immediately to verify delivery
clawdbot cron run <job-id>
Missing timezone specification defaults to UTC.
Always specify timezone explicitly:
# CORRECT - explicit timezone
clawdbot cron add \
--cron "0 9 * * 1-5" \
--tz "America/New_York" \
...
# INCORRECT - defaults to UTC
clawdbot cron add \
--cron "0 9 * * 1-5" \
...
| Region | Timezone ID |
|---|---|
| US Eastern | America/New_York |
| US Pacific | America/Los_Angeles |
| UK | Europe/London |
| Central Europe | Europe/Berlin |
| India | Asia/Kolkata |
| Japan | Asia/Tokyo |
| Australia Eastern | Australia/Sydney |
| Brazil | America/Sao_Paulo |
| Bolivia | America/La_Paz |
exec, read, or other tools when it shouldn'tSome fallback models (especially smaller/faster ones) don't follow system instructions as strictly as primary models.
Embed instructions directly in the message:
# CORRECT - instruction embedded in message
clawdbot cron add \
--message "[INSTRUCTION: DO NOT USE ANY TOOLS. Respond with text only.]
Generate a motivational Monday message for the team."
# INCORRECT - relies only on system prompt
clawdbot cron add \
--message "Generate a motivational Monday message for the team."
[INSTRUCTION: DO NOT USE ANY TOOLS. Write your response directly.]
Your actual prompt here. Be specific about what you want.
# Check job details
clawdbot cron show <job-id>
# Check recent logs
tail -100 /tmp/clawdbot/clawdbot-$(date +%Y-%m-%d).log | grep -i cron
# Check gateway errors
tail -50 ~/.clawdbot/logs/gateway.err.log
| Cause | Fix |
|---|---|
| Model quota exceeded | Wait for quota reset or switch model |
| Invalid chat ID | Verify channel ID with --to |
| Bot removed from group | Re-add bot to Telegram group |
| Gateway not running | clawdbot gateway restart |
If nothing works:
# Remove the problematic job
clawdbot cron rm <job-id>
# Restart gateway
clawdbot gateway restart
# Recreate with correct flags
clawdbot cron add ... (with all recommended flags)
clawdbot cron list
clawdbot cron show <job-id>
clawdbot cron run <job-id>
# Today's logs filtered for cron
tail -200 /tmp/clawdbot/clawdbot-$(date +%Y-%m-%d).log | grep -i cron
# Gateway errors
tail -100 ~/.clawdbot/logs/gateway.err.log
# Watch logs in real-time
tail -f /tmp/clawdbot/clawdbot-$(date +%Y-%m-%d).log | grep --line-buffered cron
clawdbot gateway restart
clawdbot cron add \
--name "daily-standup-9am" \
--cron "0 9 * * 1-5" \
--tz "America/New_York" \
--session isolated \
--message "[INSTRUCTION: DO NOT USE ANY TOOLS. Write directly.]
Good morning team! Time for our daily standup.
Please share:
1. What did you accomplish yesterday?
2. What are you working on today?
3. Any blockers?
@alice @bob" \
--deliver --channel telegram --to "-100XXXXXXXXXX" \
--best-effort-deliver
clawdbot cron add \
--name "quick-reminder" \
--at "+20m" \
--delete-after-run \
--session isolated \
--message "[INSTRUCTION: DO NOT USE ANY TOOLS.]
Reminder: Your meeting starts in 10 minutes!" \
--deliver --channel telegram --to "-100XXXXXXXXXX" \
--best-effort-deliver
clawdbot cron add \
--name "weekly-report-friday" \
--cron "0 17 * * 5" \
--tz "America/New_York" \
--session isolated \
--message "[INSTRUCTION: DO NOT USE ANY TOOLS.]
Happy Friday! Time to wrap up the week.
Please share your weekly highlights and any items carrying over to next week." \
--deliver --channel telegram --to "-100XXXXXXXXXX" \
--best-effort-deliver
Before creating any cron job, verify:
exec: clawdbot cron add (not the cron tool directly)--session isolated is set--tz "YOUR_TIMEZONE" is explicit--deliver --channel CHANNEL --to "ID" for message delivery--best-effort-deliver for graceful failures[INSTRUCTION: DO NOT USE ANY TOOLS]clawdbot cron run <id> after creationSkill authored by Isaac Zarzuri. Based on production debugging experience with Clawdbot/Moltbot.