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.
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).
Always list calendars first to find the correct calendar name:
CODEBLOCK0
CODEBLOCK1
JSON fields:
| Field | Required | Default | Description |
|---|---|---|---|
| INLINECODE2 | yes | - | Event title |
| INLINECODE3 |
description | no | "" | Event notes |offset_days | no | 0 | Days from today (0=today, 1=tomorrow, 7=next week) |iso_date | no | - | Absolute date YYYY-MM-DD (overrides offset_days) |hour | no | 9 | Start hour (0-23) |minute | no | 0 | Start minute (0-59) |duration_minutes | no | 30 | Duration |alarm_minutes | no | 0 | Alert N minutes before (0=no alarm) |all_day | no | false | All-day event |recurrence | no | - | iCal RRULE string. See references/recurrence.md |
Map user requests to JSON fields:
| User says | JSON |
|---|---|
| "tomorrow at 2pm" | INLINECODE14 |
| "in 3 days" |
offset_days: 3 |hour: 10 |iso_date: "2026-02-25", hour: 15, minute: 30 |hour: 9, recurrence: "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR" |alarm_minutes: 60 |iso_date: "2026-03-01", all_day: true |
For "next Monday", "next Friday" etc: compute the day offset using the current date. Use date command if needed:
CODEBLOCK2
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
"Schedule a team sync every Tuesday at 2pm with a 10-min reminder"
CODEBLOCK5
"Block July 15 as a vacation day"
CODEBLOCK6
"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
"Set up a daily standup at 9am on weekdays for the next 4 weeks"
CODEBLOCK9
"Add a biweekly 1-on-1 with my manager on Fridays at 11am"
CODEBLOCK10
[read-only] cannot be used for event creationoffset_days or INLINECODE24[read-only] calendar — the script will reject it with an errorlogs/calendar.log with timestamp, command, calendar, and summary该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 macos-calendar-1776420070 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 macos-calendar-1776420070 技能
skillhub install macos-calendar-1776420070
文件大小: 6.49 KB | 发布时间: 2026-4-17 20:17