Natural 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):
markdown
- [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:
VariableAuto-detected?DescriptionCLAWDBOT_DIR✅ yesSet to the bot's own install directoryTIMEZONE❌ must askAffects cron scheduling — cannot be guessed reliablyREMINDERS_FILE✅ default ~/reminders.mdAsk only if user wants a custom pathCHANNEL✅ default telegramAsk only if user wants a different channelTO❌ must askRecipient ID — cannot be guessed
Bot setup flow:
CLAWDBOT_DIR to its own directoryEurope/Warsaw — see tz database)After setup, scripts are called without any flags:
bash
CLAWDBOT_DIR=... TIMEZONE=... CHANNEL=telegram TO=<id> bash create-reminder.sh "message" "when"
bash
# List pending reminders
cron list
# View reminder log
cat ~/reminders.md
# Remove a scheduled reminder
cron rm <job-id>
Use the env vars set during setup — no flags needed at runtime.
When the user says "remind me to X at Y":
bash
bash "$SKILL_DIR/create-reminder.sh" "X" "Y"
When the user says "remind me every X to Y":
bash
bash "$SKILL_DIR/create-recurring.sh" "Y" "every X"
Both scripts automatically:
--at or recurring with --every/ --cron)$REMINDERS_FILE