Skill Details
Back to Skills

/set-reminder

by onionrings29

Use when user wants to be reminded about something at a specific time or recurring schedule. Creates cron-based reminders delivered via iMessage, Discord, or other configured channels.

View on GitHub

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

  1. Loads config from skill directory (workspace/local) or managed skill location
  2. Validates input (time format, channel exists)
  3. Creates cron job via openclaw cron add
  4. Reminder fires and delivers via configured channel

Config Priority:

  1. <skill_dir>/config.json (workspace/local skill - highest priority)
  2. ~/.openclaw/skills/set-reminder/config.json (managed skill)
  3. ~/.openclaw/openclaw.json at skills.entries.set-reminder.config (legacy fallback)