| name | cron-management |
| description | Manage scheduled tasks (crons). Use when: setting up crons on session start, creating new recurring or scheduled tasks, or troubleshooting scheduled tasks. |
Cron Management
Your scheduled tasks are defined in config.json under the crons array. This skill explains how to manage them.
On Session Start
Check if your crons are active. If not, recreate them:
- Read
config.json to get your cron definitions
- For each entry in the
crons array, create a loop: /loop {interval} {prompt}
- Verify all crons are running
Default Crons
No crons are defined by default. Users can add any recurring tasks they need to config.json.
Adding a New Cron
- Create the
/loop for immediate use: /loop {interval} {prompt}
- Persist it - Add the cron to
config.json so it survives restarts:
{"name": "descriptive-name", "interval": "5m", "prompt": "What to do each cycle"}
- Confirm to the user that the cron is active and persisted
Removing a Cron
- Cancel the active
/loop
- Remove the entry from
config.json
Cron Expiry
Built-in /loop crons expire after 3 days. Since your session restarts via launchd, this isn't an issue - crons are recreated from config.json on each fresh start.
Troubleshooting
- If a cron isn't firing, check if it was created this session
- If crons are missing after a restart, re-read
config.json and recreate them