| name | apple-reminders |
| description | Apple Reminders via remindctl: add, list, complete. |
| version | 1.0.0 |
| author | Hermes Agent |
| license | MIT |
| platforms | ["macos"] |
| metadata | {"hermes":{"tags":["Reminders","tasks","todo","macOS","Apple"],"config":[{"key":"apple-reminders.enabled","description":"Enable apple-reminders skill behavior","default":true,"prompt":"Enable apple-reminders skill?"}],"category":"productivity"}} |
| prerequisites | {"commands":["remindctl"]} |
Apple Reminders
Use remindctl to manage Apple Reminders directly from the terminal. Tasks sync across all Apple devices via iCloud.
Prerequisites
- macOS with Reminders.app
- Install:
brew install steipete/tap/remindctl
- Grant Reminders permission when prompted
- Check:
remindctl status / Request: remindctl authorize
When to Use
- User mentions "reminder" or "Reminders app"
- Creating personal to-dos with due dates that sync to iOS
- Managing Apple Reminders lists
- User wants tasks to appear on their iPhone/iPad
When NOT to Use
- Scheduling agent alerts → use the cronjob tool instead
- Calendar events → use Apple Calendar or Google Calendar
- Project task management → use GitHub Issues, Notion, etc.
- If user says "remind me" but means an agent alert → clarify first
Quick Reference
View Reminders
remindctl
remindctl today
remindctl tomorrow
remindctl week
remindctl overdue
remindctl all
remindctl 2026-01-04
Manage Lists
remindctl list
remindctl list Work
remindctl list Projects --create
remindctl list Work --delete
Create Reminders
remindctl add "Buy milk"
remindctl add --title "Call mom" --list Personal --due tomorrow
remindctl add --title "Meeting prep" --due "2026-02-15 09:00"
Due Time vs Alarm / Early Nudge
--due and --alarm are different fields:
--due sets the reminder's due date/time.
--alarm sets the EventKit alarm/notification trigger. Timed due reminders may default to an alarm at the due time, but pass --alarm explicitly when the user asks for an earlier nudge.
For a reminder due at 2:00 PM with a notification 30 minutes earlier:
remindctl add --title "Hairdresser" --due "2026-05-15 14:00" --alarm "2026-05-15 13:30"
To edit an existing reminder:
remindctl edit 87354 --due "2026-05-15 14:00" --alarm "2026-05-15 13:30"
The Reminders UI may show or group the item by the alarm time because that is when the notification fires. Verify with JSON instead of assuming the due time moved:
remindctl today --json
Expected shape:
dueDate: actual due time
alarmDate: notification / early nudge time
Apple's public EKReminder docs list only reminder-specific properties. Alarm support comes from inherited EKCalendarItem behavior exposed by remindctl's --alarm flag.
Complete / Delete
remindctl complete 1 2 3
remindctl delete 4A83 --force
Output Formats
remindctl today --json
remindctl today --plain
remindctl today --quiet
Date Formats
Accepted by --due and date filters:
today, tomorrow, yesterday
YYYY-MM-DD
YYYY-MM-DD HH:mm
- ISO 8601 (
2026-01-04T12:34:56Z)
Rules
- When user says "remind me", clarify: Apple Reminders (syncs to phone) vs agent cronjob alert
- Always confirm reminder content and due date before creating
- Use
--json for programmatic parsing