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 d...
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install macos-calendar或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install macos-calendar⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/macos-calendar/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: macos-calendar description: 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. license: MIT compatibility: Requires macOS with Calendar.app. Uses osascript (AppleScript) and python3 for JSON parsing. metadata: author: lucaperret version: "1.2.0" openclaw: os: macos emoji: "\U0001F4C5" homepage: https://github.com/lucaperret/agent-skills requires: bins: - osascript - python3 ---
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:
"$SKILL_DIR/scripts/calendar.sh" list-calendars
echo '<json>' | "$SKILL_DIR/scripts/calendar.sh" create-event
JSON fields:
| Field | Required | Default | Description | |---|---|---|---| | summary | yes | - | Event title | | calendar | no | first calendar | Calendar name (from list-calendars) | | 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" | offset_days: 1, hour: 14 | | "in 3 days" | offset_days: 3 | | "next Monday at 10am" | Calculate offset_days from today to next Monday, hour: 10 | | "February 25 at 3:30pm" | iso_date: "2026-02-25", hour: 15, minute: 30 | | "every weekday at 9am" | hour: 9, recurrence: "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR" | | "remind me 1 hour before" | alarm_minutes: 60 | | "all day event on March 1" | 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:
# Days until next Monday (1=Monday)
target=1; today=$(date +%u); echo $(( (target - today + 7) % 7 ))
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
[read-only] cannot be used for event creationoffset_days or iso_date[read-only] calendar — the script will reject it with an errorlogs/calendar.log with timestamp, command, calendar, and summary安装 macOS Calendar 后,可以对 AI 说这些话来触发它
Send a Slack message to the #engineering channel about the deployment
Formats and sends the message with relevant context, tagging the right people
Summarize all unread messages in my inbox from today
Reads messages across connected channels and returns a prioritized summary
Draft a reply to this customer complaint and send it for review
Writes an empathetic, professional response and routes it to the approval queue
将技能文件夹放到 ~/.claude/skills/macos-calendar/ 目录(个人级,所有项目可用),或 .claude/skills/macos-calendar/(项目级)。重启 AI 客户端后,用 /macos-calendar 主动调用,或让 AI 根据上下文自动发现并使用。
macOS Calendar 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
macOS Calendar 可免费安装使用。请查阅仓库了解许可证信息。
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 d...
macOS Calendar 属于「Communication」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。