一键导入
reminders
Set a time-based reminder for the user. Urgent repeating phone alarm (ntfy), and/or a Google Calendar event. Ask which channel when unspecified.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Set a time-based reminder for the user. Urgent repeating phone alarm (ntfy), and/or a Google Calendar event. Ask which channel when unspecified.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | reminders |
| description | Set a time-based reminder for the user. Urgent repeating phone alarm (ntfy), and/or a Google Calendar event. Ask which channel when unspecified. |
| version | 1.0.0 |
| author | ghiath |
| license | MIT |
| platforms | ["linux","macos"] |
| metadata | {"hermes":{"tags":["Reminders","Alarm","Calendar","ntfy","Productivity","Notifications"]}} |
Create a time-based reminder for the user. There are two delivery channels, and they are for different needs:
ackWindowMin minutes. Use for
things that must not be missed: "wake me", "alarm", "alert me", "ping me",
"make sure I don't forget".Trigger on any request to be reminded of something at a time or after a delay: "remind me to ...", "set an alarm for ...", "wake me at ...", "alert me in 20 minutes", "put a reminder / event on my calendar for ...", "don't let me forget to ...".
Urgent phone alarm (rings repeatedly), or a calendar event? You can also say both. Then proceed with their answer. "Both" means do the alarm AND the calendar steps.
Never guess silently when it is ambiguous - a missed urgent alarm and a forgotten calendar entry fail in opposite ways.
Compute an absolute local time (Asia/Jakarta) before writing anything:
Write a reminder note into the vault. A hermes cron job (reminder-tick.py)
scans this folder every minute, fires the ntfy alarm when due, re-nags until the
acknowledge window elapses, and sends one Telegram ping on first fire. You do
NOT call ntfy yourself - just write the note.
Path: <vault>/reminders/<id>.md, where <id> is
rmd-YYYYMMDD-HHMM-<short-slug>. Use the absolute vault path you were given in
your role, with reminders/ appended. Create that folder if it does not exist.
Contents:
---
type: reminder
status: scheduled
channel: ntfy
when: 2026-07-15T17:00:00+07:00
title: Call the plumber
message: Call the plumber about the kitchen leak
priority: 5
tags: [alarm]
ackWindowMin: 15
id: rmd-20260715-1700-plumber
from: <your-agent-name>
created: 2026-07-15
---
Optional longer context for the reminder goes in the body.
Field notes:
when - ISO-8601 with the +07:00 offset. Do not omit the offset.priority - 1-5; use 5 for a real alarm, 4 for "important but not blaring".ackWindowMin - how many minutes to keep nagging before giving up (default
15). Larger for "get me out of bed", smaller for a gentle nudge.status - always start at scheduled. The tick moves it to firing, then to
missed once the window elapses.After writing the note, tell the user it is set, at what time, and that it will
keep ringing on their phone for up to ackWindowMin minutes.
Delegate to the google-workspace skill - it owns Google auth and the Calendar API. Create an event at the resolved time with a popup reminder. If Google is not yet authorized, that skill will walk the user through a one-time OAuth setup; hand off to it rather than trying to reach Google yourself.
Do NOT write a vault reminder note for a calendar-only request - Google fires the notification natively, so the scheduler is not involved.
For "both": create the calendar event via google-workspace AND write the ntfy reminder note above.
Give the user a one-line confirmation: channel(s), the resolved local time, and for alarms how long it will keep ringing. If you asked and they picked a channel, do not ask again for the same request.