icli

star 0

This skill should be used when the user asks to "add a reminder", "add an event", "list reminders", "list events", "complete a reminder",,"add to my calendar", "delete a reminder", "delete an event", "check permissions", "request permissions", "create a reminder", "create an event", "show reminders", "show calendar events", or any task involving managing Apple Reminders or Calendar from the terminal using icli.

4rays By 4rays schedule Updated 5/27/2026

name: icli description: This skill should be used when the user asks to "add a reminder", "add an event", "list reminders", "list events", "complete a reminder",,"add to my calendar", "delete a reminder", "delete an event", "check permissions", "request permissions", "create a reminder", "create an event", "show reminders", "show calendar events", or any task involving managing Apple Reminders or Calendar from the terminal using icli. version: 0.1.0

icli

icli is a macOS menu bar app with a CLI for managing Apple Reminders and Calendar events. The CLI communicates with the app over a Unix socket — the iCLI app must be running.

Command Structure

icli <group> <command> [options]

GROUPS:
  reminder    Manage Apple Reminders
  calendar    Manage Apple Calendar events
  permission  Manage system permissions
  status      Show permission status

Global option: --format human|json|plain (default: human)


Reminders

List reminders

icli reminder list                        # all incomplete reminders
icli reminder list --completed            # include completed
icli reminder list --list "Shopping"      # filter by list name

Output format: - Title [List] due DATE (priority)

List reminder lists

icli reminder lists

Add a reminder

icli reminder add "Buy oat milk"
icli reminder add "Call dentist" --list "Health"
icli reminder add "Submit report" --due "2026-06-01 09:00" --priority high
icli reminder add "Read book" --notes "Start with chapter 3"

Options:

  • --list <name> — target list (default: system default)
  • --due <datetime> — due date, accepts natural formats: "tomorrow", "2026-06-01", "2026-06-01 14:00"
  • --priority low|medium|high
  • --notes <text>

Complete a reminder

icli reminder complete <id>
icli reminder complete <id1> <id2> <id3>   # multiple at once

Get IDs from icli reminder list --format plain (first column).

Edit a reminder

icli reminder edit <id> --title "New title"
icli reminder edit <id> --due "2026-07-01" --priority medium
icli reminder edit <id> --due none          # clear due date
icli reminder edit <id> --list "Work"       # move to different list

Delete a reminder

icli reminder delete <id>
icli reminder delete <id1> <id2>

Calendar

List calendars

icli calendar list

List events

icli calendar events                              # next 7 days
icli calendar events --start 2026-06-01           # from date
icli calendar events --start 2026-06-01 --end 2026-06-30
icli calendar events --calendar "Work"            # filter by calendar

Add an event

icli calendar add "Team standup" --start "2026-06-02 09:00" --end "2026-06-02 09:30"
icli calendar add "Conference" --start 2026-06-10 --end 2026-06-12 --all-day
icli calendar add "Lunch" --start "2026-06-03 12:00" --end "2026-06-03 13:00" --calendar "Personal"
icli calendar add "Meeting" --start "2026-06-04 10:00" --end "2026-06-04 11:00" --location "Office" --notes "Bring laptop"

Options:

  • --start <datetime> — required
  • --end <datetime> — required
  • --calendar <name> — target calendar
  • --all-day — all-day event (use date only for start/end)
  • --location <text>
  • --notes <text>
  • --url <url>

Delete an event

icli calendar delete <id>

Get IDs from icli calendar events --format plain (first column).


Permissions

icli status                        # check current permission status
icli permission request            # request both Reminders + Calendar
icli permission request --reminders
icli permission request --calendars
icli permission reset              # reset TCC permissions (then relaunch iCLI + re-request)
icli permission settings           # open iCLI settings window

Getting IDs

To get reminder or event IDs for complete/edit/delete operations, use plain format:

icli reminder list --format plain   # tab-separated: id, list, completed, priority, due, completionDate, title
icli calendar events --format plain # tab-separated: id, calendar, start, end, allDay, location, title

The ID is always the first column.

JSON Output

All commands support --format json for structured output — useful when scripting or piping to other tools.

icli reminder list --format json
icli calendar events --format json
Install via CLI
npx skills add https://github.com/4rays/icli --skill icli
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator