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.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/halbotley/calmlycalmly
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-DDformat - Times use 24-hour
HH:MMformat - Calendar names are case-insensitive
- Events sync to iCloud automatically
- No delete command yet — delete via Calendar app or iCloud web
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-halbotley-calmly": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
duely
Track recurring maintenance tasks from the command line. Use when scheduling, checking, and logging periodic tasks like backups, reviews, or any repeating chore. Shows overdue items and keeps an execution log.
session-hygiene
Prevent sessions.json bloat from accumulating isolated sessions (hooks, crons, subagents). Sets up a cron to archive stale sessions to daily JSONL files and keep sessions.json lean. Use when sessions.json grows large, the gateway becomes slow or unresponsive, or as preventive maintenance on any OpenClaw instance with hooks or crons. Related to openclaw/openclaw#15225.
timely
Manage Apple Reminders from the command line with geofencing support. Use when creating reminders on macOS with optional location-based triggers (arrive/depart), due dates, or time-based alerts. Works with iCloud-synced reminder lists.