Loading...
Loading...
Create, list, and manage macOS Calendar events via AppleScript. Use when the user asks to add a reminder, schedule an event, create a calendar entry, set a deadline, or anything involving Apple Calendar on macOS. Triggers on requests like "remind me in 3 days", "add to my calendar", "schedule a meeting next Monday at 2pm", "create a recurring weekly event". macOS only.
npx skill4agent add lucaperret/agent-skills macos-calendar$SKILL_DIR/scripts/calendar.shcurrent date + N * days"$SKILL_DIR/scripts/calendar.sh" list-calendarsecho '<json>' | "$SKILL_DIR/scripts/calendar.sh" create-event| Field | Required | Default | Description |
|---|---|---|---|
| yes | - | Event title |
| no | first calendar | Calendar name (from list-calendars) |
| no | "" | Event notes |
| no | 0 | Days from today (0=today, 1=tomorrow, 7=next week) |
| no | - | Absolute date |
| no | 9 | Start hour (0-23) |
| no | 0 | Start minute (0-59) |
| no | 30 | Duration |
| no | 0 | Alert N minutes before (0=no alarm) |
| no | false | All-day event |
| no | - | iCal RRULE string. See references/recurrence.md |
| User says | JSON |
|---|---|
| "tomorrow at 2pm" | |
| "in 3 days" | |
| "next Monday at 10am" | Calculate offset_days from today to next Monday, |
| "February 25 at 3:30pm" | |
| "every weekday at 9am" | |
| "remind me 1 hour before" | |
| "all day event on March 1" | |
date# Days until next Monday (1=Monday)
target=1; today=$(date +%u); echo $(( (target - today + 7) % 7 ))"$SKILL_DIR/scripts/calendar.sh" list-calendarsecho '{"calendar":"Personnel","summary":"Call dentist","offset_days":2,"hour":9,"duration_minutes":15,"alarm_minutes":30}' | "$SKILL_DIR/scripts/calendar.sh" create-eventecho '{"calendar":"Work","summary":"Team sync","hour":14,"duration_minutes":60,"recurrence":"FREQ=WEEKLY;BYDAY=TU","alarm_minutes":10}' | "$SKILL_DIR/scripts/calendar.sh" create-eventecho '{"calendar":"Personnel","summary":"Vacances","iso_date":"2026-07-15","all_day":true}' | "$SKILL_DIR/scripts/calendar.sh" create-event# First compute offset_days to next Thursday (4=Thursday)
target=4; today=$(date +%u); offset=$(( (target - today + 7) % 7 )); [ "$offset" -eq 0 ] && offset=7echo "{\"calendar\":\"Personnel\",\"summary\":\"Doctor appointment\",\"offset_days\":$offset,\"hour\":15,\"minute\":30,\"duration_minutes\":60,\"alarm_minutes\":60}" | "$SKILL_DIR/scripts/calendar.sh" create-eventecho '{"calendar":"Work","summary":"Daily standup","hour":9,"duration_minutes":15,"recurrence":"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;COUNT=20"}' | "$SKILL_DIR/scripts/calendar.sh" create-eventecho '{"calendar":"Work","summary":"1-on-1 Manager","hour":11,"duration_minutes":30,"recurrence":"FREQ=WEEKLY;INTERVAL=2;BYDAY=FR","alarm_minutes":5}' | "$SKILL_DIR/scripts/calendar.sh" create-event[read-only]offset_daysiso_date[read-only]logs/calendar.log