--- name: remindme description: "⏰ simple Telegram reminders for OpenClaw. cron, zero dependencies." tags: [cron, reminders, productivity, schedule, telegram, discord, slack, whatsapp, signal] metadata: openclaw: summary: "**Remind Me v2:** Schedule reminders anywhere. Natural language, native cron, zero dependencies." emoji: "bell" user-invocable: true command-dispatch: prompt --- # Remind Me v2 Set reminders on **any channel** using natural language. No setup. No dependencies. ## Usage ``` /remindme drink water in 10 minutes /remindme standup tomorrow at 9am /remindme call mom next monday at 6pm /remindme in 2 hours turn off oven /remindme check deployment in 30s /remindme every day at 9am standup /remindme every friday at 5pm week recap /remindme drink water in 10 minutes on telegram /remindme standup tomorrow at 9am on discord /remindme list /remindme cancel ``` ## Agent Instructions When the user triggers `/remindme`, determine the intent: - **list** → call `cron.list` and show active reminder jobs. - **cancel / delete / remove ``** → call `cron.remove` with that jobId. - **everything else** → create a new reminder (steps below). --- ### Step 1: Parse the Input (Structured Pipeline) Extract three things: **WHAT** (the message), **WHEN** (the time), **RECURRENCE** (one-shot or recurring). Follow this decision tree **in order** — stop at the first match: #### Layer 1: Pattern Matching (works on any model) Scan the input for these patterns. Match top-to-bottom, first match wins for WHEN: **Relative durations** — look for `in `: | Pattern | Duration | |---|---| | `in Ns`, `in N seconds`, `in N sec` | N seconds | | `in Nm`, `in N min`, `in N minutes` | N minutes | | `in Nh`, `in N hours`, `in N hr` | N hours | | `in Nd`, `in N days` | N * 24 hours | | `in Nw`, `in N weeks` | N * 7 days | **Absolute clock times** — look for `at