بنقرة واحدة
apple-reminders
Manage Apple Reminders via the `remindctl` CLI on macOS — list, add, complete, delete, manage lists.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Manage Apple Reminders via the `remindctl` CLI on macOS — list, add, complete, delete, manage lists.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Transcribe speech from audio files (mp3, m4a, wav, ogg, flac, webm) to text using the local `whisper` CLI — no API key. Use whenever a task hinges on the spoken content of an audio attachment.
Read macOS Calendar events via the `icalBuddy` CLI and create events via AppleScript (osascript). Use to check the user's calendar, agenda, upcoming events, or add an event on macOS.
Manage Apple Notes via the `memo` CLI on macOS — create, view, search, edit, export.
Manage Docker containers, images, volumes, and Compose stacks via the `docker` CLI — list, inspect, logs, run, build, stop, remove, compose up/down. Use for local container ops.
Process audio and video with the `ffmpeg` / `ffprobe` CLIs — convert, trim, extract audio, resize, change format, make GIFs, inspect media. Use for any audio/video transformation.
Drive GitHub via the official `gh` CLI — repos, issues, pull requests, releases, gists, Actions runs, and raw REST through `gh api`. Use when the user asks to inspect or manage GitHub.
| name | apple-reminders |
| description | Manage Apple Reminders via the `remindctl` CLI on macOS — list, add, complete, delete, manage lists. |
| version | 1.2.1 |
| requires_tools | ["os.shell.run"] |
| dangerous | false |
| platforms | ["darwin"] |
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):
«Утилита
remindctlне установлена. Могу поставить её через Homebrew (brew install steipete/tap/remindctl) — потребуется подтверждение и около 20 секунд. Поставить?»
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: «У вас не установлен Homebrew. Поставьте его вручную с https://brew.sh/, потом я продолжу.»
Unlike Notes Automation, remindctl has its own CLI command to request the permission — the agent CAN do it directly. Offer + execute:
«У
remindctlнет разрешения на доступ к Reminders. Запросить сейчас? Появится системный диалог, в нём нажмите "Allow".»
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.