macOS Calendar
Manage Apple Calendar events via
$SKILL_DIR/scripts/calendar.sh
. All date handling uses relative math (
current date + N * days
) to avoid locale issues (FR/EN/DE date formats).
Quick start
List calendars
Always list calendars first to find the correct calendar name:
"
$SKILL_DIR
/scripts/calendar.sh"
list-calendars
Create an event
echo
'
Days until next Monday (1=Monday)
target
1 ; today = $( date +%u ) ; echo $(( ( target - today + 7 ) % 7 )) Example prompts These are real user prompts and the commands you should run: "Remind me to call the dentist in 2 days" " $SKILL_DIR /scripts/calendar.sh" list-calendars Then: echo '{"calendar":"Personnel","summary":"Call dentist","offset_days":2,"hour":9,"duration_minutes":15,"alarm_minutes":30}' | " $SKILL_DIR /scripts/calendar.sh" create-event "Schedule a team sync every Tuesday at 2pm with a 10-min reminder" echo '{"calendar":"Work","summary":"Team sync","hour":14,"duration_minutes":60,"recurrence":"FREQ=WEEKLY;BYDAY=TU","alarm_minutes":10}' | " $SKILL_DIR /scripts/calendar.sh" create-event "Block July 15 as a vacation day" echo '{"calendar":"Personnel","summary":"Vacances","iso_date":"2026-07-15","all_day":true}' | " $SKILL_DIR /scripts/calendar.sh" create-event "I have a doctor appointment next Thursday at 3:30pm, remind me 1 hour before"
First compute offset_days to next Thursday (4=Thursday)
target
4 ; today = $( date +%u ) ; offset = $(( ( target - today + 7 ) % 7 )) ; [ " $offset " -eq 0 ] && offset = 7 Then: echo "{ \" calendar \" : \" Personnel \" , \" summary \" : \" Doctor appointment \" , \" offset_days \" : $offset , \" hour \" :15, \" minute \" :30, \" duration_minutes \" :60, \" alarm_minutes \" :60}" | " $SKILL_DIR /scripts/calendar.sh" create-event "Set up a daily standup at 9am on weekdays for the next 4 weeks" echo '{"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-event "Add a biweekly 1-on-1 with my manager on Fridays at 11am" echo '{"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 Critical rules Always list calendars first if the user hasn't specified one — calendars marked [read-only] cannot be used for event creation Never use hardcoded date strings in AppleScript — always use offset_days or iso_date Confirm the calendar name with the user if multiple personal calendars exist Never target a [read-only] calendar — the script will reject it with an error For recurring events , consult references/recurrence.md for RRULE syntax Pass JSON via stdin — never as a CLI argument (avoids leaking data in process list) All fields are validated by the script (type coercion, range checks, format validation) — invalid input is rejected with an error message All actions are logged to logs/calendar.log with timestamp, command, calendar, and summary