Install
openclaw skills install natural-language-reminderSet reminders using natural language. Automatically creates one-time cron jobs and logs to markdown.
openclaw skills install natural-language-reminderNatural language reminders that fire automatically. Uses cron for scheduling, markdown for logging.
Just ask naturally:
For repeating reminders:
--at$REMINDERS_FILE (default: ~/reminders.md) for historyRelative:
Absolute:
Dates:
Intervals:
Daily:
Weekly:
All reminders are logged to $REMINDERS_FILE (default: ~/reminders.md):
- [scheduled] 2026-01-06 17:00 | Pay for Gumroad (id: abc123)
- [recurring] every 2h | Stand up and stretch (id: def456)
- [recurring] cron: 0 9 * * 1 | Weekly meeting (id: ghi789)
Status:
[scheduled] — one-time reminder waiting to fire[recurring] — repeating reminder (active)[sent] — one-time reminder already deliveredDuring installation, the bot will auto-detect what it can and ask for the rest:
| Variable | Auto-detected? | Description |
|---|---|---|
TIMEZONE | ❌ must ask | Affects cron scheduling — cannot be guessed reliably |
TO | ❌ must ask | Recipient ID — cannot be guessed |
CHANNEL | ✅ default telegram | Ask only if user wants a different channel |
REMINDERS_FILE | ✅ default ~/reminders.md | Ask only if user wants a custom path |
Bot setup flow:
Europe/Kyiv — see tz database)config.env in the skill directoryconfig.env automatically on every runconfig.env (generated during setup):
TIMEZONE="Europe/Kyiv"
TO="463113011"
CHANNEL="telegram"
REMINDERS_FILE="/home/clawd/reminders.md"
# List pending reminders
cron list
# View reminder log
cat ~/reminders.md
# Remove a scheduled reminder
cron rm <job-id>
Scripts load config.env automatically — no flags needed at runtime.
When the user says "remind me to X at Y":
bash "$SKILL_DIR/create-reminder.sh" "X" "Y"
When the user says "remind me every X to Y":
bash "$SKILL_DIR/create-recurring.sh" "Y" "every X"
Both scripts automatically:
config.env from the skill directory--at)openclaw cron add with the parsed schedule$REMINDERS_FILE