Skip to main content
The cron skill enables scheduling reminders and recurring tasks using the cron tool.

Three Modes

  1. Reminder - Message is sent directly to user
  2. Task - Message is a task description, agent executes and sends result
  3. One-time - Runs once at a specific time, then auto-deletes

Examples

Fixed Reminder

Remind every 20 minutes:
cron(action="add", message="Time to take a break!", every_seconds=1200)

Dynamic Task

Agent executes the task each time:
cron(action="add", message="Check HKUDS/nanobot GitHub stars and report", every_seconds=600)

One-time Scheduled Task

Compute ISO datetime from current time:
cron(action="add", message="Remind me about the meeting", at="<ISO datetime>")

Timezone-aware Cron

Daily standup at 9am Vancouver time:
cron(action="add", message="Morning standup", cron_expr="0 9 * * 1-5", tz="America/Vancouver")

Managing Jobs

List All Jobs

cron(action="list")

Remove a Job

cron(action="remove", job_id="abc123")

Time Expressions

User SaysParameters
every 20 minutesevery_seconds: 1200
every hourevery_seconds: 3600
every day at 8amcron_expr: "0 8 * * *"
weekdays at 5pmcron_expr: "0 17 * * 1-5"
9am Vancouver time dailycron_expr: "0 9 * * *", tz: "America/Vancouver"
at a specific timeat: ISO datetime string (compute from current time)

Cron Expression Format

Cron expressions use 5 fields:
* * * * *
β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ β”‚ β”‚ └─ Day of week (0-7, Sunday=0 or 7)
β”‚ β”‚ β”‚ └─── Month (1-12)
β”‚ β”‚ └───── Day of month (1-31)
β”‚ └─────── Hour (0-23)
└───────── Minute (0-59)

Examples

  • 0 9 * * * - Every day at 9:00 AM
  • 0 17 * * 1-5 - Weekdays at 5:00 PM
  • */30 * * * * - Every 30 minutes
  • 0 0 * * 0 - Every Sunday at midnight

Timezone Support

Use tz with cron_expr to schedule in a specific IANA timezone.
cron(
    action="add",
    message="Daily report",
    cron_expr="0 8 * * *",
    tz="America/Vancouver"
)
Without tz, the server’s local timezone is used.

Common IANA Timezones

  • America/New_York - Eastern Time
  • America/Chicago - Central Time
  • America/Denver - Mountain Time
  • America/Los_Angeles - Pacific Time
  • America/Vancouver - Pacific Time (Canada)
  • Europe/London - GMT/BST
  • Europe/Paris - CET/CEST
  • Asia/Tokyo - JST
  • Australia/Sydney - AEDT/AEST

Use Cases

Periodic Check-ins

cron(action="add", message="How's the project going?", every_seconds=86400)

Daily Reports

cron(
    action="add",
    message="Generate daily metrics report",
    cron_expr="0 9 * * 1-5",
    tz="America/New_York"
)

Meeting Reminders

cron(
    action="add",
    message="Team meeting in 5 minutes",
    at="2026-03-06T14:55:00Z"
)

Hourly Monitoring

cron(
    action="add",
    message="Check server status and report if any issues",
    every_seconds=3600
)

Build docs developers (and LLMs) love