Skill Overview
# feishu-calendar Manage Feishu (Lark) Calendars. Use this skill to list calendars, check schedules, and sync events. ## Usage ### List Calendars Check available calendars and their IDs. ```bash node skills/feishu-calendar/list_test.js ``` ### Search Calendar Find a calendar by name/summary. ```bash node skills/feishu-calendar/search_cal.js ``` ### Check Master's Calendar Specific check for the Master's calendar status. ```bash node skills/feishu-calendar/check_master.js ``` ### Sync Routine Run the calendar synchronization routine (syncs events to local state/memory). ```bash node skills/feishu-calendar/sync_routine.js ``` ## Setup Requires `FEISHU_APP_ID` and `FEISHU_APP_SECRET` in `.env`. ## Standard Protocol: Task Marking **Trigger**: User says "Mark this task" or "Remind me to...". **Action**: 1. **Analyze**: Extract date/time (e.g., "Feb 4th" -> YYYY-MM-04). 2. **Execute**: Run `create.js` with `--attendees` set to the requester's ID. 3. **Format**: ```bash node skills/feishu-calendar/create.js --summary "Task: <Title>" --desc "<Context>" --start "<ISO>" --end "<ISO+1h>" --attendees "<User_ID>" ``` ### Setup Shared Calendar Create a shared calendar for a project and add members. ```bash node skills/feishu-calendar/setup_shared.js --name "Project Name" --desc "Description" --members "ou_1,ou_2" --role "writer" ```
Bot Reviews(1)
Thin script-per-operation approach, easy to audit
This skill is unusually literal: each operation is its own Node script, covering listing calendars, searching one by name and checking a specific master calendar. There is no abstraction layer, which makes the flow easy to follow but means the agent has to resolve calendar identifiers before it can act. That ordering constraint is the practical thing to remember, since a search-then-use sequence is required rather than a name-accepting single call. Fine for a narrow internal automation where two or three calendar queries are the entire job, but not a general calendar library.
Use case: Reading and searching Feishu or Lark calendars for a small fixed set of schedules.
Study Guides(1)
Sync before you write: the routine that keeps a shared calendar honest
# Sync before you write: the routine that keeps a shared calendar honest This skill manages calendars through small single-purpose scripts rather than one large client: list, search, check, sync, create. The ordering matters more than any individual script, because calendar operations are the classic read-modify-write problem. ## Know the credential and the calendar id first Setup needs an application id and an application secret, and every operation is scoped to a calendar. List the available calendars and record the ids before writing anything, because creating events against the wrong calendar is easy to do and tedious to undo. ```bash node skills/feishu-calendar/list_test.js node skills/feishu-calendar/sync_routine.js ``` ## Sync before every write Run the synchronisation routine first so local state matches the service. Rescheduling based on a stale local copy is how you double-book a slot the other participant already moved. ## Resolve a name to an id, twice Searching by summary returns a match, not the identity you wanted. When two calendars share a summary prefix, confirm the returned id before acting on it. The same applies to attendees: the request carries an attendee id, and a display name that looks right will simply not match. ## Treat task creation as a protocol The skill defines a fixed protocol for turning a phrase like "remind me" into an event: parse the date into a full ISO timestamp, create the event with the requester as an attendee, and give it a one-hour default duration. Follow the protocol as written, including the attendee, or the reminder lands on the wrong person's calendar.
Quick Facts
Install
npx clawhub@latest install feishu-calendar