The unified entry point for the Feishu video meeting business, supporting operations such as querying meeting records, real-time meeting interaction, managing Magic Share, and reading smart minutes. This skill is responsible for domain relationships, task routing, and cross-command orchestration.
No need to pre-read lark-shared or pre-run auth status --verify; read this Skill only when encountering unauthenticated, token/identity, or scope errors, and retry after fixing. For authentication, identity, or scope management requests, use this Skill directly.
Identity initialization and continuity
Treat source_identity as the state of the cross-command workflow:
- Context already has a source identity: strictly follow it. When the user requests a switch, first explain identity continuity and permission impact; do not switch silently.
- There is no source identity and the user explicitly specifies an identity: use the user-specified
--as。 - There is no source identity and the user does not specify one: when the operation semantics clearly require the app bot, use
--as bot, otherwise explicitly use--as user。
Determine source_identity , then check whether the target command supports that identity:
- Supported: pass it explicitly and continue execution.
- Not supported: explain the limitation and stop; do not replace the identity just to make the command succeed.
- Only after the user explicitly agrees to switch identities, start a new workflow with the new identity.
Domain model and concepts
[会议来源]
Calendar 日程 (event_id) ──预约或关联──┐
即时会议(无 event_id)────────────────┴──► 会议 (meeting_id)
Calendar 日程 ──meeting_note────────────► Doc(用户纪要,独立于 AI 智能纪要)
[会议产物]
会议 (meeting_id)
├── AI 总结 ──► Note 智能纪要 (note_id)
│ ├── 智能纪要文档 ───────────► Doc (note_doc_token)
│ ├── 逐字稿
│ │ ├── normal ──────────► Doc (verbatim_doc_token)
│ │ └── unified ──────────► note +transcript(非独立 Doc)
│ └── 共享文档 ──────────────► Doc (shared_doc_tokens)
│
└── 录制 ──► Minutes 妙记 (minute_token)
├── AI 产物:Summary / Todo / Chapter / Keyword
├── Transcript(文字记录,别名:「转写」「逐字稿」「文字记录」)
└── 原始音视频
本地音视频 ─────────────────────────────► Minutes 妙记 (minute_token)
| Object | Primary identifier | Concepts and relationships |
|---|---|---|
| Calendar event | event_id |
An event on a calendar, including time, participants, meeting rooms, and RSVP; it can be booked or associated with a VC meeting; it is not a complete meeting record. The meeting_note on the event is a Doc manually bound by the user, unrelated to AI smart minutes. |
| Meeting | meeting_id |
An actual video meeting that occurred; it can come from Calendar or be an instant meeting without an event. The meeting topic, time, participant snapshot, and in-meeting events belong to the meeting data; Note and Minutes are possible post-meeting artifacts associated with it. |
| Note smart minutes | note_id |
The set of logical artifacts formed after enabling AI summary.note_display_type determines the different ways to obtain the text record in the verbatim transcript. |
| Minutes Magic Share | minute_token |
Generated from meeting recordings or uploaded local audio/video; it includes summaries, to-dos, chapters, keywords, text records (aliases: 'transcription', 'verbatim transcript', 'text record'), and original audio/video; it can be associated with a VC meeting or exist independently. |
| Doc document | Doc token | A content carrier, not a meeting identifier.note_doc_token、shared_doc_tokens and some verbatim_doc_token point to a Doc; a Doc token cannot be used as note_id or meeting_id。 |
Core identifiers
meeting_id: meeting ID. A long numeric string, not a 9-digit meeting number.meeting_no: meeting number. 9 pure digits; the CLI parameter name is--meeting-number。minute_token: Magic Share Token. A lowercase alphanumeric string, usually taken from the Magic Share URL/minutes/<minute_token>。
The above identifiers are all passed through as strings as-is and cannot substitute for one another.
Domain invariants
- Note and Minutes come from two independent pipelines: AI summarization and recording, respectively. A meeting may have both types of artifacts, only one of them, or neither; it cannot be inferred from
note_idthatminute_tokennecessarily exists, and vice versa. - Minutes can be generated directly from local audio and video, so they are not necessarily associated with
meeting_idor Calendarevent_id。 - Calendar
meeting_note、Notenote_id、Minutesminute_tokenand the various Doc tokens identify different objects; they cannot be interchanged, substituted into commands from other domains, or used to infer one from the other.
Quick Actions
Query the content of an in-progress meeting
# 当前用户所在会议
lark-cli vc +meeting-list-active --as user
# 应用机器人可见的目标用户会议
lark-cli vc +meeting-list-active --as bot --user-id <open_id>
# 确定唯一 meeting_id 后沿用来源身份
lark-cli vc +meeting-events --as <source_identity> --meeting-id <meeting_id> --page-all --format pretty
When there are multiple meetings at the same time, you need to first select the meeting to query; when there is only one meeting, directly query that meeting's meeting events.
App identity returns only meetings where "the target user is currently attending and the app bot is also in the same meeting"; an empty result does not mean the target user is not in a meeting. When explaining results to users, use "user identity" or "app identity"; do not expose internal abbreviations such as user / bot .
Scenario Manuals
When the task objective matches a scenario, read the corresponding scenario manual and execute the task according to its process.
- Query meetings and their artifacts: Locate historical meetings by topic, time, participants, or
meeting_id/meeting_no/event_id; query participants, recordings, and meeting-associated Smart Minutes or Minutes; summarize or review based on meeting records. - Query Minutes and their artifacts: When a Minutes URL /
minute_tokenis available, or search Minutes by title, owner, or participant; read summaries, to-dos, chapters, keywords, and transcripts, download the original audio and video, or query associated Smart Minutes. - Generate and modify Minutes, manage Minutes permissions: Generate Minutes, transcripts, summaries, to-dos, or chapters from local audio and video; modify Minutes titles, summaries, to-dos, keywords, or speakers; request Minutes permissions, or view and assign Minutes collaborator permissions.
- Query Smart Minutes and associated artifacts: When
note_id, a Smart Minutes Docx URL/token is available, or you need to query associated artifacts such as the Minutes body, transcript, Minutes, and shared documents. - App bot meeting attendance and in-meeting interaction: Fully orchestrate the app bot's active meeting discovery, initiation or joining, invitation, event retrieval, meeting screenshots, text/emoji/countdown interaction, ending the meeting, and leaving after explicit authorization.
- In-meeting events and in-meeting interaction: Without triggering new join/leave operations, use user identity or an app identity already in the meeting to query active meetings, view speech/chat/shared content, read the current meeting screen as needed, or send text/emoji and operate the countdown.
Command Reference
| Command | Purpose | Reference Method |
|---|---|---|
vc +search |
Search historical meetings | lark-vc-search |
vc +detail |
Query meeting information and associated Note and Minutes identifiers | lark-vc-detail |
vc meeting get |
Query basic meeting information and participant snapshots | lark-cli vc meeting get --help |
vc +recording |
Locate recordings and Minutes from a meeting | lark-vc-recording |
vc +meeting-list-active |
Discover currently visible in-progress meetings | lark-vc-meeting-list-active |
vc +meeting-events |
Read in-meeting events and shared content | lark-vc-meeting-events |
vc +meeting-message-send |
Send in-meeting text messages or emoji | lark-vc-meeting-message-send |
vc +meeting-screenshot |
Get video meeting screenshots | lark-vc-meeting-screenshot |
vc +meeting-countdown |
Set, extend, end early, or close the in-meeting countdown | lark-vc-meeting-countdown |
vc +meeting-join |
Have the app bot join a meeting | lark-vc-agent-meeting-join |
vc +meeting-invite |
Invite specified users or all eligible calendar attendees via the app bot | lark-vc-agent-meeting-invite |
vc +meeting-end |
Have the current Host's app bot end the meeting | lark-vc-agent-meeting-end |
vc +meeting-leave |
Have the app bot leave the meeting | lark-vc-agent-meeting-leave |
minutes +search |
Search Minutes | lark-minutes-search |
minutes minutes get |
Query Minutes basic information | lark-cli minutes minutes get --help |
minutes +detail |
Read Minutes information and specified artifacts | lark-minutes-detail |
minutes +download |
Download the original audio and video of Minutes | lark-minutes-download |
minutes +upload |
Generate Minutes from cloud space audio and video | lark-minutes-upload |
minutes +update |
Modify the Minutes title | lark-minutes-update |
minutes +speaker-replace |
Replace the speaker in the Minutes verbatim transcript | lark-minutes-speaker-replace |
minutes +summary |
Replace the Minutes AI summary | lark-minutes-summary |
minutes +todo |
Add, delete, or modify Minutes AI to-dos | lark-minutes-todo |
minutes +apply-permission |
Request view or edit permission for Minutes | lark-minutes-apply-permission |
drive +member-list |
View Minutes collaborators and their permissions | lark-drive-member-list |
drive +member-add |
Assign view or edit permission for Minutes to specified members | lark-drive-member-add |
minutes +word-replace |
Batch replace keywords in the Minutes verbatim transcript | lark-cli minutes +word-replace --help |
note +detail |
Query intelligent minutes and associated document identifiers | lark-note-detail |
note +transcript |
Get the unified intelligent minutes verbatim transcript | lark-note-transcript |
Progressive loading rules
Load progressively in the order of "Quick Actions → Scenario Manual → Command Reference":
- When the user's goal meets the entry conditions of "Quick Actions", directly execute the corresponding CLI; do not pre-read the Scenario Manual, Command Reference,
--helpor schema. - If the Quick Actions conditions are not met, or key identifiers are missing, disambiguation is needed, or write operations are involved, read one main scenario manual that matches the goal; when the main scenario explicitly hands off to a downstream scenario, continue reading only the referenced scenario or section, and execute the CLI according to its process.
- Only when specific parameters, return fields, special constraints, or exception handling methods are missing: for commands with a reference manual, read the corresponding file; for commands without a reference manual, run the exact
lark-cli ... --helplisted in the table. When the scenario or reference already provides the exact command, do not call--help; call it only when parameters are missing, the command is not recognized, or the documentation conflicts with the run result.