home / skills / openclaw / skills / apple-reminders

apple-reminders skill

/skills/steipete/apple-reminders

This skill helps you manage Apple Reminders from the terminal using remindctl on macOS, including lists, due dates, and JSON or plain output.

npx playbooks add skill openclaw/skills --skill apple-reminders

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.3 KB
---
name: apple-reminders
description: Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
homepage: https://github.com/steipete/remindctl
metadata: {"clawdbot":{"emoji":"⏰","os":["darwin"],"requires":{"bins":["remindctl"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/remindctl","bins":["remindctl"],"label":"Install remindctl via Homebrew"}]}}
---

# Apple Reminders CLI (remindctl)

Use `remindctl` to manage Apple Reminders directly from the terminal. It supports list filtering, date-based views, and scripting output.

Setup
- Install (Homebrew): `brew install steipete/tap/remindctl`
- From source: `pnpm install && pnpm build` (binary at `./bin/remindctl`)
- macOS-only; grant Reminders permission when prompted.

Permissions
- Check status: `remindctl status`
- Request access: `remindctl authorize`

View Reminders
- Default (today): `remindctl`
- Today: `remindctl today`
- Tomorrow: `remindctl tomorrow`
- Week: `remindctl week`
- Overdue: `remindctl overdue`
- Upcoming: `remindctl upcoming`
- Completed: `remindctl completed`
- All: `remindctl all`
- Specific date: `remindctl 2026-01-04`

Manage Lists
- List all lists: `remindctl list`
- Show list: `remindctl list Work`
- Create list: `remindctl list Projects --create`
- Rename list: `remindctl list Work --rename Office`
- Delete list: `remindctl list Work --delete`

Create Reminders
- Quick add: `remindctl add "Buy milk"`
- With list + due: `remindctl add --title "Call mom" --list Personal --due tomorrow`

Edit Reminders
- Edit title/due: `remindctl edit 1 --title "New title" --due 2026-01-04`

Complete Reminders
- Complete by id: `remindctl complete 1 2 3`

Delete Reminders
- Delete by id: `remindctl delete 4A83 --force`

Output Formats
- JSON (scripting): `remindctl today --json`
- Plain TSV: `remindctl today --plain`
- Counts only: `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`)

Notes
- macOS-only.
- If access is denied, enable Terminal/remindctl in System Settings → Privacy & Security → Reminders.
- If running over SSH, grant access on the Mac that runs the command.

Overview

This skill manages Apple Reminders from the macOS command line using the remindctl CLI. It provides listing, creation, editing, completion, and deletion of reminders, with support for lists, date filters, and machine-friendly JSON or plain output. It's designed for terminal workflows and automation on macOS.

How this skill works

The skill wraps remindctl commands to query and modify the native Reminders database on macOS. It can filter by relative dates (today, tomorrow, week), accept explicit dates and ISO 8601 timestamps, and operate on specific lists or item IDs. Output options include JSON for scripting, plain TSV, or counts-only for minimal checks.

When to use it

  • Integrating Reminders into shell scripts or automation pipelines
  • Quickly adding or completing tasks without opening the Reminders app
  • Filtering tasks by relative dates (today, tomorrow, week) for daily workflows
  • Exporting reminder data as JSON for backups or syncing to other tools
  • Managing multiple lists from the terminal (create, rename, delete)

Best practices

  • Grant Reminders permission to Terminal or remindctl in System Settings before use
  • Use JSON output (--json) when scripting to avoid brittle text parsing
  • Reference reminder IDs when editing, completing, or deleting to avoid accidental changes
  • Use --force only for scripted deletions after confirming IDs or running dry-runs
  • When running over SSH, authorize access on the physical Mac to avoid denied-permission errors

Example use cases

  • Add a quick task: remindctl add "Buy milk"
  • Create a task in a specific list with a due date: remindctl add --title "Call mom" --list Personal --due tomorrow
  • List all overdue items for a daily review: remindctl overdue --json
  • Complete multiple tasks by ID in a script: remindctl complete 1 2 3
  • Export today’s reminders in TSV for a simple report: remindctl today --plain

FAQ

Does this work on non-macOS systems?

No. remindctl interacts with the macOS Reminders API and requires macOS.

How do I give permission if access is denied?

Enable Terminal or remindctl in System Settings → Privacy & Security → Reminders, or run remindctl authorize to request access.

What date formats are accepted for due dates?

You can use keywords (today, tomorrow, yesterday), YYYY-MM-DD, YYYY-MM-DD HH:mm, or full ISO 8601 timestamps.