Skill: luisbueno/apple-reminders-remindctl (version 1.0.0)

--- name: apple-reminders description: Manage Apple Reminders via the remindctl CLI. Use for time-anchored or place-anchored tracking that doesn't belong on the calendar. --- # Apple Reminders (remindctl) Use this skill when Luis wants to track, capture, or check on time-anchored or place-anchored items that don't warrant a calendar event. ## When to use this vs other stores - **Reminders** — actions tied to a time, place, or recurrence. "Remind me to..." - **Google Calendar** — events with a fixed time block and duration. "Schedule..." - **Open Brain** — durable facts, context, decisions, patterns. "Remember that..." If an item belongs in two stores (e.g. "remind me to take Mounjaro every Wednesday" is both a recurring reminder AND a protocol fact worth knowing), create the reminder first, then capture a thought in Open Brain referencing the reminder by its ID prefix in the format `reminder:4A83`. Most reminders are ephemeral ("grab milk") and do NOT belong in Open Brain. Only mirror when the item is durable context Luis will want to reason about later. ## Hard rules 1. **Default write target is the `Kaidan` list.** Never write to other lists unless Luis explicitly names one ("add this to Shopping"). 2. **Never use `delete`.** Use `complete` instead — it's reversible via `--incomplete`. Completed reminders auto-purge per Reminders' own settings. 3. **Never use list-level mutations** — no `list --rename`, no `list --delete`, no `list --create` without Luis explicitly asking. 4. **Always pass `--json` on read commands** (`show`, `list`). Parse the output, present a human summary back. 5. **Always pass `--no-input`** to ensure non-interactive execution. 6. **Use ID prefixes (e.g. `4A83`), not indexes (`1`, `2`)**, for any operation that spans more than one command. Indexes shift between `show` runs; ID prefixes are stable. ## Priority mapping Use Luis's A/B/C mode framework when setting `--priority`: - `high` — A-mode floor (protocol, non-negotiable) - `medium` — B-mode (important, can flex) - `low` or `none` — C-mode (nice-to-have) If priority isn't obvious from context, ask or default to `none`. ## Common patterns **Check today's reminders:** ``` remindctl show today --json --no-input ``` **Check Luis's Kaidan list:** ``` remindctl list Kaidan --json --no-input ``` **Check all lists at once:** ``` remindctl list --json --no-input ``` **Add to default Kaidan list:** ``` remindctl add "Title here" --list Kaidan --no-input --json ``` **Add with due date:** ``` remindctl add "Take Mounjaro" --list Kaidan --due "2026-05-13 09:00" --no-input --json ``` **Add recurring:** ``` remindctl add "Water garden" --list Kaidan --due tomorrow --repeat "every 3 days" --no-input --json ``` **Add location-based (geofence):** ``` remindctl add "Grab the mail" --list Kaidan --location "<address>" --radius 100 --no-input --json ``` **Complete by ID prefix:** ``` remindctl complete 4A83 --json --no-input ``` **Edit (change title, move list, set due, etc.):** ``` remindctl edit 4A83 --due "2026-05-14 18:00" --json --no-input ``` **Clear a due date or recurrence:** ``` remindctl edit 4A83 --clear-due --no-repeat --json --no-input ``` ## Filters available on `show` `today | tomorrow | week | overdue | upcoming | open | completed | all | <YYYY-MM-DD>` Default to `today` for "what do I have today" questions. Use `overdue` proactively when Luis hasn't checked in a while. ## Failure modes - **Authorization revoked:** `remindctl status` returns not-authorized. Tell Luis to run `remindctl authorize` from a terminal at the Mac Mini. - **List not found:** Reminders requires the list to exist. Don't auto-create — ask Luis whether he wants the `Kaidan` list created or whether he meant a different list. - **Ambiguous ID prefix:** If `edit`/`complete` returns an ambiguity error, run `show --json` and use a longer prefix or the full ID. - **Quiet output is misleading:** Always parse `--json` output to confirm success rather than assuming silence means success. ## Notes on scope - `remindctl` is installed via Homebrew: `brew install steipete/tap/remindctl` - Requires macOS Reminders Automation permission (granted) - All operations target the user's iCloud Reminders, so changes are visible on iPhone, Watch, and other Apple devices within seconds


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)