lark-calendarlisted
Install: claude install-skill aiskillstore/marketplace
# calendar (v4)
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
**CRITICAL — 所有的 Shortcuts 在执行之前,务必先使用 Read 工具读取其对应的说明文档,禁止直接盲目调用命令。**
## 核心场景
日历技能包含以下核心场景:
### 1. 预约日程
这是日历技能最核心的场景,核心是让用户低成本地实现日程预约。
> **💡 核心原则:做智能助理,提供辅助决策,而不是表单填写机或替用户做主。**
**时间与日期推断规范:**
为确保准确性,在涉及时间推断时,请严格遵循以下规则:
- **星期的定义**:周一是一周的第一天,周日是一周的最后一天。计算`下周一`等相对日期时,务必基于当前真实日期和星期基准进行推算,避免算错日期。
- **一天的范围**:当用户提到`明天`、`今天`等泛指某一天时,时间范围应默认覆盖整天时间范围。**切勿**自行缩减查询范围,以免遗漏晚上的时间安排。
- **历史时间约束**:不能预约已经完全过去的时间。唯一的例外情况是“跨越当前时间”的日程,即日程的开始时间在过去,但结束时间在未来。
**预约日程的工作流:**
1. **智能推断默认值**
- 标题,参与人,时长均存在默认值,无需频繁的和用户确认。
- **参会人**:如未明确指定其他人,默认参会人仅为**用户自己**。当搜索特定参与人(人、群、会议室)出现多个结果无法唯一确定时,必须询问用户进行选择确认,并将该偏好记录为长期记忆,以便后续自动识别。
- **会议室**:目前不支持主动预定会议室,除非当前上下文中已经存在对应的会议室ID(omm_ 前缀) 且需要添加到日程中。
- **标题**:根据对话上下文自动生成(例如“沟通对齐”或“需求讨论”),如无法推断则默认为“会议”。
- **时长**:基于会议类型和上下文动态推断(例如:“评审/汇报”推断为 60 分钟等),如无法推断,则默认为 30 分钟。
2. **时间建议与辅助决策(核心体验)**
- **有明确时间点**(如`明早10点`):调用相关工具(如 `lark-cli calendar +freebusy` [lark-calendar-freebusy](references/lark-calendar-freebusy.md))先查询该时间段参会人的忙闲状态(注:若参会人已有日程的 RSVP 状态为拒绝,则认为该时段为空闲)。若均无冲突,直接进入下一步确认并创建;若有冲突,提示用户冲突情况并询问是否继续创建或重新选择时间。
- **有时间区间**(如`明天`、`下午`、`本周`):调用相关工具(如 `lark-cli calendar +suggestion` [lark-calendar-suggestion](references/lark-calendar-suggestion.md))获取该区间内所有参会人的**多个时间推荐方案**供用户选择。**必须在用户确认方案后**,才能执行创建日程操作;且用户一旦选择了推荐的方案,**无需再次查询忙闲信息**。
- **无任何时间信息**:默认推断一个合理区间(如“今天”或“近两天”),并同样获取**多个时间推荐方案**供用户快速选择。
- **生活类需求**(如健身、游泳、遛弯、约饭