Agents Directory
SkillsRankingsAgents
CategoriesModelsBenchmarksCompareAgent LeaderboardSkillsRankingsAgentsAbout

lark-calendar

SkillCommunityAudited: no issuesTranslated from Chinese

This skill enables AI agents to manage Lark calendars, including scheduling meetings, searching for events, and booking meeting rooms. It supports creating, updating, and viewing calendar events, as well as checking user availability and recommending meeting times.

Compatibility:
Claude Code logoClaude CodeCodex logoCodexHermes logoHermesOpenClaw logoOpenClaw
Visit lark-calendar
Install:
npx skills add larksuite/cli/lark-calendar
View on skills.sh

calendar (v4)

Read ../lark-shared/SKILL.md before starting (authentication, permission handling).

CRITICAL, For any task involving scheduling meetings or querying/searching for meeting rooms, the first step MUST be to read references/lark-calendar-schedule-meeting.md. Do not skip this step to call APIs or Shortcuts directly!

Identity

Calendar operations use --as user by default (to view and manage the current user's calendar). --as bot can only access the bot's own (empty) calendar and will return empty results. Do not use the bot identity to query user calendars.

# BAD, bot identity querying user calendar, returns empty list
lark-cli calendar +agenda --as bot

# GOOD, user identity querying calendar
lark-cli calendar +agenda --as user

Shortcuts

ShortcutDescription
+agendaView calendar agenda (defaults to today)
+createCreate an event and invite attendees (ISO 8601 time)
+updateUpdate existing event fields, or independently add/remove attendees and meeting rooms
+freebusyQuery busy/free information and RSVP status of the user's primary calendar
+room-findFind available meeting rooms for one or more specific time blocks (do not call directly without a specific time; use +suggestion first)
+rsvpRespond to an event (accept/decline/tentative)
+suggestionRecommend multiple available time block options based on non-specific times or time ranges

Prerequisite Routing

ScenarioPrerequisite
Scheduling meetings, checking meeting roomsRead lark-calendar-schedule-meeting.md first
Editing existing eventsLocate the target event_id first; if it is a recurring event, you must locate the event_id of the specific instance (do not use the original recurring event ID)
Verification after delete/updateWait 2 seconds before querying (API eventual consistency); do not inform the user that you waited
Calling any ShortcutRead its corresponding reference document first

Core Concepts

  • Event Instance: A specific time instance of an expanded recurring event. When operating on a specific instance of a recurring event, you must first locate the event_id of that instance. Do not use the event_id of the original recurring event.
  • All-day Event: An event that occupies a full day without specific start and end times. The end date is included in the event duration.
  • Time Block vs Time Range: A time block is a specific, determined continuous period (e.g., 14:00~15:00), while a time range is a general reference (e.g., "this afternoon"). +room-find must be based on a specific time block and cannot be based on a vague range.
  • Room: "room" refers to a meeting room. A meeting room is a type of event participant (resource attendee) and cannot be booked independently of an event.

Terminology Mapping

When users say "help me book a calendar" or "check today's calendar," their actual intent is to create or query an Event, not to operate on the Calendar container itself. Automatically map colloquial "calendar" intents to "event" operations.

Intent Routing

User IntentRoute to
Query past meetings ("yesterday's meeting", "last week's meeting")../lark-vc/SKILL.md (meeting data includes instant meetings; querying events only will miss these)
Query calendar/events or future meetingsThis skill
Schedule/reschedule events, add/remove attendees, add/change meeting rooms, adjust timeDetermine if it is a new creation or an edit, then enter the schedule-meeting workflow

Task Type Diversion

When handling "schedule/reschedule events, add/remove attendees, add/change meeting rooms, adjust time," you must first determine if it is a new creation or an edit:

  • Strong signals for editing an existing event: The user mentions an existing event anchor (title, time slot, "this event", "that meeting") and expresses a modification action (add, remove, change to, change meeting room, adjust time). Default to the edit flow; never treat it as a new creation.
  • New event creation: The user expresses an intent to create something new ("book a new meeting", "create an event", "arrange a meeting") and there is no modification action pointing to an existing event.

Time Inference Standards

  • Definition of a week: Monday is the first day of the week, and Sunday is the last. When calculating relative dates like "next Monday," base the calculation on the current real-world date.
  • Range of a day: When a user mentions general terms like "tomorrow" or "today," the time range should cover the entire day. Do not shorten it yourself.
  • Historical time constraint: You cannot schedule events for times that have already completely passed. The only exception is an event that "spans the current time" (starts in the past, ends in the future).

Meeting Room Rules

  • For any "book/query/search for available meeting rooms," you must enter the schedule-meeting workflow.
  • The time input for +room-find must be a specific time block, not a time range search.
  • If a user only asks to "check meeting rooms" without providing a specific time, you must first call +suggestion to get available time blocks, then pass the time block to +room-find. It is strictly forbidden to guess a time and call blindly.
  • When editing an existing event, "adding a meeting room" is an incremental operation by default, preserving existing meeting rooms. Only delete old meeting rooms if the user explicitly says "change meeting room" or "remove meeting room."

API Resources

lark-cli calendar <resource> <method> [flags]

calendars

  • create, Create a shared calendar
  • delete, Delete a shared calendar
  • get, Query calendar information
  • list, Query calendar list
  • patch, Update calendar information
  • primary, Query user's primary calendar
  • search, Search calendars

event.attendees

  • batch_delete, Delete event attendees
  • create, Add event attendees
  • list, Get event attendee list

events

  • create, Create an event
  • delete, Delete an event
  • get, Get an event
  • instance_view, Query event view
  • patch, Update an event
  • search_event, Search events (returns only Event ID/Subject/Time; for details, use events get)
  • share_info, Get event share link

freebusys

  • list, Query primary calendar busy/free information

Out of Scope

  • Querying past video meeting records → lark-vc
  • Task management → lark-task
  • Physical meeting room facility management → Admin console

Note (Mandatory):

  • When involving the conversion between date (time) strings and timestamps, you must use system commands or script code and other external tools to ensure absolute accuracy. Failure to do so will result in severe logical errors!

calendar (v4)

开始前先读 ../lark-shared/SKILL.md(认证、权限处理)。

CRITICAL — 凡涉及预约日程/会议或查询/搜索会议室,第一步 MUST 读 references/lark-calendar-schedule-meeting.md。禁止跳过此步直接调用 API 或 Shortcut!

身份

日程操作默认使用 --as user(查看和管理当前用户的日程)。--as bot 只能访问 bot 自己的(空)日历,会拿到空结果——不要用 bot 身份查用户日程。

# BAD — bot 身份查用户日程,返回空列表
lark-cli calendar +agenda --as bot

# GOOD — user 身份查日程
lark-cli calendar +agenda --as user

Shortcuts

Shortcut说明
+agenda查看日程安排(默认今天)
+create创建日程并邀请参会人(ISO 8601 时间)
+update更新既有日程字段,或独立增量添加/移除参会人和会议室
+freebusy查询用户主日历的忙闲信息和 RSVP 状态
+room-find针对一个或多个明确的时间块查找可用会议室(无明确时间时禁止直接调用,需先走 +suggestion)
+rsvp回复日程(接受/拒绝/待定)
+suggestion根据非明确时间或一段时间范围,推荐多个可用时间块方案

前置条件路由

场景前置要求
预约日程/会议、查会议室先读 lark-calendar-schedule-meeting.md
编辑已有日程先定位目标日程 event_id;若是重复性日程,必须定位到具体实例的 event_id(禁止使用原重复日程 ID)
删除/修改后验证等待 2 秒再查询(API 最终一致性),不要告知用户你等待了
调用任何 Shortcut先读其对应 reference 文档

核心概念

  • 日程实例(Instance):重复性日程展开后的具体时间实例。操作重复日程的某次实例时,必须先定位该实例的 event_id,禁止使用原重复日程的 event_id。
  • 全天日程(All-day Event):只按日期占用、没有具体起止时刻的日程,结束日期是包含在日程时间内的。
  • 时间块 vs 时间范围:时间块是具体确定的连续时间段(如 14:00~15:00),时间范围是泛指(如"今天下午")。+room-find 必须基于确定时间块,不能基于模糊范围。
  • 会议室(Room):"room"不是"房间",是"会议室"。会议室是日程的一种参与人(resource attendee),不能脱离日程单独预定。

术语映射

用户日常说的"帮我约个日历""查一下今天的日历",实际意图是针对**日程(Event)**的创建或查询,而非操作日历(Calendar)容器本身。自动将口语化的"日历"意图映射为"日程"操作。

意图路由

用户意图路由到
查询过去的会议("昨天的会议""上周的会")../lark-vc/SKILL.md(会议数据含即时会议,仅查日程会遗漏)
查询日历/日程或未来时间的会议本 skill
预约/改约日程、添加/移除参会人、添加/更换会议室、调整时间先判断新建 vs 编辑,再进入 schedule-meeting 工作流

任务类型分流

处理"预约/改约日程、添加/移除参会人、添加/更换会议室、调整时间"时,必须先判断新建 vs 编辑:

  • 编辑已有日程的强信号:用户提到已存在的日程锚点(标题、时间段、这个日程、这场会)并表达修改动作(添加、移除、改到、换会议室、调整时间)。默认走编辑流,绝不能按新建处理。
  • 新建日程:用户表达新增意图("新约一个会""创建一个日程""安排一次会议"),且没有指向既有日程的修改动作。

时间推断规范

  • 星期的定义:周一是一周的第一天,周日是最后一天。计算"下周一"等相对日期时,基于当前真实日期推算。
  • 一天的范围:用户提到"明天""今天"等泛指某天时,时间范围应覆盖整天,不要自行缩减。
  • 历史时间约束:不能预约已经完全过去的时间。唯一例外是"跨越当前时间"的日程(开始在过去、结束在未来)。

会议室规则

  • 凡是"预定/查询/搜索可用会议室",都必须进入 schedule-meeting 工作流。
  • +room-find 的时间输入必须是确定时间块,不能是时间区间搜索。
  • 用户仅要求"查会议室"但未提供明确时间时,必须先调用 +suggestion 获取可用时间块,再将时间块交给 +room-find。严禁猜测时间盲目调用。
  • 编辑已有日程时,"添加会议室"默认是增量语义,保留已有会议室;只有用户明确说"更换会议室""移除会议室"时才删除旧会议室。

API Resources

lark-cli calendar <resource> <method> [flags]

calendars

  • create — 创建共享日历
  • delete — 删除共享日历
  • get — 查询日历信息
  • list — 查询日历列表
  • patch — 更新日历信息
  • primary — 查询用户主日历
  • search — 搜索日历

event.attendees

  • batch_delete — 删除日程参与人
  • create — 添加日程参与人
  • list — 获取日程参与人列表

events

  • create — 创建日程
  • delete — 删除日程
  • get — 获取日程
  • instance_view — 查询日程视图
  • patch — 更新日程
  • search_event — 搜索日程(仅返回 日程ID/主题/时间,详情需走 events get)
  • share_info — 获取日程分享链接

freebusys

  • list — 查询主日历日程忙闲信息

不在本 skill 范围

  • 查询过去的视频会议记录 → lark-vc
  • 待办任务管理 → lark-task
  • 会议室物理设施管理 → 管理员后台

注意(强制性):

  • 涉及日期(时间)字符串与时间戳的相互转换时,务必调用系统命令或脚本代码等外部工具进行处理,以确保转换的绝对准确。违者将导致严重的逻辑错误!
Categories:
Productivity
Share:
Details:
  • Installs


    263,240
  • First seen


    Jun 10, 2026
Security audits
Gen Agent Trust HubPASS
SocketPASS
SnykPASS (low risk)
ZeroLeaksPASS
View Repository

Auto-fetched from GitHub 10 hours ago.

Stats via skills.sh.

Skills similar to lark-calendar:

Website favicon

 

 
 
  • Installs


Website favicon

 

 
 
  • Installs


Website favicon

 

 
 
  • Installs


Browse:SkillsRankingsModelsBenchmarksProvidersAgentsAgent LeaderboardCompareCategories
Quick Links:AboutBlog

© 2026 Agents Directory

Skills similar to lark-calendar:

lark-calendar

Skill
This skill provides comprehensive management for Lark calendars and events. It supports searching, creating, and updating events, managing attendees, checking availability, and booking meeting rooms.
Productivity
Comprehensive management for Lark calendars and events.
  • Installs


    275,761

lark-attendance

Skill
This skill allows AI agents to query personal attendance records from Lark. It requires the lark-shared authentication module and automatically handles specific API parameters for user identification.
Productivity
Query personal attendance records from Lark.
  • Installs


    275,690

lark-sheets

Skill
This skill enables AI agents to interact with Lark (Feishu) online spreadsheets. It supports creating and managing spreadsheets, manipulating sheet structures, reading and writing cell data, performing batch operations, and managing objects like charts, pivot tables, and conditional formatting.
Document ProcessingProductivity
Manage and manipulate Lark online spreadsheets.
  • Installs


    275,586