Reminders

SkillSearch

Lets your agent add, search, update, and complete tasks in Apple Reminders on macOS.

Then ask your AI: use the Reminders skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.

About this skill

Apple Reminders via rem CLI: add, list, search, update, complete, delete.

What this skill tells your AI

The instructions your AI receives, as published by steipete/agent-scripts in skills/reminders/SKILL.md and read by Ahel’s review.

Use this for Apple Reminders tasks. Prefer rem over Things/AppleScript when the user wants an AI-friendly personal todo backend on macOS.

Tool

  • CLI: rem
  • Repo: https://github.com/BRO3886/rem
  • Install:
GOBIN=/opt/homebrew/bin go install github.com/BRO3886/rem/cmd/rem@latest

rem uses EventKit for normal reads/writes. It may need Reminders permission for the calling app in System Settings > Privacy & Security.

Start

Check access:

rem lists -o json
rem today -o json

Use JSON for anything scripted or verified:

rem list --incomplete -o json
rem search "flight" -o json
rem show <id> -o json

Add Tasks

Default: add directly, then verify by search/show.

rem add "Book LHR-SFO nonstop business flight" --due "tomorrow 9am" --priority high --notes "Nonstop only." -o json
rem search "LHR-SFO" -o json

Useful flags:

  • --list "Name": target list
  • --due "tomorrow 9am": due date/time; natural language is supported
  • --priority high|medium|low|none
  • --notes "text"
  • --url https://...
  • --silent: due date without notification
  • --remind-me 15m: alarm before due time
  • --repeat daily|weekly|monthly|yearly

Update / Complete / Delete

Find the UUID first, then mutate by id or unique short id:

rem search "flight" -o json
rem update <id> --name "New title" --due "friday 2pm" --notes "..." -o json
rem complete <id> -o json
rem delete <id> --force

Always read back after writes; do not trust exit status alone.

Lists

rem lists --count -o json
rem list-mgmt create "Travel"
rem list-mgmt rename "Old" "New"
rem list-mgmt delete "Name" --force

Conventions

  • Use executable task titles. Rewrite vague notes into the next concrete action.
  • Preserve user wording when they clearly want verbatim capture.
  • Split multiple unrelated actions into separate reminders.
  • Use the default list unless the user names a list or the category is obvious.
  • Do not add calendar events here; use calendar tooling instead.
  • For current date math, run date; do not guess.

Gotchas

  • macOS only.
  • First run may fail with reminders access denied until the calling app has Reminders permission.
  • The default local list may be localized, e.g. Erinnerungen.
  • rem search is plain query search, not shell regex.
  • --due creates an alarm at the due time unless --silent is passed.
  • Flagged reminders use private ReminderKit under the hood and may be more OS fragile than ordinary CRUD.

Signals

GitHub stars
7k
Forks
635
Last commit
Oct 2026

Ahel review

  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
reminders
Source
github.com/steipete/agent-scripts