Skip to content

Guide · Agent skill

How to use the Lark Calendar Manager agent skill (lark-calendar)

Updated · written with AI from the project's own documentation and checked against our catalogue data

The lark-calendar skill is a set of instructions and reference files that lets an AI agent work with a Lark (Feishu) calendar through the lark-cli command-line tool. It covers checking your agenda, searching events, creating and changing meetings, managing attendees, checking free and busy times, and booking meeting rooms. This guide explains what a skill is, how to install this one, how to ask for things in plain language, and what to watch for because it changes live calendar data.

Lark Calendar Managerlarksuite/cli · MIT

Quick start

  1. 1Install lark-cli. Install the lark-cli command-line tool so the binary is available as lark-cli, then follow the authentication guide in the shared skill.
  2. 2Authorize your Lark account. Sign in so the agent can act as you (--as user) or as a bot (--as bot) with the right calendar permissions.
  3. 3Download and unzip the skill. Download the lark-calendar ZIP from this page and unzip it into ~/.claude/skills/ or your project's .claude/skills/ folder.
  4. 4Confirm the agent sees the skill. Alternatively, upload the ZIP under Settings → Capabilities → Skills in the Claude apps.
  5. 5Ask for a calendar task. Describe a request in plain language, such as showing tomorrow's agenda or finding a free slot.
  6. 6Review before writing. Check summary, times, attendees and rooms before the agent creates, changes or deletes an event.

What is an agent skill and what does lark-calendar let the agent do?

An agent skill is a folder containing a SKILL.md file and supporting reference documents. When it is installed, the agent reads these instructions when a request matches the skill's description, so it knows which commands to run and in what order.

Once lark-calendar is installed and lark-cli is set up, the agent can: view today's or upcoming schedule (+agenda), search events by keyword, time range or attendee (+search-event), get details for one event (+get), create events and invite attendees (+create), update fields or add and remove attendees and rooms (+update), delete events (+delete), check busy times (+freebusy), suggest meeting slots (+suggestion), find and book meeting rooms (+room-find), reply to invitations (+rsvp), and list attendees and rooms (+list-attendees).

Install the lark-calendar skill

Download the ZIP for this skill from this page and unzip it. For a personal install, place the folder in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder.

Alternatively, in the Claude apps, open Settings → Capabilities → Skills and upload the ZIP there.

The skill also requires the lark-cli command-line tool and a Lark/Feishu account authorization. The SKILL.md file points to ../lark-shared/SKILL.md for authentication and permission handling, so read that file before first use.

  • Personal: ~/.claude/skills/
  • Project: .claude/skills/ inside your project
  • Claude apps: Settings → Capabilities → Skills

Check the requirements before you start

The skill declares that it needs the lark-cli binary, Lark/Feishu account authorization using either a user or bot identity, and network access to Lark/Feishu APIs. It runs scripts and uses the network. Calendar permissions are handled through the shared authentication guide referenced by the skill.

Choose the identity based on whose calendar you are working with. For your own schedule, the skill uses --as user, which is the default for most cases. For events that a bot created or owns, it uses --as bot.

lark-cli calendar +agenda --as user

Ask for calendar tasks in natural language

You do not need to type commands yourself. Describe what you want, and the agent maps it to the right operation. The skill is triggered by requests such as checking your schedule, creating or changing a meeting, or looking up or booking a meeting room.

The skill translates casual wording like 'book a calendar' or 'check today's calendar' into operations on events, not on the calendar container itself. For time-sensitive requests, give a concrete date and time zone where you can, because the skill needs explicit times to book rooms.

  • Show me my agenda for tomorrow.
  • Search my events this week for 'weekly sync'.
  • Find a 30-minute slot next week when Ann and Ben are both free.
  • Create a 'Product review' meeting on 12 March from 14:00 to 15:00 (+08:00) with ou_aaa and ou_bbb.
  • Book a meeting room for Thursday 14:00 to 15:00.
  • Who is attending event <event_id>, and which rooms are booked?

Understand the commands behind the requests

Creating an event needs a start and end time with a timezone offset, because times without an offset are read using the machine's timezone. Descriptions use Markdown. Search results include only basic fields, so use +get for full details.

For a single-slot room search, the skill requires a concrete time block. Vague ranges like 'this afternoon' should first go through +suggestion. The +freebusy command reports which intervals are free but does not judge whether a slot is suitable for a meeting; for that, the skill uses +suggestion.

  • --start and --end: ISO 8601 with offset, for example 2026-03-12T14:00+08:00
  • --attendee-ids: comma-separated IDs, where ou_ is a user, oc_ is a group chat and omm_ is a meeting room
  • Multiple values in --attendee-ids are OR matches within the same type
lark-cli calendar +create --summary "Product review" --start "2026-03-12T14:00+08:00" --end "2026-03-12T15:00+08:00" --attendee-ids ou_aaa,ou_bbb

Handle recurring events and video meeting records carefully

For recurring events, the skill asks you to confirm the scope before changing anything: this occurrence only, all occurrences, or this and following ones. It does not default to a single occurrence. Updating or deleting all occurrences also has to handle exceptions, which are separate events created when one instance was edited on its own.

Past video meeting records are not calendar events. Queries about last week's meetings or meetings happening now are routed through the meeting relationship rules, and past video-meeting records belong to the lark-meeting skill. Tasks belong to lark-task.

  • Delete and transfer operations are irreversible or affect other people; +transfer requires --yes
  • Use --apply-to for recurring events and their exceptions
  • Share links: send the calendar share link from calendar events share_info, not a constructed applink

Safety notes: scripts and network access

This skill runs scripts and uses the network to call Lark/Feishu APIs. It acts on your real calendar, so every write operation (create, update, delete, RSVP, transfer, room booking) changes live data that other people can see.

After a write command succeeds, the skill reports the result from the command output and does not re-query the calendar unless you ask it to check or the output is insufficient.

  • Review the summary, times, attendees and room before confirming a write.
  • Confirm the scope of any recurring-event change.
  • Treat deletes and owner transfers as final.

What people use it for

  • Reviewing today's or tomorrow's agenda in a timeline grouped by date.
  • Searching past and upcoming events by keyword, date range or attendee.
  • Finding a common free slot for several people with +suggestion or common_free.
  • Creating a meeting with attendees and booking a meeting room for a concrete time block.
  • Building a bot that manages Lark calendars using lark-cli.

Frequently asked questions

Is the lark-calendar skill free?

The source ships this skill under the MIT licence. It still requires a Lark/Feishu account and the lark-cli tool, and the source does not state any prices.

What do I need to use lark-calendar?

You need the lark-cli command-line tool, Lark/Feishu account authorization as a user or bot, and network access to Lark/Feishu APIs. Calendar permissions are handled through the shared authentication guide.

Where do I install an agent skill?

Unzip the downloaded folder into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. In the Claude apps you can instead upload the ZIP under Settings → Capabilities → Skills.

Can the agent delete recurring meetings?

It can, but the skill requires you to confirm the scope first (this occurrence, all, or this and following) rather than assuming a single occurrence. Deleting all occurrences also has to handle exceptions.

Why does the agent need a time zone for meetings?

Start and end times must include a timezone offset such as +08:00. Without it, the time is parsed using the machine's timezone, which can book the wrong hour.

Does lark-calendar handle past video meetings or tasks?

No. Past video meeting records belong to the lark-meeting skill, and to-do tasks belong to lark-task. This skill handles calendar events, attendees, free/busy checks and meeting rooms.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use lark-calendar if your work runs on Lark or Feishu and you want to manage events, attendees and meeting rooms in plain language, or if you are building a bot on lark-cli. Skip it if you are outside the Lark/Feishu ecosystem or if you need to manage past video meeting records or tasks, which this skill does not cover.

Download the skill