147 lines
4.1 KiB
Markdown
147 lines
4.1 KiB
Markdown
---
|
|
title: "Apple Reminders — Apple Reminders via remindctl: add, list, complete"
|
|
sidebar_label: "Apple Reminders"
|
|
description: "Apple Reminders via remindctl: add, list, complete"
|
|
---
|
|
|
|
{/* This page is auto-generated from the skill's SKILL.md by website/scripts/generate-skill-docs.py. Edit the source SKILL.md, not this page. */}
|
|
|
|
# Apple Reminders
|
|
|
|
Apple Reminders via remindctl: add, list, complete.
|
|
|
|
## Skill metadata
|
|
|
|
| | |
|
|
|---|---|
|
|
| Source | Bundled (installed by default) |
|
|
| Path | `skills/apple/apple-reminders` |
|
|
| Version | `1.0.0` |
|
|
| Author | Hermes Agent |
|
|
| License | MIT |
|
|
| Platforms | macos |
|
|
| Tags | `Reminders`, `tasks`, `todo`, `macOS`, `Apple` |
|
|
|
|
## Reference: full SKILL.md
|
|
|
|
:::info
|
|
The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active.
|
|
:::
|
|
|
|
# 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
|
|
|
|
```bash
|
|
remindctl # Today's reminders
|
|
remindctl today # Today
|
|
remindctl tomorrow # Tomorrow
|
|
remindctl week # This week
|
|
remindctl overdue # Past due
|
|
remindctl all # Everything
|
|
remindctl 2026-01-04 # Specific date
|
|
```
|
|
|
|
### Manage Lists
|
|
|
|
```bash
|
|
remindctl list # List all lists
|
|
remindctl list Work # Show specific list
|
|
remindctl list Projects --create # Create list
|
|
remindctl list Work --delete # Delete list
|
|
```
|
|
|
|
### Create Reminders
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
remindctl add --title "Hairdresser" --due "2026-05-15 14:00" --alarm "2026-05-15 13:30"
|
|
```
|
|
|
|
To edit an existing reminder:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
remindctl complete 1 2 3 # Complete by ID
|
|
remindctl delete 4A83 --force # Delete by ID
|
|
```
|
|
|
|
### Output Formats
|
|
|
|
```bash
|
|
remindctl today --json # JSON for scripting
|
|
remindctl today --plain # TSV format
|
|
remindctl today --quiet # Counts only
|
|
```
|
|
|
|
## 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
|
|
|
|
1. When user says "remind me", clarify: Apple Reminders (syncs to phone) vs agent cronjob alert
|
|
2. Always confirm reminder content and due date before creating
|
|
3. Use `--json` for programmatic parsing
|