From productivity-skills
This skill should be used when the user asks to "create calendar event", "add meeting", "schedule appointment", "check calendar", "list upcoming events", "search events", "update event", "delete event", or wants to manage macOS Calendar app events via EventKit CLI. Supports setting event details like title, start/end times, location, and notes. Requires macOS and Calendar.app access permissions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/productivity-skills:calendar-managerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage macOS Calendar events using the productivity-cli tool (EventKit-based).
Manage macOS Calendar events using the productivity-cli tool (EventKit-based).
Run the Swift source directly (no build step required):
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift <command>
Requires: macOS 13+ with Xcode command line tools installed.
Before any create/delete operation, list calendars and ask the user which one to use:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars list
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars list
Returns JSON:
{
"success": true,
"count": 3,
"data": [
{"name": "Work", "type": "calDAV", "color": "..."},
{"name": "Personal", "type": "calDAV", "color": "..."}
]
}
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars today
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars week
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars date 2025-01-15
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars date 2025-01-15 --calendar Work
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars range 2025-01-01 2025-01-31
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars range 2025-01-01 2025-01-31 --calendar Work
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars search "meeting"
Searches events in the next 365 days matching the term.
Basic event (1 hour duration):
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars create \
--title "Team Meeting" \
--calendar "Work" \
--start "2025-01-15 14:00"
Event with end time:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars create \
--title "Team Meeting" \
--calendar "Work" \
--start "2025-01-15 14:00" \
--end "2025-01-15 15:30"
Event with location and notes:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars create \
--title "Team Meeting" \
--calendar "Work" \
--start "2025-01-15 14:00" \
--end "2025-01-15 15:00" \
--location "Conference Room A" \
--notes "Weekly sync meeting"
All-day event:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars create \
--title "Company Holiday" \
--calendar "Work" \
--start "2025-01-20" \
--allday
Daily standup:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars create \
--title "Daily Standup" \
--calendar "Work" \
--start "2026-01-20 09:00" \
--end "2026-01-20 09:30" \
--repeat daily
Weekly team meeting on Mondays:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars create \
--title "Team Meeting" \
--calendar "Work" \
--start "2026-01-20 14:00" \
--repeat weekly \
--repeat-days mon \
--repeat-until "2026-06-30"
Monthly review (12 occurrences):
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars create \
--title "Monthly Review" \
--calendar "Work" \
--start "2026-02-01 10:00" \
--repeat monthly \
--repeat-count 12
Bi-weekly meeting:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars create \
--title "Bi-weekly Sync" \
--calendar "Work" \
--start "2026-01-20 15:00" \
--repeat weekly \
--repeat-interval 2
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars delete \
--title "Team Meeting" \
--date "2025-01-15"
With specific calendar:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars delete \
--title "Team Meeting" \
--date "2025-01-15" \
--calendar "Work"
Delete recurring event and all future occurrences:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift calendars delete \
--title "Daily Standup" \
--date "2026-01-25" \
--all-future
All commands return JSON. Success responses:
{
"success": true,
"count": 2,
"data": [...]
}
Action results:
{
"success": true,
"message": "Event 'Team Meeting' created successfully"
}
Error responses:
{
"error": "Calendar 'Unknown' not found"
}
| Format | Example | Usage |
|---|---|---|
| Date only | 2025-01-15 | For date queries, all-day events |
| Date and time | 2025-01-15 14:00 | For timed events |
| Argument | Required | Description |
|---|---|---|
--title | Yes | Event title |
--calendar | Yes (create) | Calendar name |
--start | Yes (create) | Start date/time |
--end | No | End date/time (default: 1 hour after start) |
--location | No | Event location |
--notes | No | Event notes/description |
--allday | No | Make it an all-day event |
--repeat | No | Recurrence frequency: daily, weekly, monthly, yearly |
--repeat-interval | No | Every N periods (default: 1) |
--repeat-until | No | End date for recurrence (yyyy-MM-dd) |
--repeat-count | No | Number of occurrences |
--repeat-days | No | Days for weekly recurrence (e.g., mon,wed,fri) |
--all-future | No | Delete all future occurrences (delete only) |
When reading events, recurring events include additional fields:
{
"title": "Daily Standup",
"calendar": "Work",
"startDate": "2026-01-20 09:00:00",
"endDate": "2026-01-20 09:30:00",
"isAllDay": false,
"isRecurring": true,
"recurrence": {
"frequency": "daily",
"interval": 1,
"endDate": "2026-12-31",
"occurrenceCount": null,
"daysOfWeek": null
}
}
npx claudepluginhub aeghnnsw/cc-toolkit --plugin productivity-skillsReads and manages macOS Calendar events via Swift CLI wrapping EventKit. Lists calendars/events by date range, gets details, creates/updates/deletes for schedules and availability.
Creates, reads, and manages calendar events and reminders via EventKit and EventKitUI. Handles authorization, recurrence rules, alarms, and presents event editors and calendar choosers.
Manages macOS Calendar events: lists today's events/calendars, adds to 'Agent' calendar after AskUserQuestion confirmation using ical.sh bash scripts. Needs Terminal accessibility.