C Calendar Planner — 跨平台日历计划与冲突修复
v1.0.0跨 Google 日历、Outlook、Apple 日历和 CalDAV,使用 CLI 适配器、冲突修复和周度回顾计划工作和生活。支持多日历合并、保护时间块、周计划生成等。
详细分析 ▾
运行时依赖
版本
初始发布,包含多日历 CLI playbook、Life Grid 计划规则和本地脚本用于合并、守护和周度回顾工作流。
安装命令
点击复制技能文档
跨多个命令行日历适配器,为工作、家庭、健康、旅行、深度工作和恢复进行日历规划。
设置
首次使用时,请阅读 setup.md 获取集成指南。先回答即时规划问题,在创建 ~/calendar-planner/ 之前询问用户,在向任何日历写入或发送邀请之前询问用户。
使用场景
用户需要日历规划、日程修复、周计划、时间块管理、会议分类、家庭后勤、预约安排或多日历清理。当实际任务是协调 Google Calendar、Outlook、Apple Calendar 和 CalDAV 之间的承诺和约束时使用此技能。
此技能应返回一个经过论证的计划、明确的权衡和安全的操作序列。当日历不一致、优先级冲突或用户需要整周修复而不仅仅是添加一个事件时,它比通用日程安排帮助更强大。
架构
本地连续性是可选的,仅在用户同意时创建。
~/calendar-planner/
├── memory.md # 用户声明的规划规则和激活偏好
├── calendars.md # 提供商映射、日历名称和写入边界
├── rules.md # 缓冲区、专注规则、重复约束
├── plans.md # 当前周计划和重新安排决策
└── inbox.md # 仍需要安排的松散承诺
快速参考
仅加载能改善当前规划决策的内容。从协议和命令开始;仅当用户需要连续性时才添加记忆。
| 主题 | 文件 |
|---|---|
| 设置和激活 | setup.md |
| 可选连续性记忆 | memory-template.md |
| Life Grid 规划方法 | planning-protocol.md |
| 领域特定规划启发式 | life-domains.md |
| CLI 适配器脚本 | commands.md |
| 合并标准化事件导出 | calendar_merge.py |
| 审核重叠和缓冲区失败 | calendar_guard.py |
| 生成周计划摘要 | week_plan.py |
要求
使用与用户技术栈匹配的最轻量级适配器。仅安装当前工作流所需的提供商工具。
| 需求 | CLI / 工具 | 说明 |
|---|---|---|
| Google Calendar | gcalcli | 通过用户自己的 OAuth 客户端使用 Google Calendar API |
| Outlook / Microsoft 365 | Microsoft Graph PowerShell | 仅使用委派日历范围 |
| Apple Calendar | osascript | 在 macOS 上自动化 Calendar.app |
| CalDAV 和 iCloud 同步 | khal 加上 vdirsyncer | 本地同步,然后从本地状态规划 |
| 本地分析 | python3 和 jq | 合并、保护和周审查脚本必需 |
核心规则
1. 从决策开始,而不是 CRUD 操作
- 首先回答哪些应该保留、移动、取消、保护或推迟。
- 仅询问会改变安排的事实:硬性截止日期、旅行时间、参与者约束或保护时间。
- 使用
planning-protocol.md将混乱的请求转换为安排决策。
2. 分离硬性承诺和灵活块
- 在重新安排日历之前,将每个项目分类为硬性、灵活、保留、准备、旅行或恢复。
- 灵活块可以移动;硬性承诺未经明确批准不得移动。
- 使用
life-domains.md防止工作任务无声地超越家庭、健康或睡眠约束。
3. 在移动任何内容之前合并所有可见日历
- 首先读取所有范围内的日历,仅当用户将共享或家庭日历纳入范围时才包括它们。
- 将隐藏日历视为风险,而非空闲时间。
- 当有多个标准化导出并需要一个时间线时,使用
calendar_merge.py。
4. 保护缓冲区、准备和后续行动
- 在会议和预约周围添加设置、通勤、上下文切换、跟进和减压时间。
- 没有缓冲区的日程表是虚假容量。
- 使用
calendar_guard.py在提出更改之前捕捉重叠、短间隙和过载的日子。
5. 写入需要明确批准和窄范围
- 在通过任何适配器创建、更新、删除或发送邀请之前询问用户。
- 首先默认为草稿计划或试运行命令序列。
- 如果用户选择连续性,在本地连续性笔记中将只读和启用写入的日历分开。
6. 保持记忆明确且最小化
- 仅保存用户声明的规则、重复承诺、保护时间和激活偏好。
- 除非用户要求这种连续性,否则不存储参与者列表、详细事件笔记或私人描述。
- 仅在用户同意本地持久化后使用
memory-template.md。
7. 以可执行计划结束
- 每个答案应以选定的时间段、剩余冲突、后续行动或周修复计划结束。
- 如果仍有多个选项,对它们进行排名并在一句话中解释获胜者。
- 当终端工作流使答案更可靠时,使用
week_plan.py或commands.md中的适配器脚本。
Life Grid 协议
完整方法请参阅 planning-protocol.md。
- 接收:捕捉真实结果,而不仅仅是请求的事件。
- 映射:将每个项目放入硬性、灵活、准备、旅行或恢复类别。
- 保护:在提供新时段之前保护不可协商的事项。
- 修复:如果一周已经被打乱,显示需要移动、取消或降级的内容。
- 结束:留给用户一个推荐计划和确切的下一个命令或日历操作。
常见陷阱
- 只解决会议请求 -> 学校接送、旅行、用药或专注约束稍后会中断。
- 在读取所有范围内的日历之前移动事件 -> 隐藏冲突和信任受损。
- 默认将重复块视为神圣不可侵犯或可随意处置 -> 脆弱的计划或日历混乱。
- 安排会议时没有设置或恢复空间 -> 虚假容量和后期崩溃。
- 未经批准写入共享日历 -> 给其他人带来惊喜并造成社交债务。
- 在本地保存过多私人细节 -> 不必要的隐私风险而无规划优势。
外部端点
只有用户明确选择的适配器才能与远程服务通信。一次使用一个提供商路径,以便数据移动保持可理解。
| 端点 | 发送数据 | 目的 |
|---|---|---|
| https://www.googleapis.com/calendar/v3/ | 用于请求的 Google 日历读取或写入的事件元数据 | 通过 gcalcli 进行 Google Calendar 操作 |
| https://graph.microsoft.com/v1.0/ | 用于请求的 Outlook 或 Microsoft 365 读取或写入的事件元数据 | 通过 Microsoft Graph PowerShell 进行日历操作 |
| 用户配置的 CalDAV 服务器 | 配置日历的事件元数据 | 通过 vdirsyncer 进行日历同步,并通过 khal 本地使用 |
安全与隐私
保留在本地的数据:
~/calendar-planner/中的可选规划记忆calendar_merge.py、calendar_guard.py和week_plan.py生成的标准化事件导出和审查输出- 通过 macOS 上的 Calendar.app 进行的 Apple Calendar 自动化
可能离开您机器的数据:
- 通过用户明确选择的 Google、Microsoft 或 CalDAV 适配器发送的日历元数据
此技能不会:
- 未经批准创建、移动或删除日历项
- 静默发送邀请或更新共享日历
- 从无关文件或对话中推断隐藏规则
- 访问电子邮件、联系人或任务,除非用户明确扩展范围
信任
通过 Google Calendar、Microsoft Graph 或 CalDAV 适配器使用此技能时,日历元数据将通过配置的 CLI 工具发送到这些服务。仅当您信任这些提供商和运行命令的本地机器时才安装。
范围
此技能仅:
- 在用户批准的日历上规划和审核日程
- 生成试运行命令、标准化规划文件和本地审查报告
- 在明确用户同意后持久化最小规划上下文
此技能从不:
- 修改其自己的技能文件
- 自动接受邀请或未经批准自动重新安排人员
- 未经确认从一个日历扩展访问到另一个日历
- 在本地记忆文件中存储凭证
相关技能
如果用户确认,请使用 clawhub install 安装:
daily-planner- 每日计划制定、排序和现实任务安排。schedule- 当用户不需要完整日历修复时的通用日程安排工作流。assistant- 参谋长风格的任务、消息和规划执行。productivity- 专注系统、优先级排序和防过载操作规则。remember- 用户声明约束和重复模式的长期连续性。
反馈
- 如果有用:
clawhub star calendar-planner - 保持更新:
clawhub sync