From calendar-skills
Create or update events in an iCloud or other CalDAV calendar so Apple Calendar on iPhone, iPad, or Mac syncs the change automatically. Use when the user prefers Apple Calendar over email-based `.ics` invites.
How this skill is triggered — by the user, by Claude, or both
Slash command
/calendar-skills:apple-calendar-syncThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use the bundled script to create or update events in a CalDAV calendar, including iCloud Calendar.
Use the bundled script to create or update events in a CalDAV calendar, including iCloud Calendar.
This is the direct-sync path for Apple Calendar when your devices are using iCloud or another CalDAV account:
.ics email step is requiredApple Calendar is the client. The actual synced data source is typically one of:
If you use iCloud Calendar and your phone is signed into the same Apple Account with calendar sync enabled, events created by this skill should appear in the Calendar app automatically.
For iCloud, use:
Apple documents app-specific passwords for third-party access to iCloud Mail, Calendar, and Contacts.
uv sync
YYYY-MM-DD HH:MMYYYY-MM-DD HH:MMAmerica/New_Yorkappt, apt, or appointment, default to 30 minutes unless the user indicates otherwise.You can provide the CalDAV connection settings either as flags or environment variables:
export APPLE_CALENDAR_CALDAV_URL="https://caldav.icloud.com"
export APPLE_CALENDAR_USERNAME="[email protected]"
export APPLE_CALENDAR_PASSWORD="app-specific-password"
export APPLE_CALENDAR_NAME="Home"
export APPLE_CALENDAR_TZ="America/New_York"
For persistent repo-local setup, create .env.calendar in this skill directory. The script loads that file automatically, or you can override it with --env-file.
Use SETUP.md for the one-time setup steps on a MacBook.
Create a new event in iCloud Calendar. Run from this skill directory:
uv run scripts/upsert_caldav_event.py \
--summary "Project Review" \
--start "2026-04-15 14:00" \
--end "2026-04-15 14:30" \
--tz "America/New_York" \
--caldav-url "https://caldav.icloud.com" \
--username "[email protected]" \
--password "$ICLOUD_APP_PASSWORD" \
--calendar-name "Home"
Update an existing event. Run from this skill directory:
uv run scripts/upsert_caldav_event.py \
--uid "<existing uid>" \
--summary "Project Review" \
--start "2026-04-15 15:00" \
--end "2026-04-15 15:30" \
--tz "America/New_York" \
--caldav-url "https://caldav.icloud.com" \
--username "[email protected]" \
--password "$ICLOUD_APP_PASSWORD" \
--calendar-name "Home"
--calendar-name is provided, the script chooses the first matching writable calendaraccount.apple.comCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub ryanznie/skills --plugin calendar-skills