Get the FREE Ultimate OpenClaw Setup Guide →

cron

Scanned
npx machina-cli add skill zebbern/icron/cron --openclaw
Files (1)
SKILL.md
870 B

Cron

Use the cron tool to schedule reminders or recurring tasks.

Two Modes

  1. Reminder - message is sent directly to user
  2. Task - message is a task description, agent executes and sends result

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 zebbern/icron GitHub stars and report", every_seconds=600)

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"

Source

git clone https://github.com/zebbern/icron/blob/main/icron/skills/cron/SKILL.mdView on GitHub

Overview

The cron skill lets you create time-based jobs that either remind you directly or run a task through the agent. Use every_seconds for fixed intervals or cron_expr for specific times. This automation reduces manual follow-ups and keeps repetitive work on track.

How This Skill Works

Two modes are supported: Reminder (the message is sent to you) and Task (the agent executes the task and reports results). Jobs are created with cron(action='add', message='...', every_seconds=...) for fixed intervals or cron_expr for calendar-like timing. You can inspect and manage your jobs with cron(action='list') and cron(action='remove', job_id=...).

When to Use It

  • You need a fixed reminder at regular intervals, e.g., every 20 minutes (every_seconds).
  • You want the agent to perform a recurring task and report results.
  • You need to view all active cron jobs.
  • You want to cancel a scheduled job by its ID.
  • You want specific times, such as daily at 8am or weekdays at 5pm, using cron_expr.

Quick Start

  1. Step 1: Add a fixed reminder with cron(action='add', message='Time to take a break!', every_seconds=1200)
  2. Step 2: Add a recurring task that reports every 600 seconds: cron(action='add', message='Check zebbern/icron GitHub stars and report', every_seconds=600)
  3. Step 3: List existing jobs: cron(action='list')

Best Practices

  • Define clear, concise messages for reminders to avoid noise.
  • Choose an appropriate every_seconds to balance usefulness and disruption.
  • Prefer cron_expr when scheduling time-of-day or weekday patterns.
  • Keep a reference of job IDs to simplify management.
  • Test with short intervals to validate behavior before long-running schedules.

Example Use Cases

  • Fixed reminder: cron(action='add', message='Time to take a break!', every_seconds=1200)
  • Dynamic task: cron(action='add', message='Check zebbern/icron GitHub stars and report', every_seconds=600)
  • List jobs: cron(action='list')
  • Remove a job: cron(action='remove', job_id='abc123')
  • Daily schedule: cron(action='add', message='Daily sales report', cron_expr='0 8 * * *')

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers