# Set Reminder

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

- Skill: `kbarbel640-del/set-reminder` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add kbarbel640-del/set-reminder`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kbarbel640-del/set-reminder/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kbarbel640-del (https://skillmd.com/u/kbarbel640-del)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/kbarbel640-del/set-reminder

---


# Set Reminder

Creates validated reminders using the OpenClaw cron system. Handles time parsing, channel validation, and delivers via configured channels.

## Usage

From any workspace:
```bash
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):
```bash
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

```bash
# 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:

```json
{
  "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>`:

```json
"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)

