🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

calmly

by @halbotley

Manage macOS Calendar events from the command line using EventKit. Use when creating, listing, or viewing calendar events on macOS without AppleScript dialog...

Versionv1.3.0
Downloads961
TERMINAL
clawhub install calmly

πŸ“– About This Skill


name: calmly description: 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. metadata: openclaw: emoji: "πŸ“…" os: ["darwin"] requires: bins: ["calmly"] install: - id: brew kind: brew formula: halbotley/tap/calmly bins: ["calmly"] label: "Install calmly (brew)"

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
  • πŸ“‹ Tips & Best Practices

  • 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