🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Smart Cron

by @mariusfit

Schedule and manage OpenClaw tasks using natural language with timezone support, failure alerts, logs, and full cron lifecycle commands.

Versionv1.0.0
Downloads1,737
Installs5
TERMINAL
clawhub install smart-cron

πŸ“– About This Skill

Smart Cron β€” Natural Language Cron Scheduler for OpenClaw

Schedule any OpenClaw task using plain English. No cron syntax required. Just say what you want, when you want it.

What It Does

  • Natural language scheduling β€” "every weekday at 9am", "every 30 minutes", "first Monday of month"
  • Full cron job lifecycle β€” add, list, remove, pause, resume
  • Timezone-aware β€” schedule in any timezone (UTC, Europe/Bucharest, etc.)
  • Failure alerts β€” WhatsApp/Telegram alert if a job fails
  • Next run preview β€” shows exactly when each job runs next
  • Run logs β€” persisted history of every execution
  • Zero external dependencies β€” uses system cron + OpenClaw orchestration
  • Quick Start

    # Add a daily digest job
    smart-cron add "every weekday at 9am" --task "summarize my emails"

    Add an interval job

    smart-cron add "every 30 minutes" --task "check server health"

    Monthly job

    smart-cron add "first Monday of month at 10am" --task "generate monthly report"

    List all scheduled jobs

    smart-cron list

    Show next run times

    smart-cron next

    View job logs

    smart-cron logs

    Pause a job (without deleting it)

    smart-cron pause

    Resume paused job

    smart-cron resume

    Remove a job

    smart-cron remove

    Commands

    | Command | Description | |---------|-------------| | smart-cron add --task | Schedule a new task | | smart-cron list | List all jobs with status | | smart-cron remove | Remove a job | | smart-cron next | Show next run time for all jobs | | smart-cron run | Run a job immediately | | smart-cron logs [id] | View execution logs | | smart-cron pause | Pause a job | | smart-cron resume | Resume a paused job |

    Supported Schedule Expressions

    Intervals

  • every 5 minutes β†’ */5 * * * *
  • every hour β†’ 0 * * * *
  • every 2 hours β†’ 0 */2 * * *
  • every 30 minutes β†’ */30 * * * *
  • Daily

  • every day at 9am β†’ 0 9 * * *
  • every weekday at 9am β†’ 0 9 * * 1-5
  • every weekend at noon β†’ 0 12 * * 6,0
  • daily at midnight β†’ 0 0 * * *
  • Weekly

  • every Monday at 8am β†’ 0 8 * * 1
  • every Friday at 5pm β†’ 0 17 * * 5
  • Monthly

  • first Monday of month β†’ calculated and re-scheduled
  • 1st of month at 9am β†’ 0 9 1 * *
  • last day of month β†’ calculated dynamically
  • Custom cron (passthrough)

  • 0 */6 * * * β†’ runs as-is for advanced users
  • Timezone Support

    # Schedule in your local timezone
    smart-cron add "every weekday at 9am" \
      --task "daily standup reminder" \
      --timezone Europe/Bucharest

    List shows times in both UTC and local tz

    Failure Alerts

    When a scheduled task fails, Smart Cron sends an alert via your configured channel:

    ⚠️ Smart Cron: "daily standup reminder" FAILED
    Time: 09:00 EET (07:00 UTC)
    Error: Task timed out after 300s
    Last success: yesterday at 09:00
    Logs: smart-cron logs job-123
    

    Data Storage

    All job configs and logs stored locally at ~/.openclaw/workspace/smart-cron-data/. SQLite, no telemetry.

    Configuration

    Edit ~/.openclaw/workspace/smart-cron-data/config.json:

    {
      "default_timezone": "Europe/Bucharest",
      "alert_channel": "whatsapp",
      "alert_on_failure": true,
      "log_retention_days": 30
    }
    

    Use Cases

    Morning Briefing

    smart-cron add "every weekday at 8am" --task "summarize overnight emails and news"
    

    Uptime Monitoring

    smart-cron add "every 5 minutes" --task "check all APIs and alert if any is down"
    

    Weekly Reports

    smart-cron add "every Friday at 5pm" --task "generate weekly work summary and log to MEMORY.md"
    

    Monthly Cleanup

    smart-cron add "1st of month at 2am" --task "clean old logs and archive memory files older than 90 days"
    

    Requirements

  • OpenClaw 1.0+
  • Python 3.8+ (for schedule parsing)
  • cron daemon (standard on Linux/macOS)
  • Source & Issues

  • Source: https://github.com/mariusfit/smart-cron
  • Issues: https://github.com/mariusfit/smart-cron/issues
  • Author: @mariusfit
  • ⚑ When to Use

    TriggerAction
    ```bash
    smart-cron add "every weekday at 8am" --task "summarize overnight emails and news"
    ```
    ### Uptime Monitoring
    ```bash
    smart-cron add "every 5 minutes" --task "check all APIs and alert if any is down"
    ```
    ### Weekly Reports
    ```bash
    smart-cron add "every Friday at 5pm" --task "generate weekly work summary and log to MEMORY.md"
    ```
    ### Monthly Cleanup
    ```bash
    smart-cron add "1st of month at 2am" --task "clean old logs and archive memory files older than 90 days"
    ```

    πŸ’‘ Examples

    # Add a daily digest job
    smart-cron add "every weekday at 9am" --task "summarize my emails"

    Add an interval job

    smart-cron add "every 30 minutes" --task "check server health"

    Monthly job

    smart-cron add "first Monday of month at 10am" --task "generate monthly report"

    List all scheduled jobs

    smart-cron list

    Show next run times

    smart-cron next

    View job logs

    smart-cron logs

    Pause a job (without deleting it)

    smart-cron pause

    Resume paused job

    smart-cron resume

    Remove a job

    smart-cron remove

    βš™οΈ Configuration

    Edit ~/.openclaw/workspace/smart-cron-data/config.json:

    {
      "default_timezone": "Europe/Bucharest",
      "alert_channel": "whatsapp",
      "alert_on_failure": true,
      "log_retention_days": 30
    }