/install hobohan-cron-hardening
Cron Hardening
Reliable cron config learned through repeated failures. Follow these rules for every new cron.
1. PIN the model
Every cron that delivers to the user must explicitly set a fast model. The global default can get stuck on model resolution (MiniMax cold-start especially).
"model": "deepseek/deepseek-v4-flash"
Time-sensitive crons that need pinning:
- Expense check-ins (10am, 1:30pm, 10pm)
- Expense sync (9:30am)
- News briefings (7:30am, 3pm, 10pm)
- Investment check-in (Sat 10am) and sync (Sat 11am)
- Transport check-in (9am)
Non-time-sensitive crons (dashboard, backup, security audit) can use default model — delay is harmless.
2. Absolute paths only
Cron agentTurn payloads run in an isolated context. They cannot cd to the workspace first. Every command MUST use absolute paths.
WRONG:
cd /workspace && python3 scripts/sync.py
RIGHT:
/usr/bin/python3 /home/hobopi/.openclaw/workspace/scripts/sync-ledger-to-sheet.py
Preflight checks reject cd && python3 chains.
3. Timeouts
| Cron type | Timeout | Reason |
|---|---|---|
| Expense check-in | 300s (600s for 10pm) | May wait for Hobo reply |
| News briefing | 600s | Web search + curation takes time |
| Expense sync | 60s | Quick script, just needs to run |
| Investment sync | 600s | Reads all ledger files |
| Dashboard gen | 180s | Runs 3 scripts in sequence |
| Token tracker | 300s | Heavy usage data parsing |
| Transport check-in | 600s | Previous-day ask, may wait |
| Backup | 300s | tar + gzip |
| Security audit | 600s | Full healthcheck |
4. Delivery config
For crons that deliver to Telegram, use explicit delivery:
"delivery": {
"mode": "announce",
"channel": "telegram",
"to": "telegram:37134287"
}
mode: "none" for crons that don't need to notify the user (dashboard updates, token tracking).
5. Failure recovery
- Check
lastRunStatusandconsecutiveErrorson cron status lastDiagnosticsshows the error phase:model-call-started= model resolution timeout- Common fixes: pin model, bump timeout, check absolute paths
- After fixing, next scheduled run uses new config (no manual trigger needed)
6. maxConcurrentRuns
Set cron.maxConcurrentRuns in openclaw.json when multiple crons fire simultaneously:
"cron": { "maxConcurrentRuns": 2 }
Prevents Sunday 5am clash (security audit + hourly dashboard + expense check-in).
7. Failure alerts
"failureAlert": {
"after": 2,
"mode": "announce",
"channel": "telegram",
"to": "telegram:37134287"
}
Notifies Hobo after 2 consecutive failures. Default enabled.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install hobohan-cron-hardening - After installation, invoke the skill by name or use
/hobohan-cron-hardening - Provide required inputs per the skill's parameter spec and get structured output
What is Cron Hardening?
Guidelines for reliable OpenClaw cron jobs: model pinning, absolute paths, timeouts, delivery config, and error recovery. It is an AI Agent Skill for Claude Code / OpenClaw, with 44 downloads so far.
How do I install Cron Hardening?
Run "/install hobohan-cron-hardening" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Cron Hardening free?
Yes, Cron Hardening is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Cron Hardening support?
Cron Hardening is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Cron Hardening?
It is built and maintained by Hobohan (@hohobohan); the current version is v1.0.0.