casual-cron
1
总安装量
1
周安装量
#46939
全站排名
安装命令
npx skills add https://github.com/gostlightai/casual-cron --skill casual-cron
Agent 安装分布
openclaw
1
Skill 文档
Casual Cron
Create Clawdbot cron jobs from natural language. Supports one-shot and repeating schedules with safe run-guard rules.
Cron Run Guard (Hard Rules)
- When running inside a cron job: do NOT troubleshoot, do NOT restart gateway, and do NOT check time.
- Do NOT send acknowledgements or explanations.
- Output ONLY the exact message payload and then stop.
How It Works
- Agent detects scheduling intent from user message (or
/at//everycommand) - Parses: time, frequency, channel, destination, message
- Builds
openclaw cron addcommand with correct flags - Confirms parsed time, job name, and job id with user before executing
Scheduling Rules
When a message starts with /at or /every, schedule via the CLI (NOT the cron tool API).
Use: openclaw cron add
/at (one-shot)
- If user gives a clock time (e.g., “3pm”), convert to ISO with offset computed for America/New_York on that date (DST-safe).
- Prefer relative times for near-term reminders (e.g.,
--at "20m"). - Use
--session isolated --message "Output exactly: <task>". - Always include
--delete-after-run. - Always include
--deliver --channel <channel> --to <destination>.
/every (repeating)
- If interval: use
--every "<duration>"(no timezone needed). - If clock time: use
--cron "<expr>" --tz "America/New_York". - Use
--session isolated --message "Output exactly: <task>". - Always include
--deliver --channel <channel> --to <destination>.
Confirmation
- Always confirm parsed time, job name, and job id with the user before finalizing.
Command Reference
One-shot (clock time, DST-aware):
openclaw cron add \
--name "Reminder example" \
--at "2026-01-28T15:00:00-05:00" \
--session isolated \
--message "Output exactly: <TASK>" \
--deliver --channel telegram --to <TELEGRAM_CHAT_ID> \
--delete-after-run
One-shot (relative time):
openclaw cron add \
--name "Reminder in 20m" \
--at "20m" \
--session isolated \
--message "Output exactly: <TASK>" \
--deliver --channel telegram --to <TELEGRAM_CHAT_ID> \
--delete-after-run
Repeating (clock time, DST-aware):
openclaw cron add \
--name "Daily 3pm reminder" \
--cron "0 15 * * *" --tz "America/New_York" \
--session isolated \
--message "Output exactly: <TASK>" \
--deliver --channel telegram --to <TELEGRAM_CHAT_ID>
Repeating (interval):
openclaw cron add \
--name "Every 2 hours" \
--every "2h" \
--session isolated \
--message "Output exactly: <TASK>" \
--deliver --channel telegram --to <TELEGRAM_CHAT_ID>
Configuration
| Setting | Value |
|---|---|
| Default timezone | America/New_York (DST-aware) |
| Default channel | telegram (override via CRON_DEFAULT_CHANNEL env var) |
| Supported channels | telegram, whatsapp, slack, discord, signal |
Supported Patterns
Time Formats
| Input | Cron |
|---|---|
8am |
0 8 * * * |
8:45pm |
45 20 * * * |
noon |
0 12 * * * |
midnight |
0 0 * * * |
14:30 |
30 14 * * * |
Frequencies
| Input | Behavior |
|---|---|
daily / every day |
Daily at specified time |
weekdays / mon-fri |
Mon-Fri at specified time |
mondays / every monday |
Weekly on Monday |
hourly / every hour |
Every hour at :00 |
every 2 hours |
0 */2 * * * |
weekly |
Weekly (defaults to Monday) |
monthly |
Monthly (1st of month) |
Channels
Mention the channel in your request:
- “on telegram” / “on whatsapp” / “on slack” / “on discord” / “on signal”
Default Messages
| Type | Default Message |
|---|---|
| Ikigai | Morning journal with purpose, food, movement, connection, gratitude |
| Water | “Time to drink water! Stay hydrated!” |
| Morning | “Good morning! Time for your daily check-in.” |
| Evening | “Evening check-in! How was your day?” |
| Weekly | Weekly goals review |
| Default | “Your scheduled reminder is here!” |