OpenParable
Skip to content
← Back to skills

Cron

Productivity
cron

Cron is an Agent Skill for productivity published in the HKUDS/nanobot repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Schedule reminders and recurring tasks.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/HKUDS/nanobot/blob/HEAD/nanobot/skills/cron/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/cron, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Cron

Use the cron tool to schedule reminders or recurring tasks that should report back to the originating chat/session when they run.

Do not use cron for periodic background checks that should stay quiet when there is nothing useful to report. For those, update HEARTBEAT.md; the protected heartbeat job runs those checks and only delivers results that pass the notification gate.

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 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)

Timezone

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