calmly

Manage macOS Calendar events from the command line using EventKit. Use when creating, listing, or viewing calendar events on macOS without AppleScript dialogs or UI prompts. Supports all-day events, multi-day events, and timed events. Works with iCloud, local, and CalDAV calendars.

Audits

Pass

Install

openclaw skills install calmly

calmly

A calm CLI for macOS Calendar. Manage iCloud and local calendars without dialogs, prompts, or UI interruptions.

Why calmly?

  • AppleScript hangs — Calendar scripting often freezes waiting for permissions
  • ICS imports pop dialogs — Can't automate without user interaction
  • icalBuddy is read-only — Can't create events

calmly uses EventKit directly, so it works silently.

Installation

brew tap halbotley/tap
brew install calmly

First run prompts for Calendar access (System Settings → Privacy → Calendars). One-time only.

Commands

List calendars

calmly list

View upcoming events

calmly events Work           # Next 30 days
calmly events Family 14      # Next 14 days

Create all-day event

calmly add Work "Day Off" 2025-03-15

Create multi-day event

calmly add Family "Vacation" 2025-07-01 2025-07-14

Create timed event

calmly addtimed Work "Meeting" 2025-03-15 09:00 10:30
calmly addtimed Kids "Swim Practice" 2025-02-03 07:00 08:30

Batch Event Creation

For recurring events, loop in bash:

# Morning practice every Tuesday/Thursday for 6 weeks
for d in 2025-02-04 2025-02-06 2025-02-11 2025-02-13; do
  calmly addtimed Kids "🏊 AM Practice" "$d" 07:00 08:30
done

Date Verification

Before creating events, verify day/date alignment:

for d in 3 4 5 6 7; do date -j -f "%Y-%m-%d" "2025-02-0$d" "+%A %B %d"; done

Notes

  • Dates use YYYY-MM-DD format
  • Times use 24-hour HH:MM format
  • Calendar names are case-insensitive
  • Events sync to iCloud automatically
  • No delete command yet — delete via Calendar app or iCloud web