openclaw-skills/lark-calendar/SKILL.md
飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-vc)、待办任务(走 lark-task)。
npx skillsauth add seaworld008/commonly-used-high-value-skills lark-calendarInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
开始前先读 ../lark-shared/SKILL.md(认证、权限处理)。
CRITICAL — 凡涉及预约日程/会议室、调整时间或查询/搜索会议室,第一步 MUST 读 references/lark-calendar-schedule-meeting.md。仅编辑字段(改标题/描述)或增删参会人(不涉及时间和会议室)时可跳过,直接读 references/lark-calendar-update.md。
日程操作默认使用 --as user(查看和管理当前用户的日程)。--as bot 只能访问 bot 自己的(空)日历,会拿到空结果——不要用 bot 身份查用户日程。
# BAD — bot 身份查用户日程,返回空列表
lark-cli calendar +agenda --as bot
# GOOD — user 身份查日程
lark-cli calendar +agenda --as user
| Shortcut | 说明 |
|----------|------|
| +agenda | 查看日程安排(默认今天) |
| +meeting | 通过日程事件 ID 获取关联的视频会议信息(meeting_id、meeting_note),日程开过视频会议才会有meeting_id |
| +create | 创建日程并邀请参会人(ISO 8601 时间) |
| +update | 更新既有日程字段,或独立增量添加/移除参会人和会议室 |
| +freebusy | 查询用户主日历的忙闲信息和 RSVP 状态(纯查询场景;预约场景走 +suggestion) |
| +room-find | 针对一个或多个明确的时间块查找可用会议室(无明确时间时禁止直接调用,需先走 +suggestion) |
| +rsvp | 回复日程(接受/拒绝/待定) |
| +suggestion | 根据非明确时间或一段时间范围,推荐多个可用时间块方案 |
+get — 单日程详情通过 calendar_id + event_id 获取单个日程详情。
# calendar_id不传,默认primary
lark-cli calendar +get --calendar-id <calendar_id> --event-id <event_id>
+search-event — 按关键词、时间范围和参会人搜索日程仅返回基础字段(event_id/summary/start/end 等),需要详情请走 +get。
# query 按关键词 可选
# start/end 按时间范围(ISO 8601 或 YYYY-MM-DD)可选
# attendee-ids 按参会人(自动识别 ou_ 用户 / oc_ 群聊 / omm_ 会议室前缀)可选
# page-token 分页游标,用于继续翻页 可选
# page-size 每页数量,默认 30 可选
lark-cli calendar +search-event --query "周会" --start 2026-04-20 --end 2026-04-27 --attendee-ids "ou_user1,oc_chat1,omm_room1" --page-token <page_token> --page-size 30
+agenda — 查看近期日程安排默认查询当天。结果应整理为按日期分组、按开始时间升序的易读时间线。
# start/end 时间范围(ISO 8601 / YYYY-MM-DD / Unix 秒),均可选;默认当天
# calendar-id 日历 ID(默认primary)可选
lark-cli calendar +agenda --start 2026-03-10 --end 2026-03-17 --calendar-id <calendar_id>
注意:
+freebusy — 查询主日历忙闲时段和 RSVP 状态仅返回忙碌时段起止时间,不含日程标题等隐私信息;其他订阅日历不在范围内。
# start/end 时间范围(ISO 8601 / YYYY-MM-DD / Unix 秒),均可选;默认当天
# user-id 目标用户 open_id(ou_ 前缀)可选;默认当前登录用户,bot 身份必须显式指定
lark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-12 --user-id ou_xxx
用法提示:
+freebusy;需要日程详情 → +agenda。+suggestion 等)详见 schedule-clear-time.md § 查询忙闲。| 场景 | 前置要求 |
|------|----------|
| 预约日程/会议、调整时间、查会议室 | 先读 lark-calendar-schedule-meeting.md |
| 仅编辑字段(标题/描述)或增删参会人 | 先定位 event_id,再读 lark-calendar-update.md |
| 编辑已有日程(涉及时间或会议室) | 先定位目标日程 event_id;若是重复性日程,必须定位到具体实例的 event_id(禁止使用原重复日程 ID) |
| 编辑/删除重复性日程 | 先读 重复性日程操作规范,按操作范围(仅此次/全部/此次及后续)执行 |
| 调用任何 Shortcut | 先读其对应 reference 文档 |
创建、更新、删除、RSVP 等写操作完成后,直接基于命令返回结果反馈用户;不要为了“确认是否生效”主动发起二次查询。只有用户明确要求复查,或命令返回信息不足以回答用户问题时,才需要再查询。
event_id;「全部」或「此次及后续」操作时需对原重复性日程操作(使用原日程 event_id),并按需处理例外。event_id)。删除/更新「全部」时必须同时处理例外,否则例外会残留。14:00~15:00),时间范围是泛指(如"今天下午")。+room-find 必须基于确定时间块,不能基于模糊范围。用户日常说的"帮我约个日历""查一下今天的日历",实际意图是针对**日程(Event)**的创建或查询,而非操作日历(Calendar)容器本身。自动将口语化的"日历"意图映射为"日程"操作。
| 用户意图 | 路由到 |
|----------|--------|
| 查询过去的会议("昨天的会议""上周的会") | ../lark-vc/SKILL.md(会议数据含即时会议,仅查日程会遗漏) |
| 查询日历/日程或未来时间的会议 | 本 skill |
| 按关键词搜索日程 | 本 skill(+search-event) |
| 从日程获取关联的视频会议 ID 或用户绑定的会议纪要文档 | 本 skill(+meeting) |
| 从日程进一步拿 AI 智能纪要 / 逐字稿 / 妙记产物 | 先 +meeting 取 meeting_id,再 vc +detail → note +detail / minutes +detail |
| 预约/改约日程、调整时间、添加/更换会议室、查会议室 | 先判断新建 vs 编辑,再进入 schedule-meeting 工作流 |
| 仅编辑日程字段(标题/描述)或增删参会人(不涉及时间和会议室) | 先定位 event_id,再读 +update 执行变更 |
| 编辑/删除重复性日程(「改这个重复日程」「删掉后面的」「全部取消」等) | 先读 重复性日程操作规范,确认操作范围后执行 |
处理"预约/改约日程、添加/移除参会人、添加/更换会议室、调整时间"时,必须先判断新建 vs 编辑:
这个日程、这场会)并表达修改动作(添加、移除、改到、换会议室、调整时间)。默认走编辑流,绝不能按新建处理。+room-find 的时间输入必须是确定时间块,不能是时间区间搜索。+suggestion 获取可用时间块,再将时间块交给 +room-find。严禁猜测时间盲目调用。# 通用调用格式
lark-cli calendar <resource> <method> [flags]
# 查询用户主日历
lark-cli calendar calendars primary
# 获取日程分享链接
lark-cli calendar events share_info --calendar-id <calendar_id> --event-id <event_id>
# 删除日程
lark-cli calendar events delete --calendar-id <calendar_id> --event-id <event_id>
calendar_id可以直接传primary,代表当前调用身份的主日历 ID。
lark-cli calendar <resource> -hlark-cli calendar <resource> <method> -hlark-cli schema calendar.<resource>.<method><resource> 为 calendars(日历本身)/ events(日程)/ event.attendees(参与人)/ freebusys(忙闲)。例:lark-cli schema calendar.events.delete。
# 搜索用户,更多参数详见 lark-contact
lark-cli contact +search-user --query <query> --as user
# 搜索群聊,更多参数详见 lark-im
lark-cli im +chat-search --query <query> --as user
注意(强制性):
This supplement is maintained by the repository sync pipeline. It keeps the imported upstream skill usable inside this curated collection when the upstream source is intentionally concise.
1. Confirm that the user's task matches the skill trigger.
2. Read the relevant project files or user-provided context before acting.
3. Choose the smallest reversible action that advances the task.
4. Run the verification command or manual check that proves the result.
5. Report the outcome, evidence, and any remaining risk.
development
Enumerating failure modes via pre-mortem analysis. Systematically identifies failure scenarios for plans, designs, and features, scoring them with RPN/AP. Does not write code.
testing
Orchestrating specialist AI agent teams as a meta-coordinator. Decomposes requests into minimum viable chains, spawns each as an independent session in AUTORUN modes, and drives to final output. Use when a task spans multiple specialist domains, requires parallel agent execution, or needs hub-and-spoke routing across the skill ecosystem.
development
Converting document formats (Markdown/Word/Excel/PDF/HTML). Converts specs from Scribe and reports from Harvest into distributable formats; generates reusable conversion scripts. Use when converting documents, building accessibility-compliant PDFs, or creating Pandoc/LibreOffice pipelines.
testing
Curating cross-agent knowledge and guarding institutional memory. Extracts patterns from agent journals into METAPATTERNS.md, detects knowledge decay, propagates best practices, prevents organizational forgetting. Use when consolidating cross-agent insights, curating memory, or auditing knowledge decay.