home / skills / openclaw / skills / mh-apple-reminders

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

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

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

Files (2)
SKILL.md
3.0 KB
---
name: apple-reminders
description: Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
homepage: https://github.com/steipete/remindctl
metadata:
  {
    "openclaw":
      {
        "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.

## When to Use

✅ **USE this skill when:**

- User explicitly 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 in their iPhone/iPad Reminders app

## When NOT to Use

❌ **DON'T use this skill when:**

- Scheduling Clawdbot tasks or alerts → use `cron` tool with systemEvent instead
- Calendar events or appointments → use Apple Calendar
- Project/work task management → use Notion, GitHub Issues, or task queue
- One-time notifications → use `cron` tool for timed alerts
- User says "remind me" but means a Clawdbot alert → clarify first

## Setup

- Install: `brew install steipete/tap/remindctl`
- macOS-only; grant Reminders permission when prompted
- Check status: `remindctl status`
- Request access: `remindctl authorize`

## Common Commands

### 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"
```

### 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`)

## Example: Clarifying User Intent

User: "Remind me to check on the deploy in 2 hours"

**Ask:** "Do you want this in Apple Reminders (syncs to your phone) or as a Clawdbot alert (I'll message you here)?"

- Apple Reminders → use this skill
- Clawdbot alert → use `cron` tool with systemEvent

Overview

This skill manages Apple Reminders from the command line using the remindctl CLI. It lets you list, create, edit, complete, and delete reminders and lists, with support for date filters and JSON/plain output. Use it on macOS with Reminders permission granted so tasks sync to your iPhone and iPad.

How this skill works

The skill constructs and runs remindctl commands to query and modify the system Reminders database. It supports list management, due-date parsing (natural words and ISO/YYY-MM-DD formats), and output formats for scripting (JSON, TSV, quiet counts). Commands that change data (add, complete, delete) are executed after confirming intent.

When to use it

  • User explicitly asks for Apple Reminders or the Reminders app
  • Creating personal to-dos that must sync to iPhone/iPad
  • Managing or organizing Reminders lists from the terminal
  • Filtering tasks by today, tomorrow, week, overdue, or a specific date
  • Scripting reminder queries with JSON or plain output for integrations

Best practices

  • Confirm whether the user means Apple Reminders or an in-chat alert before creating reminders
  • Use --json or --plain for automation and parsing in scripts
  • Prefer list names when adding tasks to keep reminders organized
  • Validate date input; accept natural words (today/tomorrow) or ISO/ YYYY-MM-DD formats
  • Avoid using this for calendar events or project tracking tools better suited for team workflows

Example use cases

  • Add a personal due task that syncs to iPhone: remindctl add --title "Pay rent" --due 2026-03-01
  • Show everything due this week for Quick review: remindctl week --json
  • Create a new list and add items: remindctl list Projects --create ; remindctl add --title "Specs" --list Projects
  • Complete multiple reminders by ID to mark tasks done: remindctl complete 12 13 14
  • Export today’s reminders as JSON for a script: remindctl today --json

FAQ

How do I authorize access to Reminders?

Run remindctl authorize and grant permission in the macOS prompts.

What date formats are accepted for --due?

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

Can I use this on non-macOS systems?

No. remindctl works with Apple Reminders and requires macOS and appropriate Permissions.