MonoClaw

Cron Jobs

Mona's cron scheduler lets you run automated tasks on a schedule — daily summaries, periodic checks, automated reports — without you being present.

Creating a cron job

monoclaw cron create "0 9 * * *" \
  "Generate a daily briefing. Search the web for major AI announcements, trending repos, and notable papers. Keep it under 500 words with links." \
  --name "Daily briefing" \
  --deliver telegram

Natural language schedules

You can use human-readable schedules:

monoclaw cron create "every 1h" "Check site uptime" --name "Uptime monitor"
monoclaw cron create "every day at 9am" "Morning briefing" --name "Morning brief"
monoclaw cron create "every monday at 8am" "Weekly report" --name "Weekly report"

With skills

Attach skills to cron jobs for specialized workflows:

monoclaw cron create "0 8 * * *" \
  "Search arXiv for papers on language model reasoning. Save the top 3 as Obsidian notes." \
  --skills "arxiv,obsidian" \
  --name "Paper digest" \
  --deliver telegram

With scripts

Run a Python script before the agent for data collection:

monoclaw cron create "every 1h" \
  "If CHANGE DETECTED, summarize what changed. If NO_CHANGE, respond with [SILENT]." \
  --script ~/.monoclaw/scripts/watch-site.py \
  --name "Pricing monitor" \
  --deliver telegram

Managing cron jobs

List jobs

monoclaw cron list

Output:

ID    Name              Schedule        Next Run        Status
----  ----------------  --------------  --------------  ------
1     Daily briefing    0 9 * * *       2026-05-11 09:00  active
2     Pricing monitor   0 * * * *       2026-05-10 16:00  active

Delete a job

monoclaw cron delete 1

Pause and resume

monoclaw cron pause 1
monoclaw cron resume 1

Edit a job

monoclaw cron edit 1 --schedule "0 10 * * *"

Delivery targets

Cron jobs can deliver results to any platform:

--deliver telegram                      # Telegram home channel
--deliver discord                       # Discord home channel
--deliver slack                         # Slack channel
--deliver sms:+15551234567              # Text message
--deliver telegram:-1001234567890:42    # Specific Telegram forum topic
--deliver local                         # Save to file, no notification

The [SILENT] pattern

Use [SILENT] in your prompt to suppress notifications when nothing interesting happens:

monoclaw cron create "every 15m" \
  "Check if the server status page shows any errors. If NO_ERRORS, respond with [SILENT]." \
  --name "Server monitor"

This means you only get notified when something actually happens.

Cron job limits

  • Max jobs — 100 per profile (configurable)
  • Min interval — 1 minute
  • Max execution time — 1 hour per job
  • Concurrent jobs — 5 by default

Cron configuration

# ~/.monoclaw/config.yaml
cron:
  enabled: true
  max_jobs: 100
  max_concurrent: 5
  default_timeout: 3600

Cron logs

View cron job execution logs:

monoclaw cron logs 1
monoclaw cron logs --all

Best practices

  • Start with manual runs — Test your prompt manually before scheduling
  • Use [SILENT] — Avoid notification fatigue
  • Set reasonable intervals — Don't hammer APIs with every-minute jobs
  • Monitor failures — Check monoclaw cron logs regularly
  • Use skills — Encapsulate complex workflows in skills rather than long prompts