tanyar09 7bff134cb5 Update cron skill documentation
- Add examples for in_seconds parameter usage
- Clarify when to use in_seconds vs at parameter
- Improve time expression examples
2026-03-03 13:11:20 -05:00

2.4 KiB

name, description
name description
cron Schedule reminders and recurring tasks.

Cron

Use the cron tool to schedule reminders or recurring tasks.

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:

cron(action="add", message="Time to take a break!", every_seconds=1200)

Dynamic task (agent executes 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:

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

List/remove:

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

Time Expressions

User says Parameters
remind me in 20 seconds in_seconds: 20 (RECOMMENDED - tool computes datetime automatically)
remind me in 5 minutes in_seconds: 300 (5 minutes = 300 seconds)
remind me in 1 hour in_seconds: 3600 (1 hour = 3600 seconds)
every 20 minutes every_seconds: 1200
every hour every_seconds: 3600
every day at 8am cron_expr: "0 8 * * *"
weekdays at 5pm cron_expr: "0 17 * * 1-5"
9am Vancouver time daily cron_expr: "0 9 * * *", tz: "America/Vancouver"
at a specific time at: ISO datetime string (e.g. "2026-03-03T14:30:00")

IMPORTANT: For "remind me in X seconds/minutes", use in_seconds parameter instead of calculating at manually!

Examples:

  • "remind me in 25 seconds" → cron(action="add", message="...", in_seconds=25)
  • "remind me in 5 minutes" → cron(action="add", message="...", in_seconds=300) (5 * 60 = 300)
  • "remind me in 1 hour" → cron(action="add", message="...", in_seconds=3600) (60 * 60 = 3600)

The in_seconds parameter automatically computes the correct future datetime - you don't need to calculate it yourself!

Only use at when:

  • User specifies an exact time like "at 3pm" or "at 2026-03-03 14:30"
  • You need to schedule for a specific absolute datetime

Timezone

Use tz with cron_expr to schedule in a specific IANA timezone. Without tz, the server's local timezone is used.