home / skills / zpankz / mcp-skillset / apple-reminders

apple-reminders skill

/apple-reminders

This skill helps you manage Apple Reminders from the terminal using remindctl on macOS, enabling list, add, edit, complete, and delete operations.

This is most likely a fork of the apple-reminders skill from openclaw
npx playbooks add skill zpankz/mcp-skillset --skill apple-reminders

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

Files (1)
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 terminal using the remindctl CLI. It exposes listing, creating, editing, completing, and deleting reminders and lists, with support for date filters and script-friendly output formats. It is macOS-only and requires Reminders permission for Terminal or the remindctl binary.

How this skill works

The skill wraps remindctl commands to inspect and mutate the native Reminders database. It can list reminders by relative dates (today, tomorrow, week), specific dates, or by list name. Actions include creating reminders with due dates and list assignment, editing fields, marking items complete, and deleting by ID. Output can be JSON, plain TSV, or counts for integration with scripts.

When to use it

  • Automate adding or updating reminders from scripts or shortcuts.
  • Query reminders for a given day, week, or arbitrary date from CI or cron jobs running on a Mac.
  • Integrate reminder counts or JSON output into dashboards or other tooling.
  • Manage multiple reminder lists: create, rename, or delete lists programmatically.
  • Run quick terminal checks (overdue, completed, upcoming) without opening the Reminders app.

Best practices

  • Run remindctl status and remindctl authorize first to confirm permissions and avoid surprises.
  • Use --json for reliable parsing in scripts and CI pipelines rather than parsing plain text output.
  • Prefer explicit dates (YYYY-MM-DD or ISO 8601) for reproducible scheduling in automation.
  • When deleting, use the --force flag intentionally and confirm IDs to avoid accidental data loss.
  • If running over SSH, ensure the macOS session granting Reminders access is the same host where remindctl runs.

Example use cases

  • Add tasks from a build script: remindctl add --title "Run post-deploy checks" --list Ops --due tomorrow.
  • Daily report script: remindctl today --json | jq '. | length' to get count of today’s reminders.
  • Bulk-complete items after a sprint: remindctl complete 12 13 14
  • Create and manage project lists: remindctl list Projects --create then remindctl add --title "Kickoff" --list Projects --due 2026-02-01
  • Filter by date for scheduling: remindctl 2026-01-04 --json to export reminders for a specific day.

FAQ

Does this work on non-macOS systems?

No. remindctl interacts with the macOS Reminders framework and requires macOS and appropriate system permissions.

How do I fix permission denied errors?

Run remindctl authorize or open System Settings → Privacy & Security → Reminders and enable Terminal or the remindctl binary. If over SSH, authorize on the Mac that runs the command.