reminder-engine
使用 OpenClaw cron 作业(一次性或重复)创建、列出、取消和暂停提醒。当用户提出以下问题时使用:“20 分钟后提醒我”、“明天 9 点提醒我”、“每个工作日 10:30”、“列出我的提醒”、“取消提醒”或“暂停此提醒”。该技能侧重于安全调度(时区正确)、创建作业之前的确认以及在触发时清晰易读的提醒文本。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~martok9803-martok9803-reminder-enginecURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~martok9803-martok9803-reminder-engine/file -o martok9803-martok9803-reminder-engine.md## 概述(中文) 使用 OpenClaw cron 作业(一次性或重复)创建、列出、取消和暂停提醒。当用户提出以下问题时使用:“20 分钟后提醒我”、“明天 9 点提醒我”、“每个工作日 10:30”、“列出我的提醒”、“取消提醒”或“暂停此提醒”。该技能侧重于安全调度(时区正确)、创建作业之前的确认以及在触发时清晰易读的提醒文本。 ## 原文 # Reminder Engine Turn natural-language reminders into OpenClaw `cron` jobs. ## Workflow ### 1) Parse intent Classify the request: - **One-shot**: “in 20 minutes”, “tomorrow at 9”, “on March 1st at 10:00” - **Recurring**: “every day at 9”, “every weekday at 10:30”, “every Monday”, “every 2 hours” - **Management**: “list reminders”, “cancel X”, “disable/enable”, “snooze X” Extract: - reminder text (what should be said when it fires) - delivery channel context (current chat unless user specifies otherwise) - timezone (default to the runtime timezone unless user specifies) ### 2) Confirm schedule (always) Before creating/updating/removing jobs, echo back: - the computed schedule in human form (and timezone) - whether it’s one-shot or recurring - the exact reminder message text If the user’s wording is ambiguous (“next Friday”, “in the morning”), ask a single clarifying question. ### 3) Create the cron job (reminders) Use the **cron tool**. Rules: - Prefer `schedule.kind="at"` for one-shots. - Prefer `schedule.kind="cron"` for recurring reminders (use `tz` when possible). - Use `sessionTarget="main"` and `payload.kind="systemEvent"`. - Write payload text like a reminder: start with “Reminder:” (especially if the reminder is set far in advance). - Include light context if it helps (“Reminder: submit the invoice (you said you need this for the client call)”). ### 4) List / cancel / snooze - **List**: use `cron.list`, show jobId + next run + name/summary. - **Cancel**: `cron.remove(jobId)` (prefer cancelling by exact jobId; if user provides text, search list and confirm). - **Snooze**: implement as cancel+recreate (one-shot) or a one-shot override reminder. ## Reminder text quality - Keep it short and action-oriented. - Avoid secrets. - If the reminder is for a public channel, warn the user. ## Safety - Never create spammy recurring reminders without explicit confirmation. - Never “broadcast” reminders to multiple targets unless explicitly requested. - Never include access keys/tokens in reminder payloads. ## Examples (what good looks like) User: “remind me in 20 minutes to stretch” - Create one-shot `at` job. - Payload text: `Reminder: stretch.` User: “every weekday at 10:30 remind me to stand up” - Create recurring `cron` job in local timezone. - Payload text: `Reminder: stand up (weekday standup alarm).` User: “list my reminders” - List jobs; show ids so the user can say “cancel <id>”. User: “cancel the stand up reminder” - List matching jobs, ask which one if multiple, then remove.