[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J16B11RWAV5EQNE5F8AFE3":3,"skill-same:01M6J16B11RWAV5EQNE5F8AFE3":118},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M6J16B11RWAV5EQNE5F8AFE3","lark-calendar",null,"飞书日历：管理日历日程和会议室。查看\u002F搜索日程、创建\u002F更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建\u002F修改会议、查询\u002F预定会议室时使用。不负责：查询过去的视频会议记录（走 lark-meeting）、待办任务（走 lark-task）。","larksuite\u002Fcli","larksuite","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54944174?v=4","01M6J14VT8GJAN67PYPEJG4B7W","Lark Technologies Pte. Ltd.","01M6J14VYWNDEHZTM1T14EN0XD",18085,"MIT","https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"calendar","lark calendar","lark","cli","help","视频","task","搜索","meeting","2026-11-10 10:12:30",false,"---\nname: lark-calendar\nversion: 1.0.0\ndescription: \"飞书日历：管理日历日程和会议室。查看\u002F搜索日程、创建\u002F更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建\u002F修改会议、查询\u002F预定会议室时使用。不负责：查询过去的视频会议记录（走 lark-meeting）、待办任务（走 lark-task）。\"\nmetadata:\n  requires:\n    bins: [\"lark-cli\"]\n  cliHelp: \"lark-cli calendar --help\"\n---\n\n# calendar (v4)\n\n开始前先读 [`..\u002Flark-shared\u002FSKILL.md`](..\u002Flark-shared\u002FSKILL.md)（认证、权限处理）。\n\n**CRITICAL — 凡涉及预约日程\u002F会议室、调整时间或查询\u002F搜索会议室，第一步 MUST 读 [`references\u002Flark-calendar-schedule-meeting.md`](references\u002Flark-calendar-schedule-meeting.md)。仅编辑字段（改标题\u002F描述）或增删参会人（不涉及时间和会议室）时可跳过，直接读 [`references\u002Flark-calendar-update.md`](references\u002Flark-calendar-update.md)。**\n\n## 身份\n\n按**日程归属**选身份：\n\n- 查看\u002F管理登录用户本人的日程 → `--as user`（默认，绝大多数场景）。\n- 查看\u002F管理 bot 自己创建\u002F拥有的日程 → `--as bot`\n\n**对话人称映射**：「我」= 登录用户，「你」= 应用（bot）；作为字段取值的人称（参会人、会议 owner 等）不参与身份判定，如「你创建日程，邀请我、会议 owner 为我」→ `--as bot` 创建，登录用户仅作参会人与会议 owner。\n\n```bash\n# 用户本人日程 → user\nlark-cli calendar +agenda --as user\n# bot 自建或参与的日程 → bot\nlark-cli calendar +agenda --as bot\n```\n\n## Shortcuts\n\n| Shortcut | 说明 |\n|----------|------|\n| `+agenda` | 查看日程安排（默认今天） |\n| [`+meeting`](references\u002Flark-calendar-meeting.md) | 通过日程事件 ID 获取关联的视频会议信息（meeting_id、meeting_note），日程开过视频会议才会有meeting_id,**注意**: 视频会议链接获取走+get命令 |\n| [`+create`](references\u002Flark-calendar-create.md) | 创建日程并邀请参会人（ISO 8601 时间） |\n| [`+update`](references\u002Flark-calendar-update.md) | 更新既有日程字段，或独立增量添加\u002F移除参会人和会议室；重复性日程\u002F例外必须传 `--apply-to`（详见 [重复性日程操作规范](references\u002Flark-calendar-recurring.md)） |\n| `+delete` | 删除日程；重复性日程\u002F例外必须传 `--apply-to`（详见 [重复性日程操作规范](references\u002Flark-calendar-recurring.md)） |\n| `+freebusy` | 查询主日历的忙闲\u002FRSVP状态\u002F空闲时间段。(**如需预约\u002F推荐时间段**走 `+suggestion`——它综合工作时间、忙碌区间和休息时间推荐。) |\n| [`+room-find`](references\u002Flark-calendar-room-find.md) | 针对一个或多个**明确的**时间块查找可用会议室（无明确时间时禁止直接调用，需先走 +suggestion） |\n| [`+rsvp`](references\u002Flark-calendar-rsvp.md) | 回复日程（接受\u002F拒绝\u002F待定） |\n| [`+join-event`](references\u002Flark-calendar-join-event.md) | 凭分享 token 加入日程（分享链接\u002F二维码\u002F分享卡片\u002FRSVP 卡片） |\n| [`+suggestion`](references\u002Flark-calendar-suggestion.md) | 根据非明确时间或一段时间范围，推荐多个可用时间块方案 |\n| [`+transfer`](references\u002Flark-calendar-transfer.md) | 把日程组织者转让给另一个用户或机器人；不可逆，需 `--yes` |\n| [`+list-attendees`](references\u002Flark-calendar-list-attendees.md) | 列出日程的参与人和会议室（支持按 `--type` 过滤：user \u002F resource \u002F chat \u002F third_party） |\n\n### `+get` — 单日程详情\n\n通过 `calendar_id` + `event_id` 获取**单个日程**详情。\n\n```bash\n# calendar_id不传，默认primary\nlark-cli calendar +get --calendar-id \u003Ccalendar_id> --event-id \u003Cevent_id>\n```\n\n日程描述统一使用 `description` 一个字段，按 **Markdown** 富文本处理。读取日程时 `description` 返回 Markdown 富文本（仅有纯文本描述时返回该纯文本）；创建\u002F更新日程时也通过 `--description` 传入 Markdown。\n\n> `+get` 返回不含参会人和会议室。需要参与人视角（用户 \u002F 会议室 \u002F 群 \u002F 三方邮箱）请调用 [`+list-attendees`](references\u002Flark-calendar-list-attendees.md)。\n\n### `+search-event` — 按关键词、时间范围和参会人搜索日程\n\n仅返回基础字段（`event_id`\u002F`summary`\u002F`start`\u002F`end` 等），需要详情请走 `+get`。\n\n```bash\n# query 按关键词 可选\n# start\u002Fend 按时间范围（ISO 8601 或 YYYY-MM-DD）可选\n# attendee-ids 按参会人（自动识别 ou_ 用户 \u002F oc_ 群聊 \u002F omm_ 会议室前缀）可选\n# page-token 分页游标，用于继续翻页 可选\n# page-size 每页数量，默认 30 可选\nlark-cli calendar +search-event --query \"周会\" --start 2026-04-20 --end 2026-04-27 --attendee-ids \"ou_user1,oc_chat1,omm_room1\" --page-token \u003Cpage_token> --page-size 30\n```\n\n`--attendee-ids` 的多值语义：**同类型内为 OR（并集）**——只要日程命中列表中的任意一个同类型 ID，就会返回。\n\n- `--attendee-ids \"ou_A,ou_B\"` = A **或** B 参加的日程（**不是** A 和 B 都参加的）。\n\n### `+delete` — 删除日程\n\n```bash\n# calendar_id不传，默认primary\nlark-cli calendar +delete --calendar-id \u003Ccalendar_id> --event-id \u003Cevent_id> --notify=true\n```\n\n### `+agenda` — 查看近期日程安排\n\n默认查询当天。结果应整理为按日期分组、按开始时间升序的易读时间线。\n\n```bash\n# start\u002Fend 时间范围（ISO 8601 \u002F YYYY-MM-DD \u002F Unix 秒），均可选；默认当天\n# calendar-id 日历 ID（默认primary）可选\nlark-cli calendar +agenda --start 2026-03-10 --end 2026-03-17 --calendar-id \u003Ccalendar_id>\n```\n\n注意：\n- 已取消的日程自动过滤；无日程时直接告知\"日程清空\"。\n- 时间范围超过 40 天会自动拆分查询并合并结果。\n\n### `+freebusy` — 查询主日历忙闲时段 \u002F 事件 \u002F 公共空闲\n\n`+freebusy` 一个入口承担四种视角：几何计算类（`busy` \u002F `free` \u002F `common_free`）走自动合并；事件维度类（`raw_busy`）保留每条上游日程 + `rsvp_status`。\n\n```bash\n# start\u002Fend 时间范围（ISO 8601 \u002F YYYY-MM-DD \u002F Unix 秒），均可选；默认当天\n# user-id 目标用户 open_id，可重复或用逗号分隔；默认当前登录用户，bot 身份必须显式传至少一个\n# type 视角四选一（默认 busy）：\n#   busy         每个 user 合并后的忙碌区间（找空档、看忙碌时段）\n#   raw_busy     每个 user 的原始日程块 + rsvp_status（数会议、看每个会的 rsvp）\n#   free         每个 user 在时间窗内的空闲区间（可带 --min-duration 过滤）\n#   common_free  所有 user 的共同空闲区间（可带 --min-duration 过滤）\n# min-duration 仅对 free \u002F common_free 生效；Go duration 格式，例如 30m、1h、90m\n\n# 查询忙碌时间段（去重并合并相邻\u002F重叠段）\nlark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-11 --user-id ou_a,ou_b --type busy\n\n# 看别人有几个会、每个会的起止 + rsvp（不合并相邻\u002F重叠段，带rsvp状态）\nlark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-11 --user-id ou_a,ou_b --type raw_busy\n\n# 查询用户空闲时间段\nlark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-11 --user-id ou_a,ou_b --type free\n\n# 多人公共空闲时间段（推荐替代手工合并）\nlark-cli calendar +freebusy --start 2026-03-11T09:00:00+08:00 --end 2026-03-11T18:00:00+08:00 --user-id ou_a,ou_b --type common_free --min-duration 30m\n```\n\n用法提示：\n- **`+freebusy` 只适用于查询忙碌\u002F空闲时间段这一事实**。如果目标是\"给会议**推荐**一个合适的时间段\"（单人或多人），必须优先使用 [`+suggestion`](references\u002Flark-calendar-suggestion.md)——它会综合**工作时间段、忙碌时间段、休息时间段**来推荐，`+freebusy` 只回答\"哪些区间空着\"，不判断该区间是否适合排会。\n- **多人公共空闲**：只想拿\"哪些区间共同没被占\"→ `--type common_free [--min-duration \u003Cdur>]`；想拿\"推荐的会议时间段\"→ 走 `+suggestion`。\n\n## 前置条件路由\n\n> **先判断是否重复性日程**：若操作对象是重复性日程，必须先读 [重复性日程操作规范](references\u002Flark-calendar-recurring.md)，并在用户未明确范围时先确认「仅此次\u002F全部\u002F此次及后续」（不要默认仅此次），再按下表进入具体操作流程。\n\n| 场景 | 前置要求 |\n|------|----------|\n| 预约日程\u002F会议、调整时间、查会议室 | 先读 [lark-calendar-schedule-meeting.md](references\u002Flark-calendar-schedule-meeting.md) |\n| 仅编辑字段（标题\u002F描述）或增删参会人 | 先定位 `event_id`，再读 [lark-calendar-update.md](references\u002Flark-calendar-update.md) |\n| 调用任何 Shortcut | 先读其对应 reference 文档 |\n\n## 写操作反馈\n\n创建、更新、删除、RSVP 等写操作完成后，直接基于命令返回结果反馈用户；不要为了“确认是否生效”主动发起二次查询。只有用户明确要求复查，或命令返回信息不足以回答用户问题时，才需要再查询。\n\n## 核心概念\n\n- **日程实例（Instance）**：重复性日程展开后的具体时间实例。「仅此次」操作时使用具体实例的 `event_id`；「全部」或「此次及后续」操作时需对原重复性日程操作（使用原日程 `event_id`），并按需处理例外。\n- **重复性日程例外（Exception）**：对重复性日程某次实例做过「仅此次」编辑后产生的独立日程（拥有独立 `event_id`）。删除\u002F更新「全部」时必须同时处理例外，否则例外会残留。\n- **全天日程（All-day Event）**：只按日期占用、没有具体起止时刻的日程，结束日期是包含在日程时间内的。\n- **时间块 vs 时间范围**：时间块是具体确定的连续时间段（如 `14:00~15:00`），时间范围是泛指（如\"今天下午\"）。`+room-find` 必须基于确定时间块，不能基于模糊范围。\n- **会议室（Room）**：\"room\"不是\"房间\"，是\"会议室\"。会议室是日程的一种参与人（resource attendee），不能脱离日程单独预定。\n- **日程会议 ID（Meeting ID）**：日程的历史视频会议 ID，在日程上开过视频会议才会有。\n- **日程分享链接 vs 会议链接**：两者是不同事物，不可混用。\n  - 日程分享链接：`https:\u002F\u002F\u003Cdomain>\u002Fcalendar\u002Fshare?token=\u003Ctoken>`，指向日程本身，用于分享日程详情。**分享日程给某个人、某个群或粘贴到文档中，需要的都是这个日程分享链接（通过 `calendar events share_info` 获取），不是 applink**；禁止自己拼接 applink 或用 applink 代替。\n  - 会议链接：`https:\u002F\u002F\u003Cdomain>\u002Fj\u002F\u003Cnumber>`，指向视频会议入口；同一重复性日程序列的所有实例共用同一个会议链接。\n\n## 术语映射\n\n用户日常说的\"帮我约个日历\"\"查一下今天的日历\"，实际意图是针对**日程（Event）**的创建或查询，而非操作日历（Calendar）容器本身。自动将口语化的\"日历\"意图映射为\"日程\"操作。\n\n## 意图路由\n\n**日程与会议的关系**：用户口中的「会议」通常不区分日程和视频会议。定义、三种查询意图（当前\u002F未来\u002F过去）的分流规则见 [日程与视频会议的关系](references\u002Flark-calendar-meeting-relation.md)。\n\n| 用户意图 | 路由到 |\n|----------|--------|\n| 查询过去的会议（\"昨天的会议\"\"上周的会\"）\u002F今天有哪些会议 \u002F 当前正在开的会议 | 先读 [日程与视频会议的关系](references\u002Flark-calendar-meeting-relation.md) |\n| 未来的会议 \u002F 明天\u002F下周的会议 | 本 skill：视频会议不存在于未来，等价于查日程 |\n| 按关键词搜索日程 | 本 skill（`+search-event`） |\n| 从日程获取关联的视频会议 ID 或用户绑定的会议纪要文档 | 本 skill（[`+meeting`](references\u002Flark-calendar-meeting.md)） |\n| 查看日程的参会人 \u002F 会议室（含 `--type resource` 只看会议室） | 本 skill（[`+list-attendees`](references\u002Flark-calendar-list-attendees.md)） |\n| 把日程分享给某人 \u002F 群 \u002F 粘贴到文档 | 本 skill：先 `calendar events share_info` 取**日程分享链接**，再走 [lark-im](..\u002Flark-im\u002FSKILL.md) 发送或粘贴该链接；**分享日程给某个人、某个群或粘贴到文档中，需要的都是日程分享链接，不是 applink**，不要自己拼接或用 applink 代替 |\n| 从日程进一步拿 AI 智能纪要 \u002F 逐字稿 \u002F 妙记产物 | 先 `+meeting` 取 `meeting_id`，再进入 [`lark-meeting`](..\u002Flark-meeting\u002FSKILL.md)：[`vc +detail`](..\u002Flark-meeting\u002Freferences\u002Flark-vc-detail.md) → [`note +detail`](..\u002Flark-meeting\u002Freferences\u002Flark-note-detail.md) \u002F [`minutes +detail`](..\u002Flark-meeting\u002Freferences\u002Flark-minutes-detail.md) |\n| 预约\u002F改约日程、调整时间、添加\u002F更换会议室、查会议室 | 先判断新建 vs 编辑，再进入 [schedule-meeting 工作流](references\u002Flark-calendar-schedule-meeting.md) |\n| 仅编辑日程字段（标题\u002F描述）或增删参会人（不涉及时间和会议室） | 先定位 `event_id`，再读 [+update](references\u002Flark-calendar-update.md) 执行变更 |\n| 编辑\u002F删除重复性日程（「改这个重复日程」「删掉后面的」「全部取消」等） | 先读 [重复性日程操作规范](references\u002Flark-calendar-recurring.md)；`+update` \u002F `+delete` 均通过 `--apply-to=single|all|this-and-following` 指定范围 |\n| 转让日程组织者（「把这个日程交给 XX」「组织者改成 XX」「这个会转给我」「bot 建完还给我」） | 读 [+transfer](references\u002Flark-calendar-transfer.md)；`--as` 用**当前组织者**身份，`--to-user-id` 传接收人，用户和机器人任意互转 |\n\n## 任务类型分流\n\n处理\"预约\u002F改约日程、添加\u002F移除参会人、添加\u002F更换会议室、调整时间\"时，必须先判断新建 vs 编辑：\n\n- **编辑已有日程的强信号**：用户提到已存在的日程锚点（标题、时间段、`这个日程`、`这场会`）并表达修改动作（添加、移除、改到、换会议室、调整时间）。默认走编辑流，绝不能按新建处理。\n- **新建日程**：用户表达新增意图（\"新约一个会\"\"创建一个日程\"\"安排一次会议\"），且没有指向既有日程的修改动作。\n\n## 时间推断规范\n\n- **星期的定义**：周一是一周的第一天，周日是最后一天。计算\"下周一\"等相对日期时，基于当前真实日期推算。\n- **一天的范围**：用户提到\"明天\"\"今天\"等泛指某天时，时间范围应覆盖整天，不要自行缩减。\n- **历史时间约束**：不能预约已经完全过去的时间。唯一例外是\"跨越当前时间\"的日程（开始在过去、结束在未来）。\n\n## 会议室规则\n\n- 凡是\"预定\u002F查询\u002F搜索可用会议室\"，都必须进入 [schedule-meeting 工作流](references\u002Flark-calendar-schedule-meeting.md)，会议室参数规范详见 [+room-find](references\u002Flark-calendar-room-find.md)。\n- `+room-find` 的时间输入必须是确定时间块，不能是时间区间搜索。\n- 用户仅要求\"查会议室\"但未提供明确时间时，必须先调用 `+suggestion` 获取可用时间块，再将时间块交给 `+room-find`。严禁猜测时间盲目调用。\n- 编辑已有日程时，\"添加会议室\"默认是增量语义，保留已有会议室；只有用户明确说\"更换会议室\"\"移除会议室\"时才删除旧会议室。\n\n## API Resources\n\n```bash\n# 通用调用格式\nlark-cli calendar \u003Cresource> \u003Cmethod> [flags]\n\n# 查询用户主日历\nlark-cli calendar calendars primary\n\n# 获取日程分享链接（分享给他人\u002F群前必须先拿到）\n# 返回形如 {{domain}}\u002Fcalendar\u002Fshare?token=\u003Ctoken> 的分享链接，不是 applink；直接把该链接发给对方（对方可凭链接中的 token 走 +join-event 加入）\nlark-cli calendar events share_info --calendar-id \u003Ccalendar_id> --event-id \u003Cevent_id>\n\n# 删除日程\nlark-cli calendar events delete --calendar-id \u003Ccalendar_id> --event-id \u003Cevent_id>\n```\n\n> `calendar_id` 可以直接传 `primary`，代表当前调用身份的主日历 ID。\n\n### 查询资源的方法列表以及方法的使用方式\n\n- 列出某资源下的方法：`lark-cli calendar \u003Cresource> -h`\n- 查看方法的cli flag：`lark-cli calendar \u003Cresource> \u003Cmethod> -h`\n- 查看方法API参数：`lark-cli schema calendar.\u003Cresource>.\u003Cmethod>`\n\n`\u003Cresource>` 为 `calendars`（日历本身）\u002F `events`（日程）\u002F `event.attendees`（参与人）\u002F `freebusys`（忙闲）。例：`lark-cli schema calendar.events.delete`。\n\n## 常用其他域命令\n\n```bash\n# 批量搜索多个用户，更多参数详见 lark-contact\nlark-cli contact +search-user --queries \"\u003Cq1>,\u003Cq2>\" --as user\n\n# 搜索群聊，更多参数详见 lark-im\nlark-cli im +chat-search --query \u003Cquery> --as user\n```\n\n> 搜索用户\u002F群不支持 bot 身份，必须用 `--as user`。**解析不到或类型不明确时，向用户澄清该参会人类型，不要靠名字形态硬猜类型。**\n\n## 不在本 skill 范围\n\n- 查询过去的视频会议记录 → [lark-meeting](..\u002Flark-meeting\u002FSKILL.md)\n- 待办任务管理 → [lark-task](..\u002Flark-task\u002FSKILL.md)\n- 通讯录 → [lark-contact](..\u002Flark-contact\u002FSKILL.md)\n- 即时通讯 → [lark-im](..\u002Flark-im\u002FSKILL.md)\n- 会议室物理设施管理 → 管理员后台\n\n**注意（强制性）：**\n- 涉及日期（时间）字符串与时间戳的相互转换时，务必调用系统命令或脚本代码等外部工具进行处理，以确保转换的绝对准确；换算**禁止依赖容器默认时区**（常为 UTC，会导致 8 小时偏移），必须显式指定目标时区。违者将导致严重的逻辑错误！\n","# calendar (v4)\n\n开始前先读 [`..\u002Flark-shared\u002FSKILL.md`](..\u002Flark-shared\u002FSKILL.md)（认证、权限处理）。\n\n**CRITICAL — 凡涉及预约日程\u002F会议室、调整时间或查询\u002F搜索会议室，第一步 MUST 读 [`references\u002Flark-calendar-schedule-meeting.md`](references\u002Flark-calendar-schedule-meeting.md)。仅编辑字段（改标题\u002F描述）或增删参会人（不涉及时间和会议室）时可跳过，直接读 [`references\u002Flark-calendar-update.md`](references\u002Flark-calendar-update.md)。**\n\n## 身份\n\n按**日程归属**选身份：\n\n- 查看\u002F管理登录用户本人的日程 → `--as user`（默认，绝大多数场景）。\n- 查看\u002F管理 bot 自己创建\u002F拥有的日程 → `--as bot`\n\n**对话人称映射**：「我」= 登录用户，「你」= 应用（bot）；作为字段取值的人称（参会人、会议 owner 等）不参与身份判定，如「你创建日程，邀请我、会议 owner 为我」→ `--as bot` 创建，登录用户仅作参会人与会议 owner。\n\n```bash\n# 用户本人日程 → user\nlark-cli calendar +agenda --as user\n# bot 自建或参与的日程 → bot\nlark-cli calendar +agenda --as bot\n```\n\n## Shortcuts\n\n| Shortcut | 说明 |\n|----------|------|\n| `+agenda` | 查看日程安排（默认今天） |\n| [`+meeting`](references\u002Flark-calendar-meeting.md) | 通过日程事件 ID 获取关联的视频会议信息（meeting_id、meeting_note），日程开过视频会议才会有meeting_id,**注意**: 视频会议链接获取走+get命令 |\n| [`+create`](references\u002Flark-calendar-create.md) | 创建日程并邀请参会人（ISO 8601 时间） |\n| [`+update`](references\u002Flark-calendar-update.md) | 更新既有日程字段，或独立增量添加\u002F移除参会人和会议室；重复性日程\u002F例外必须传 `--apply-to`（详见 [重复性日程操作规范](references\u002Flark-calendar-recurring.md)） |\n| `+delete` | 删除日程；重复性日程\u002F例外必须传 `--apply-to`（详见 [重复性日程操作规范](references\u002Flark-calendar-recurring.md)） |\n| `+freebusy` | 查询主日历的忙闲\u002FRSVP状态\u002F空闲时间段。(**如需预约\u002F推荐时间段**走 `+suggestion`——它综合工作时间、忙碌区间和休息时间推荐。) |\n| [`+room-find`](references\u002Flark-calendar-room-find.md) | 针对一个或多个**明确的**时间块查找可用会议室（无明确时间时禁止直接调用，需先走 +suggestion） |\n| [`+rsvp`](references\u002Flark-calendar-rsvp.md) | 回复日程（接受\u002F拒绝\u002F待定） |\n| [`+join-event`](references\u002Flark-calendar-join-event.md) | 凭分享 token 加入日程（分享链接\u002F二维码\u002F分享卡片\u002FRSVP 卡片） |\n| [`+suggestion`](references\u002Flark-calendar-suggestion.md) | 根据非明确时间或一段时间范围，推荐多个可用时间块方案 |\n| [`+transfer`](references\u002Flark-calendar-transfer.md) | 把日程组织者转让给另一个用户或机器人；不可逆，需 `--yes` |\n| [`+list-attendees`](references\u002Flark-calendar-list-attendees.md) | 列出日程的参与人和会议室（支持按 `--type` 过滤：user \u002F resource \u002F chat \u002F third_party） |\n\n### `+get` — 单日程详情\n\n通过 `calendar_id` + `event_id` 获取**单个日程**详情。\n\n```bash\n# calendar_id不传，默认primary\nlark-cli calendar +get --calendar-id \u003Ccalendar_id> --event-id \u003Cevent_id>\n```\n\n日程描述统一使用 `description` 一个字段，按 **Markdown** 富文本处理。读取日程时 `description` 返回 Markdown 富文本（仅有纯文本描述时返回该纯文本）；创建\u002F更新日程时也通过 `--description` 传入 Markdown。\n\n> `+get` 返回不含参会人和会议室。需要参与人视角（用户 \u002F 会议室 \u002F 群 \u002F 三方邮箱）请调用 [`+list-attendees`](references\u002Flark-calendar-list-attendees.md)。\n\n### `+search-event` — 按关键词、时间范围和参会人搜索日程\n\n仅返回基础字段（`event_id`\u002F`summary`\u002F`start`\u002F`end` 等），需要详情请走 `+get`。\n\n```bash\n# query 按关键词 可选\n# start\u002Fend 按时间范围（ISO 8601 或 YYYY-MM-DD）可选\n# attendee-ids 按参会人（自动识别 ou_ 用户 \u002F oc_ 群聊 \u002F omm_ 会议室前缀）可选\n# page-token 分页游标，用于继续翻页 可选\n# page-size 每页数量，默认 30 可选\nlark-cli calendar +search-event --query \"周会\" --start 2026-04-20 --end 2026-04-27 --attendee-ids \"ou_user1,oc_chat1,omm_room1\" --page-token \u003Cpage_token> --page-size 30\n```\n\n`--attendee-ids` 的多值语义：**同类型内为 OR（并集）**——只要日程命中列表中的任意一个同类型 ID，就会返回。\n\n- `--attendee-ids \"ou_A,ou_B\"` = A **或** B 参加的日程（**不是** A 和 B 都参加的）。\n\n### `+delete` — 删除日程\n\n```bash\n# calendar_id不传，默认primary\nlark-cli calendar +delete --calendar-id \u003Ccalendar_id> --event-id \u003Cevent_id> --notify=true\n```\n\n### `+agenda` — 查看近期日程安排\n\n默认查询当天。结果应整理为按日期分组、按开始时间升序的易读时间线。\n\n```bash\n# start\u002Fend 时间范围（ISO 8601 \u002F YYYY-MM-DD \u002F Unix 秒），均可选；默认当天\n# calendar-id 日历 ID（默认primary）可选\nlark-cli calendar +agenda --start 2026-03-10 --end 2026-03-17 --calendar-id \u003Ccalendar_id>\n```\n\n注意：\n- 已取消的日程自动过滤；无日程时直接告知\"日程清空\"。\n- 时间范围超过 40 天会自动拆分查询并合并结果。\n\n### `+freebusy` — 查询主日历忙闲时段 \u002F 事件 \u002F 公共空闲\n\n`+freebusy` 一个入口承担四种视角：几何计算类（`busy` \u002F `free` \u002F `common_free`）走自动合并；事件维度类（`raw_busy`）保留每条上游日程 + `rsvp_status`。\n\n```bash\n# start\u002Fend 时间范围（ISO 8601 \u002F YYYY-MM-DD \u002F Unix 秒），均可选；默认当天\n# user-id 目标用户 open_id，可重复或用逗号分隔；默认当前登录用户，bot 身份必须显式传至少一个\n# type 视角四选一（默认 busy）：\n#   busy         每个 user 合并后的忙碌区间（找空档、看忙碌时段）\n#   raw_busy     每个 user 的原始日程块 + rsvp_status（数会议、看每个会的 rsvp）\n#   free         每个 user 在时间窗内的空闲区间（可带 --min-duration 过滤）\n#   common_free  所有 user 的共同空闲区间（可带 --min-duration 过滤）\n# min-duration 仅对 free \u002F common_free 生效；Go duration 格式，例如 30m、1h、90m\n\n# 查询忙碌时间段（去重并合并相邻\u002F重叠段）\nlark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-11 --user-id ou_a,ou_b --type busy\n\n# 看别人有几个会、每个会的起止 + rsvp（不合并相邻\u002F重叠段，带rsvp状态）\nlark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-11 --user-id ou_a,ou_b --type raw_busy\n\n# 查询用户空闲时间段\nlark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-11 --user-id ou_a,ou_b --type free\n\n# 多人公共空闲时间段（推荐替代手工合并）\nlark-cli calendar +freebusy --start 2026-03-11T09:00:00+08:00 --end 2026-03-11T18:00:00+08:00 --user-id ou_a,ou_b --type common_free --min-duration 30m\n```\n\n用法提示：\n- **`+freebusy` 只适用于查询忙碌\u002F空闲时间段这一事实**。如果目标是\"给会议**推荐**一个合适的时间段\"（单人或多人），必须优先使用 [`+suggestion`](references\u002Flark-calendar-suggestion.md)——它会综合**工作时间段、忙碌时间段、休息时间段**来推荐，`+freebusy` 只回答\"哪些区间空着\"，不判断该区间是否适合排会。\n- **多人公共空闲**：只想拿\"哪些区间共同没被占\"→ `--type common_free [--min-duration \u003Cdur>]`；想拿\"推荐的会议时间段\"→ 走 `+suggestion`。\n\n## 前置条件路由\n\n> **先判断是否重复性日程**：若操作对象是重复性日程，必须先读 [重复性日程操作规范](references\u002Flark-calendar-recurring.md)，并在用户未明确范围时先确认「仅此次\u002F全部\u002F此次及后续」（不要默认仅此次），再按下表进入具体操作流程。\n\n| 场景 | 前置要求 |\n|------|----------|\n| 预约日程\u002F会议、调整时间、查会议室 | 先读 [lark-calendar-schedule-meeting.md](references\u002Flark-calendar-schedule-meeting.md) |\n| 仅编辑字段（标题\u002F描述）或增删参会人 | 先定位 `event_id`，再读 [lark-calendar-update.md](references\u002Flark-calendar-update.md) |\n| 调用任何 Shortcut | 先读其对应 reference 文档 |\n\n## 写操作反馈\n\n创建、更新、删除、RSVP 等写操作完成后，直接基于命令返回结果反馈用户；不要为了“确认是否生效”主动发起二次查询。只有用户明确要求复查，或命令返回信息不足以回答用户问题时，才需要再查询。\n\n## 核心概念\n\n- **日程实例（Instance）**：重复性日程展开后的具体时间实例。「仅此次」操作时使用具体实例的 `event_id`；「全部」或「此次及后续」操作时需对原重复性日程操作（使用原日程 `event_id`），并按需处理例外。\n- **重复性日程例外（Exception）**：对重复性日程某次实例做过「仅此次」编辑后产生的独立日程（拥有独立 `event_id`）。删除\u002F更新「全部」时必须同时处理例外，否则例外会残留。\n- **全天日程（All-day Event）**：只按日期占用、没有具体起止时刻的日程，结束日期是包含在日程时间内的。\n- **时间块 vs 时间范围**：时间块是具体确定的连续时间段（如 `14:00~15:00`），时间范围是泛指（如\"今天下午\"）。`+room-find` 必须基于确定时间块，不能基于模糊范围。\n- **会议室（Room）**：\"room\"不是\"房间\"，是\"会议室\"。会议室是日程的一种参与人（resource attendee），不能脱离日程单独预定。\n- **日程会议 ID（Meeting ID）**：日程的历史视频会议 ID，在日程上开过视频会议才会有。\n- **日程分享链接 vs 会议链接**：两者是不同事物，不可混用。\n  - 日程分享链接：`https:\u002F\u002F\u003Cdomain>\u002Fcalendar\u002Fshare?token=\u003Ctoken>`，指向日程本身，用于分享日程详情。**分享日程给某个人、某个群或粘贴到文档中，需要的都是这个日程分享链接（通过 `calendar events share_info` 获取），不是 applink**；禁止自己拼接 applink 或用 applink 代替。\n  - 会议链接：`https:\u002F\u002F\u003Cdomain>\u002Fj\u002F\u003Cnumber>`，指向视频会议入口；同一重复性日程序列的所有实例共用同一个会议链接。\n\n## 术语映射\n\n用户日常说的\"帮我约个日历\"\"查一下今天的日历\"，实际意图是针对**日程（Event）**的创建或查询，而非操作日历（Calendar）容器本身。自动将口语化的\"日历\"意图映射为\"日程\"操作。\n\n## 意图路由\n\n**日程与会议的关系**：用户口中的「会议」通常不区分日程和视频会议。定义、三种查询意图（当前\u002F未来\u002F过去）的分流规则见 [日程与视频会议的关系](references\u002Flark-calendar-meeting-relation.md)。\n\n| 用户意图 | 路由到 |\n|----------|--------|\n| 查询过去的会议（\"昨天的会议\"\"上周的会\"）\u002F今天有哪些会议 \u002F 当前正在开的会议 | 先读 [日程与视频会议的关系](references\u002Flark-calendar-meeting-relation.md) |\n| 未来的会议 \u002F 明天\u002F下周的会议 | 本 skill：视频会议不存在于未来，等价于查日程 |\n| 按关键词搜索日程 | 本 skill（`+search-event`） |\n| 从日程获取关联的视频会议 ID 或用户绑定的会议纪要文档 | 本 skill（[`+meeting`](references\u002Flark-calendar-meeting.md)） |\n| 查看日程的参会人 \u002F 会议室（含 `--type resource` 只看会议室） | 本 skill（[`+list-attendees`](references\u002Flark-calendar-list-attendees.md)） |\n| 把日程分享给某人 \u002F 群 \u002F 粘贴到文档 | 本 skill：先 `calendar events share_info` 取**日程分享链接**，再走 [lark-im](..\u002Flark-im\u002FSKILL.md) 发送或粘贴该链接；**分享日程给某个人、某个群或粘贴到文档中，需要的都是日程分享链接，不是 applink**，不要自己拼接或用 applink 代替 |\n| 从日程进一步拿 AI 智能纪要 \u002F 逐字稿 \u002F 妙记产物 | 先 `+meeting` 取 `meeting_id`，再进入 [`lark-meeting`](..\u002Flark-meeting\u002FSKILL.md)：[`vc +detail`](..\u002Flark-meeting\u002Freferences\u002Flark-vc-detail.md) → [`note +detail`](..\u002Flark-meeting\u002Freferences\u002Flark-note-detail.md) \u002F [`minutes +detail`](..\u002Flark-meeting\u002Freferences\u002Flark-minutes-detail.md) |\n| 预约\u002F改约日程、调整时间、添加\u002F更换会议室、查会议室 | 先判断新建 vs 编辑，再进入 [schedule-meeting 工作流](references\u002Flark-calendar-schedule-meeting.md) |\n| 仅编辑日程字段（标题\u002F描述）或增删参会人（不涉及时间和会议室） | 先定位 `event_id`，再读 [+update](references\u002Flark-calendar-update.md) 执行变更 |\n| 编辑\u002F删除重复性日程（「改这个重复日程」「删掉后面的」「全部取消」等） | 先读 [重复性日程操作规范](references\u002Flark-calendar-recurring.md)；`+update` \u002F `+delete` 均通过 `--apply-to=single|all|this-and-following` 指定范围 |\n| 转让日程组织者（「把这个日程交给 XX」「组织者改成 XX」「这个会转给我」「bot 建完还给我」） | 读 [+transfer](references\u002Flark-calendar-transfer.md)；`--as` 用**当前组织者**身份，`--to-user-id` 传接收人，用户和机器人任意互转 |\n\n## 任务类型分流\n\n处理\"预约\u002F改约日程、添加\u002F移除参会人、添加\u002F更换会议室、调整时间\"时，必须先判断新建 vs 编辑：\n\n- **编辑已有日程的强信号**：用户提到已存在的日程锚点（标题、时间段、`这个日程`、`这场会`）并表达修改动作（添加、移除、改到、换会议室、调整时间）。默认走编辑流，绝不能按新建处理。\n- **新建日程**：用户表达新增意图（\"新约一个会\"\"创建一个日程\"\"安排一次会议\"），且没有指向既有日程的修改动作。\n\n## 时间推断规范\n\n- **星期的定义**：周一是一周的第一天，周日是最后一天。计算\"下周一\"等相对日期时，基于当前真实日期推算。\n- **一天的范围**：用户提到\"明天\"\"今天\"等泛指某天时，时间范围应覆盖整天，不要自行缩减。\n- **历史时间约束**：不能预约已经完全过去的时间。唯一例外是\"跨越当前时间\"的日程（开始在过去、结束在未来）。\n\n## 会议室规则\n\n- 凡是\"预定\u002F查询\u002F搜索可用会议室\"，都必须进入 [schedule-meeting 工作流](references\u002Flark-calendar-schedule-meeting.md)，会议室参数规范详见 [+room-find](references\u002Flark-calendar-room-find.md)。\n- `+room-find` 的时间输入必须是确定时间块，不能是时间区间搜索。\n- 用户仅要求\"查会议室\"但未提供明确时间时，必须先调用 `+suggestion` 获取可用时间块，再将时间块交给 `+room-find`。严禁猜测时间盲目调用。\n- 编辑已有日程时，\"添加会议室\"默认是增量语义，保留已有会议室；只有用户明确说\"更换会议室\"\"移除会议室\"时才删除旧会议室。\n\n## API Resources\n\n```bash\n# 通用调用格式\nlark-cli calendar \u003Cresource> \u003Cmethod> [flags]\n\n# 查询用户主日历\nlark-cli calendar calendars primary\n\n# 获取日程分享链接（分享给他人\u002F群前必须先拿到）\n# 返回形如 {{domain}}\u002Fcalendar\u002Fshare?token=\u003Ctoken> 的分享链接，不是 applink；直接把该链接发给对方（对方可凭链接中的 token 走 +join-event 加入）\nlark-cli calendar events share_info --calendar-id \u003Ccalendar_id> --event-id \u003Cevent_id>\n\n# 删除日程\nlark-cli calendar events delete --calendar-id \u003Ccalendar_id> --event-id \u003Cevent_id>\n```\n\n> `calendar_id` 可以直接传 `primary`，代表当前调用身份的主日历 ID。\n\n### 查询资源的方法列表以及方法的使用方式\n\n- 列出某资源下的方法：`lark-cli calendar \u003Cresource> -h`\n- 查看方法的cli flag：`lark-cli calendar \u003Cresource> \u003Cmethod> -h`\n- 查看方法API参数：`lark-cli schema calendar.\u003Cresource>.\u003Cmethod>`\n\n`\u003Cresource>` 为 `calendars`（日历本身）\u002F `events`（日程）\u002F `event.attendees`（参与人）\u002F `freebusys`（忙闲）。例：`lark-cli schema calendar.events.delete`。\n\n## 常用其他域命令\n\n```bash\n# 批量搜索多个用户，更多参数详见 lark-contact\nlark-cli contact +search-user --queries \"\u003Cq1>,\u003Cq2>\" --as user\n\n# 搜索群聊，更多参数详见 lark-im\nlark-cli im +chat-search --query \u003Cquery> --as user\n```\n\n> 搜索用户\u002F群不支持 bot 身份，必须用 `--as user`。**解析不到或类型不明确时，向用户澄清该参会人类型，不要靠名字形态硬猜类型。**\n\n## 不在本 skill 范围\n\n- 查询过去的视频会议记录 → [lark-meeting](..\u002Flark-meeting\u002FSKILL.md)\n- 待办任务管理 → [lark-task](..\u002Flark-task\u002FSKILL.md)\n- 通讯录 → [lark-contact](..\u002Flark-contact\u002FSKILL.md)\n- 即时通讯 → [lark-im](..\u002Flark-im\u002FSKILL.md)\n- 会议室物理设施管理 → 管理员后台\n\n**注意（强制性）：**\n- 涉及日期（时间）字符串与时间戳的相互转换时，务必调用系统命令或脚本代码等外部工具进行处理，以确保转换的绝对准确；换算**禁止依赖容器默认时区**（常为 UTC，会导致 8 小时偏移），必须显式指定目标时区。违者将导致严重的逻辑错误！\n",{"name":5,"version":33,"metadata":34,"description":7},"1.0.0",{"cliHelp":35,"requires":36},"lark-cli calendar --help",{"bins":37},[38],"lark-cli","main","f31194b461afbd75479d12850b0f9cb9427cb762","skills\u002Flark-calendar",1379,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli","https:\u002F\u002Fgithub.com\u002Flarksuite","https:\u002F\u002Fwww.larksuite.com","2026-11-12 21:02:41",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add larksuite\u002Fcli --skill lark-calendar",{"tool":53,"command":54},"bunx","bunx skills add larksuite\u002Fcli --skill lark-calendar",{"tool":56,"command":57},"pnpm","pnpm dlx skills add larksuite\u002Fcli --skill lark-calendar","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002FSKILL.md",true,[61,67,71,74,78,82,86,90,94,98,102,106,110,114],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Flark-calendar-create.md","REFERENCE","参考文档",6168,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-create.md",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Flark-calendar-join-event.md",1998,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-join-event.md",{"path":72,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":42,"sourceHtmlUrl":73},"references\u002Flark-calendar-list-attendees.md","https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-list-attendees.md",{"path":75,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Flark-calendar-meeting-relation.md",5457,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-meeting-relation.md",{"path":79,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Flark-calendar-meeting.md",1678,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-meeting.md",{"path":83,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Flark-calendar-recurring.md",6995,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-recurring.md",{"path":87,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Flark-calendar-room-find.md",8396,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-room-find.md",{"path":91,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Flark-calendar-rsvp.md",1106,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-rsvp.md",{"path":95,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Flark-calendar-schedule-clear-time.md",2827,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-schedule-clear-time.md",{"path":99,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Flark-calendar-schedule-fuzzy-time.md",3365,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-schedule-fuzzy-time.md",{"path":103,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Flark-calendar-schedule-meeting.md",6290,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-schedule-meeting.md",{"path":107,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Flark-calendar-suggestion.md",7113,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-suggestion.md",{"path":111,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Flark-calendar-transfer.md",4552,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-transfer.md",{"path":115,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Flark-calendar-update.md",8029,"https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-calendar\u002Freferences\u002Flark-calendar-update.md",[119,148,164,182,201,215],{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":130,"publishedAt":28},"01M6J19Q42KW26AGS4TRJCFSWK","cli-e2e-testcase-writer","Use when adding or updating Go CLI E2E coverage for one `tests\u002Fcli_e2e\u002F{domain}` domain of the compiled `lark-cli`, especially when the work requires live `--help` or `schema` exploration, scenario-based `clie2e.RunCmd` workflows, and per-domain `coverage.md` maintenance.","https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Ftests\u002Fcli_e2e\u002Fcli-e2e-testcase-writer\u002FSKILL.md",[125],{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[22,131,132,133,23,134,135,136,137,138,139,21,140,141,142,143,144,145,146,147],"e2e","writer","cli e2e testcase writer","maintenance","for","scenario","tests","live","domain","exploration","schema","use","coverage","work","when","workflows","go",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":28},"01M6J19MNSEQ2WHAJWS9WDXEYC","lark-workflow-standup-report","日程待办摘要：编排 calendar +agenda 和 task +get-my-tasks，生成指定日期的日程与未完成任务摘要。适用于了解今天\u002F明天\u002F本周的安排。","https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-workflow-standup-report\u002FSKILL.md",[],[21,155,156,157,158,19,159,25,160,161,162,163,22],"lark workflow standup report","workflow","report","standup","tasks","get","生成","agenda","my",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":175,"publishedAt":28},"01M6J19JDF05PZ4WMAWKYSMPFP","lark-workflow-meeting-summary","会议纪要整理工作流：汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。","https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-workflow-meeting-summary\u002FSKILL.md",[170],{"categoryNo":171,"categoryName":172,"taxonomyType":173,"taxonomyTypeDesc":174},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[156,176,177,27,178,21,22,161,179,180,181],"lark workflow meeting summary","summary","meeting summary","定时","整理","报告",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":28},"01M6J19E0H30T9JRKFXYPDPMTQ","lark-wiki","飞书知识库：管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 \u002Fwiki\u002F URL\u002Ftoken 时，也应直接使用本 skill，不要因为域名不是飞书而回退到 WebFetch；路由依据是 URL 路径模式和 token，而不是域名。不负责：上传文件到知识库节点下（走 lark-drive）、编辑文档\u002F表格\u002FBase 内容（走 lark-doc \u002F lark-sheets \u002F lark-base）。","https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-wiki\u002FSKILL.md",[],[21,189,190,191,22,23,192,193,194,195,196,197,198,199,200],"lark wiki","wiki","doc","文档","表格","webfetch","drive","base","token","URL","文件","sheets",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":210,"publishedAt":28},"01M6J198ST9SG3QYYR0HQJGT8M","lark-whiteboard","飞书画板：查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责：飞书云文档内容编辑（lark-doc）、文档内嵌电子表格\u002FBase（lark-sheets \u002F lark-base）。","https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-whiteboard\u002FSKILL.md",[207],{"categoryNo":208,"categoryName":209,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000016","图像与多媒体",[211,212,21,213,214,22,23,191,192,193,196,200],"lark whiteboard","whiteboard","xlsx","image",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":224,"publishedAt":28},"01M6J191B8WT4V6CCDPXJKPE1N","lark-task","飞书任务：管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。","https:\u002F\u002Fgithub.com\u002Flarksuite\u002Fcli\u002Fblob\u002Fmain\u002Fskills\u002Flark-task\u002FSKILL.md",[221],{"categoryNo":222,"categoryName":223,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000023","Skill与智能体开发",[225,25,21,22,23,226,199,227],"lark task","协作","数据"]