Set Reminder
Creates validated reminders using the OpenClaw cron system. Handles time parsing, channel validation, and delivers via configured channels.
Usage
From any workspace:
python3 skills/set-reminder/scripts/set_reminder.py --at <when> --message "<text>" [--channel <name>]
python3 skills/set-reminder/scripts/set_reminder.py --every <duration> --message "<text>" [--channel <name>]
python3 skills/set-reminder/scripts/set_reminder.py --cron "<expr>" --message "<text>" [--channel <name>]
Or using {baseDir} (skill directory):
python3 {baseDir}/scripts/set_reminder.py --at <when> --message "<text>" [--channel <name>]
python3 {baseDir}/scripts/set_reminder.py --every <duration> --message "<text>" [--channel <name>]
python3 {baseDir}/scripts/set_reminder.py --cron "<expr>" --message "<text>" [--channel <name>]
Parameters
| Parameter | Description |
|---|---|
--at |
One-shot: ISO datetime (2025-02-01T14:00:00) or relative (+20m, +1h, +2d) |
--every |
Recurring interval: 30m, 2h, 1d |
--cron |
5-field cron: "0 9 * * *" |
--message |
Reminder text (required) |
--channel |
Channel name from config (optional, uses default) |
Examples
# Remind in 20 minutes
python3 skills/set-reminder/scripts/set_reminder.py --at "+20m" --message "Take medicine"
# Daily at 9 AM via discord
python3 skills/set-reminder/scripts/set_reminder.py --cron "0 9 * * *" --message "Standup" --channel discord
# Every 2 hours
python3 skills/set-reminder/scripts/set_reminder.py --every "2h" --message "Drink water"
Config
Workspace/local skill (recommended):
Create config.json in the skill directory:
{
"default": "imessage",
"timezone": "America/Edmonton",
"channels": {
"imessage": "user@example.com",
"discord": "1234567890123456789"
}
}
Managed skill (legacy):
Config in ~/.openclaw/openclaw.json at skills.entries.set-reminder.config.<agentId>:
"set-reminder": {
"enabled": true,
"config": {
"main": {
"default": "imessage",
"timezone": "America/Edmonton",
"channels": { "imessage": "user@example.com" }
}
}
}
Required fields: default, timezone, channels
How It Works
- Loads config from skill directory (workspace/local) or managed skill location
- Validates input (time format, channel exists)
- Creates cron job via
openclaw cron add - Reminder fires and delivers via configured channel
Config Priority:
<skill_dir>/config.json(workspace/local skill - highest priority)~/.openclaw/skills/set-reminder/config.json(managed skill)~/.openclaw/openclaw.jsonatskills.entries.set-reminder.config(legacy fallback)