Lark-Meeting Skill FAQ: Meeting IDs, Notes, and Minutes
Frequently Asked Questions
What does the lark-meeting skill actually do?
lark-cli vc, lark-cli minutes, lark-cli note — covers search, detail, transcript download, live interaction, and bot attendance. Scheduling, busy-time, and room management do not live here; those go to lark-calendar.What's the difference between meeting_id, meeting_no, note_id, and minute_token?
What's the difference between Note and Minutes?
Can Minutes exist without a meeting?
When do I use --as user vs --as bot?
Why did the bot return an empty meeting list?
How do I get a transcript out?
lark-cli minutes +detail --minute-tokens obcxxx --transcript writes a transcript file, by default to ./minutes/{minute_token}/transcript.txt — combine with –output-dir to redirect. From a unified smart note: note +transcript, but it only works with user identity; a bot that receives note_display_type=unified must not silently switch identity to fetch it.What happens if I call minutes +detail without flags?
How is lark-meeting different from lark-vc-agent?
Does it require reading lark-shared first?
Is the 126.9K install number real?
Why a Lark-Meeting FAQ Exists#
Feishu’s meeting data comes in four identifier shapes, and every support thread I read boils down to someone mixing them up. lark-meeting (v1.0.0, inside larksuite/cli, 17.4K stars) exists to route those correctly — its 12,141-byte SKILL.md is a domain model plus a routing table across three command namespaces. I read the SKILL.md and its five key references (vc +detail, vc +meeting-list-active, minutes +detail, note +detail, vc +meeting-events) on 2026-09-26, and scraped skills.sh the same day. Every answer below traces to one of those files.
What the Numbers Say#
The lark-family counters on skills.sh usually move in lockstep — lark-doc at 730.0K, lark-approval 728.9K, lark-okr 708.2K all riding the same pack wave. lark-meeting is the exception:
| Counter | All-time | Weekly series (most recent 8) |
|---|---|---|
| lark-meeting (open.feishu.cn) | 126.9K | 0, 0, 0, 4,845, 27,641, 27,011, 25,324, 25,744 |
| lark-meeting (larksuite/cli) | 35.2K | 0, 0, 0, 1,413, 6,988, 7,460, 6,671, 6,602 |
Three zero weeks, then a spike to a stable ~27K/week plateau. That signature — silence, single launch, plateau — matches a skill that only entered the index around 2026-08-20, and it confirms lark-meeting tracks its own counter rather than borrowing the family’s. Newest lark skill on the board, and the only one with fresh growth rather than decline.
The Identifier Trap, In Practice#
Four objects, zero interchangeability:
- meeting_id — long digits, one real meeting. Used by
vc +detail --meeting-ids. - meeting_no — 9 digits, the number a colleague reads aloud. CLI param is
--meeting-number, deliberately different from the field name. - note_id — AI smart-note collection; a meeting may have it if AI summary is on.
- minute_token — Minutes recording, copied from
/minutes/obcxxxin a URL.
The skill’s reference files hammer the same rule from every angle: minute_token must not be handed to note +detail (resolve note_id via minutes +detail first), a Doc token is not an ID, and a calendar meeting_note — the user-pinned Doc on a schedule item — is unrelated to any AI note. When a query fails, check which identifier you grabbed before touching anything else.
Common Mistakes to Avoid#
Mistake #1 — treating a 9-digit number as a join command. A bare “check meeting 843 122 477” is a filter on active meetings, not an instruction to make the bot join. If no active meeting matches, the skill says stop — do not auto-invite the bot.
Mistake #2 — calling +meeting-list-active without a target. Bot identity without --user-id errors immediately ("–user-id is required when –as bot"). And the ou_... format is mandatory; internal user IDs and plain numeric IDs are rejected.
Mistake #3 — expecting artifacts without flags. minutes +detail returns only the title unless you pass --summary --todo --chapter --keyword --transcript. The fields do not appear by default, and the file says the omission is deliberate.
Mistake #4 — identity switching mid-chain. IDs fetched as user stay user; IDs fetched as bot stay bot. The one sanctioned exception is the user’s explicit, informed consent to switch — and note +transcript on a unified note is user-only, so a bot must surface that limitation instead of quietly re-authenticating as the user.
Start With a Search#
Install the family with npx skills add https://github.com/larksuite/cli --skill lark-meeting — or grab the whole pack and get lark-markdown and lark-apps alongside it. Then run lark-cli vc +search on a recent meeting theme, follow the returned meeting_id through vc +detail, and watch the note/minute tokens resolve cleanly. Once you know which identifier you’re holding, the rest of the tree starts making sense.
Related Articles
Lark Skills Roundup: Slides XML, Task GUIDs, Whiteboard CLI, OKR Locks, Minutes Shim
Five Feishu lark skills, read from their files: a 15-line shim, task GUID traps, slides XML gates, whiteboard npm deps, OKR score locks — 718–738K installs.
lark-sheets vs lark-base: Grid Cells or Typed Records?
Feishu ships two data skills that look alike: lark-sheets (grid cells, formulas) and lark-base (typed records, views, forms). This maps when to use each.
I Streamed Feishu Events: The lark-event Subprocess Contract
lark-event (450.1K installs) streams Feishu IM, VC, and Minutes events as NDJSON. The subprocess contract — ready markers, stdin EOF, exit reasons — matters.
Schedule Meetings With lark-calendar: A Step-by-Step Workflow (730K)
Procedural walkthrough of Feishu's lark-calendar skill: classify new vs edit, lock the event_id, branch on time clarity, book rooms as attendees.