Setup
On first use, follow setup.md to establish local operating context and confirmation preferences before any calendar write.
When to Use
User wants to manage events from the macOS Calendar stack where Google, iCloud, Exchange, and CalDAV accounts are already synced locally.
Agent handles lookup, create, update, delete, conflict checks, and post-write verification without provider OAuth setup.
Requirements
- - macOS with Calendar app access enabled for terminal tools.
- At least one working command path:
apple-calendar-cli, icalBuddy, shortcuts, or osascript. - User confirmation before destructive operations.
- Provider accounts should already be connected in Calendar.app; this skill does not run provider OAuth.
Architecture
Memory lives in ~/apple-calendar-macos/. See memory-template.md for structure.
CODEBLOCK0
Quick Reference
| Topic | File |
|---|
| Setup and first-run behavior | INLINECODE7 |
| Memory structure |
memory-template.md |
| Command path matrix |
command-paths.md |
| Safety checklist before writes |
safety-checklist.md |
| Calendar operation patterns |
operation-patterns.md |
| Troubleshooting and recovery |
troubleshooting.md |
Data Storage
All skill files are stored in ~/apple-calendar-macos/.
Before creating or changing local files, describe the planned write and ask for confirmation.
Core Rules
1. Treat Calendar.app as the Unified Calendar Source
- - Assume provider sync already happens inside Calendar.app and operate on that local unified view.
- Do not request Google, Microsoft, or Apple OAuth inside this skill unless user explicitly asks for external setup help.
2. Detect Command Path Before Any Calendar Action
- - Probe available tools in strict order:
apple-calendar-cli, then icalBuddy, then shortcuts, then osascript. - If no path is available, stop and explain the missing requirement instead of guessing commands.
3. Use Deterministic Time Inputs and Calendar Scopes
- - Normalize all user time inputs to explicit timezone and start/end boundaries before running commands.
- Confirm date interpretation when input is ambiguous such as "next Friday" or locale specific formats.
4. Read First, Then Write, Then Verify
- - For create, update, or delete operations, run a bounded pre-read in the target time window.
- After each write, run read-back verification and report final state with title, time, and calendar.
5. Confirm Destructive or Broad Changes
- - Always require explicit confirmation for delete, move across calendars, and multi-event edits.
- If confidence is low due to duplicate titles, ask a disambiguation question before any write.
6. Keep Recurrence and All-Day Semantics Explicit
- - Confirm recurrence rule, timezone behavior, and all-day interpretation before writing recurring events.
- Avoid silent defaults that can shift recurring events after DST changes.
7. Prioritize Minimal Exposure and Local-First Handling
- - Use only the fields required for the requested action.
- Do not export full calendar contents when the user asked for a narrow lookup.
- Do not send event data to third-party APIs from this skill.
Common Traps
- - Editing by title only when duplicates exist -> wrong event modified.
- Writing recurring events without timezone confirmation -> drift after DST.
- Deleting without pre-read snapshot -> difficult recovery.
- Trusting one CLI path blindly -> brittle behavior across macOS setups.
- Running broad searches by default -> noisy output and accidental edits.
Security & Privacy
Data that stays local:
- - Calendar operation context and defaults in
~/apple-calendar-macos/. - Event metadata used for requested operations.
Data that may leave your machine:
- - None by default. Commands target local macOS Calendar data already synced on the device.
This skill does NOT:
- - Request undeclared API keys.
- Send calendar data to third-party APIs.
- Execute destructive calendar writes without explicit confirmation.
Related Skills
Install with
clawhub install <slug> if user confirms:
- -
macos - macOS workflows and system command patterns. - INLINECODE21 - event planning and structure patterns.
- INLINECODE22 - meeting prep and follow-up workflows.
- INLINECODE23 - broader scheduling and planning workflows.
- INLINECODE24 - reminder design and deadline management patterns.
Feedback
- - If useful: INLINECODE25
- Stay updated: INLINECODE26
设置
首次使用时,请先按照 setup.md 文件建立本地操作上下文和确认偏好设置,再进行任何日历写入操作。
使用场景
用户希望管理 macOS 日历堆栈中的事件,其中 Google、iCloud、Exchange 和 CalDAV 账户已在本地同步。代理负责执行查找、创建、更新、删除、冲突检查以及写入后验证,无需进行提供商 OAuth 设置。
前提条件
- - 已为终端工具启用日历 app 访问权限的 macOS 系统。
- 至少有一条可用的命令路径:apple-calendar-cli、icalBuddy、shortcuts 或 osascript。
- 执行破坏性操作前需获得用户确认。
- 提供商账户应已在日历 app 中完成连接;本技能不执行提供商 OAuth 认证。
架构
内存文件存储在 ~/apple-calendar-macos/ 目录下。结构参见 memory-template.md 文件。
text
~/apple-calendar-macos/
├── memory.md # 状态、默认值和确认行为
├── command-paths.md # 检测到的 CLI 路径和备用状态
├── timezone-defaults.md # 首选时区和日期格式
└── safety-log.md # 删除、批量编辑和回滚记录
快速参考
| 主题 | 文件 |
|---|
| 设置和首次运行行为 | setup.md |
| 内存结构 |
memory-template.md |
| 命令路径矩阵 | command-paths.md |
| 写入前安全检查清单 | safety-checklist.md |
| 日历操作模式 | operation-patterns.md |
| 故障排除和恢复 | troubleshooting.md |
数据存储
所有技能文件均存储在 ~/apple-calendar-macos/ 目录下。在创建或修改本地文件前,请描述计划写入的内容并请求确认。
核心规则
1. 将日历 app 视为统一日历源
- - 假设提供商同步已在日历 app 内部完成,并基于该本地统一视图进行操作。
- 除非用户明确要求外部设置帮助,否则本技能不请求 Google、Microsoft 或 Apple 的 OAuth 认证。
2. 执行任何日历操作前检测命令路径
- - 按严格顺序探测可用工具:apple-calendar-cli、icalBuddy、shortcuts、osascript。
- 如果无可用路径,则停止操作并说明缺失的要求,而非猜测命令。
3. 使用确定性的时间输入和日历范围
- - 在执行命令前,将所有用户时间输入标准化为明确的时区和起止边界。
- 当输入存在歧义时(如下周五或特定区域格式),确认日期解释。
4. 先读取,再写入,最后验证
- - 对于创建、更新或删除操作,先在目标时间窗口内执行有限范围的预读取。
- 每次写入后,执行回读验证,并以标题、时间和日历报告最终状态。
5. 确认破坏性或大规模变更
- - 对于删除、跨日历移动和多事件编辑,始终要求明确确认。
- 如果因重复标题导致信心不足,在写入前提出消歧问题。
6. 明确处理重复事件和全天事件语义
- - 在写入重复事件前,确认重复规则、时区行为和全天事件解释。
- 避免使用静默默认值,以免夏令时变更后导致重复事件偏移。
7. 优先最小化暴露和本地优先处理
- - 仅使用请求操作所需的字段。
- 当用户要求窄范围查找时,不要导出完整的日历内容。
- 不要通过本技能将事件数据发送给第三方 API。
常见陷阱
- - 仅凭标题编辑存在重复项的事件 → 修改了错误的事件。
- 未确认时区就写入重复事件 → 夏令时后发生偏移。
- 未进行预读取快照就删除 → 难以恢复。
- 盲目信任单一 CLI 路径 → 在不同 macOS 设置下行为脆弱。
- 默认执行广泛搜索 → 输出杂乱且可能意外编辑。
安全与隐私
本地存储的数据:
- - 日历操作上下文和默认值,存储在 ~/apple-calendar-macos/ 目录下。
- 用于请求操作的事件元数据。
可能离开您设备的数据:
- - 默认情况下无。命令针对设备上已同步的本地 macOS 日历数据。
本技能不会:
- - 请求未声明的 API 密钥。
- 将日历数据发送给第三方 API。
- 未经明确确认执行破坏性日历写入操作。
相关技能
如果用户确认,使用 clawhub install 安装:
- - macos - macOS 工作流和系统命令模式。
- events - 事件规划和结构模式。
- meetings - 会议准备和后续工作流。
- schedule - 更广泛的日程安排和规划工作流。
- remind - 提醒设计和截止日期管理模式。
反馈
- - 如果觉得有用:clawhub star apple-calendar-macos
- 保持更新:clawhub sync