executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
apple-remindersManage Apple Reminders via the `remindctl` CLI on macOS — list, add, complete, delete, manage lists.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: apple-reminders
description: Manage Apple Reminders via the remindctl CLI on macOS — list, add, complete, delete, manage lists.
version: 1.2.2
requires_tools:
Drive Apple Reminders from the terminal via remindctl. Reminders sync across Apple devices through iCloud.
Do not run a remindctl status probe before each request. Just run the
remindctl command the user asked for directly. Only when a command
fails map the error to a Setup playbook branch:
command not found: remindctl → Setup playbook → "remindctl is not installed".denied / not determined / restricted → Setup playbook → "Reminders permission missing".If unsure which branch applies, capture stderr and ask the user before proceeding.
When a check fails, the agent's job is to OFFER concrete help and EXECUTE the fix itself — not to dump install instructions on the user. Use this dialogue shape:
Reply (solo reply step):
"The
remindctlutility is not installed. I can install it via Homebrew (brew install steipete/tap/remindctl) — it needs your confirmation and takes about 20 seconds. Install it?"
On yes:
[{ "tool": "os.shell.run", "args": { "cmd": "brew", "args": ["install", "steipete/tap/remindctl"] } }]
After install, retry the original command.
If brew itself is missing, do NOT attempt to bootstrap Homebrew — reply: "You don't have Homebrew installed. Install it manually from https://brew.sh/, then I'll continue."
Unlike Notes Automation, remindctl has its own CLI command to request the permission — the agent CAN do it directly. Offer + execute:
"
remindctldoesn't have permission to access Reminders. Request it now? A system dialog will appear — click "Allow" in it."
On yes:
[{ "tool": "os.shell.run", "args": { "cmd": "remindctl", "args": ["authorize"] } }]
Then re-run remindctl status to verify. If it still says denied, fall back to opening System Settings:
[{ "tool": "os.shell.run", "args": { "cmd": "open", "args": ["x-apple.systempreferences:com.apple.preference.security?Privacy_Reminders"] } }]
…and ask the user to flip the toggle for the terminal/agent process, then re-check.
tasks.schedule / tasks.cron tools.remindctl.All examples invoke os.shell.run with cmd: "remindctl" and the args array shown. Add ["--json"] to any read command for machine-readable output.
| Goal | args |
|---|---|
| Today | ["today"] (or just [] — today is the default) |
| Tomorrow | ["tomorrow"] |
| This week | ["week"] |
| Past due | ["overdue"] |
| Everything | ["all"] |
| Specific date | ["2026-01-04"] |
| JSON output | append "--json" to any of the above |
| TSV output | append "--plain" |
| Counts only | append "--quiet" |
| Goal | args |
|---|---|
| List all lists | ["list"] |
| Show items in a list | ["list", "Work"] |
| Create a list | ["list", "Projects", "--create"] |
| Delete a list | ["list", "Work", "--delete"] |
| Goal | args |
|---|---|
| Quick add | ["add", "Buy milk"] |
| Add with list and due | ["add", "--title", "Call mom", "--list", "Personal", "--due", "tomorrow"] |
| Add with explicit datetime | ["add", "--title", "Meeting prep", "--due", "2026-02-15 09:00"] |
| Goal | args |
|---|---|
| Complete one or more by id | ["complete", "1", "2", "3"] |
| Delete by id | ["delete", "4A83", "--force"] |
Accepted by --due and date filters:
today, tomorrow, yesterdayYYYY-MM-DDYYYY-MM-DD HH:mm2026-01-04T12:34:56Ztasks.schedule / tasks.cron).--json whenever you need to parse the output programmatically; the human-formatted view changes between releases.