lark-vc

SkillCommunityTranslated from Chinese

This skill enables AI agents to interact with Lark video conferencing data. It supports searching historical meeting records, retrieving meeting summaries, action items, transcripts, and participant snapshots for completed meetings.

Install:
npx skills add open.feishu.cn/lark-vc

vc (v1)

CRITICAL, Before starting, you MUST use the Read tool to read ../lark-shared/SKILL.md, which contains authentication and permission handling.

CRITICAL, Before starting, you MUST use the Read tool to read references/vc-domain-boundaries.md. Failure to read this will lead to errors in command usage, meeting artifact decision-making, and domain boundary responsibility judgment:

  1. Understand the relationship and division of responsibilities between Calendar & VC, and meeting artifacts & documents.
  2. Understand the relationship between meeting artifacts (Minutes and Notes), for example: Minutes and Notes are generated independently.
  3. Understand the components of different meeting artifacts to decide which artifact data to use based on requirements.
  4. Understand the standard process for meeting summaries, analysis, and information extraction.

Identity

All vc commands use --as user by default. +search and meeting get also support --as bot.

# BAD, Use calendar to check yesterday's meetings, as it will miss instant meetings
lark-cli calendar events search_event --query "standup" --start-time ...

# GOOD, Use vc +search to check finished meetings
lark-cli vc +search --query "standup" --start-time ...

Shortcuts (Recommended for priority use)

ShortcutDescription
+searchSearch historical meeting records (requires at least one filter condition)
+notesQuery meeting notes and Minutes artifacts (via meeting-ids, minute-tokens, or calendar-event-ids)
+recordingQuery minute_token via meeting-ids or calendar-event-ids
  • Before using any Shortcut, you must read its corresponding reference document.

Intent Routing

User IntentRoute to
Check "yesterday's meetings", "last week's meetings", "finished meetings"This skill (+search, includes instant meetings)
Check calendar/schedule or future meetingslark-calendar
Check "what meetings are there today"vc +search (finished) + lark-calendar (not started), display merged
Agent actual join/leave, real-time in-meeting eventslark-vc-agent
Local audio/video file to notes/transcriptFirst use lark-minutes to upload, then return to vc +notes --minute-tokens

Core Concepts

  • Meeting: Lark video meeting instance, identified by meeting_id. Finished meetings support searching by keywords, time range, participants, organizer, meeting room, etc.
  • Note: Structured document generated after a video meeting ends, including the note document (summary + to-dos) and the verbatim transcript document.
  • Minutes: Recording artifacts from Lark video meetings or audio/video files uploaded by users, containing summaries, to-dos, chapters, and transcripts, identified by minute_token.
  • MainDoc: The main document of AI intelligent notes, containing AI-generated summaries and to-dos, corresponding to note_doc_token.
  • MeetingNotes: Note documents actively bound to the meeting by the user, corresponding to meeting_notes. Only returned via the --calendar-event-ids path.
  • VerbatimDoc: Sentence-by-sentence text record of the meeting, including speakers and timestamps.

Artifact Selection Decision

User IntentMust Read ArtifactProhibited
Extract/Summarize/Re-summarize/Organize meeting content/Review meetingVerbatim transcript (verbatim_doc_token) or Minutes transcript, analyze independently based on original dialogueProhibited from directly copying the summary from AI notes (note_doc_token) as the final output
View to-dos/chaptersAI notes (note_doc_token) or Minutes artifact, AI to-dos are more user-friendly (including proposer and assignee), chapters are more structured by topic,
View note link/document addressReturn document link only, no need to read content,
View AI summary results directlyAI notes (note_doc_token),
Who said what/complete speech recordVerbatim transcript (verbatim_doc_token),

Why must "extraction/summarization" start from the verbatim transcript? AI notes are a secondary compression of the meeting by the model and may omit discussion details, debate processes, and implicit decisions. When a user asks for "extraction" or "re-summarization", they expect an independent analysis based on the original dialogue, not a reformatting of AI artifacts.

Core Scenarios

1. Search Meeting Records

  1. Only supports searching finished meetings. For future meetings that have not started, use the lark-calendar skill.
  2. Only supports searching meeting records using filter conditions such as keywords, time range, participants, organizer, meeting room, etc. For unsupported filter conditions, prompt the user.
  3. When search results contain multiple items, be sure to pay attention to paginated data retrieval and do not miss any meeting records.

2. Organize Meeting Notes

Before choosing which artifact to read, confirm you understand the difference between the AI summary link vs. the recording link. If unsure, read references/vc-domain-boundaries.md.

  1. When organizing note documents, it is default to provide the note document, verbatim transcript, and Minutes link; there is no need to read the content of the note document or verbatim transcript.
  2. Only read the document to get specific content when the user explicitly requests summaries, to-dos, or chapter artifacts.
  3. When reading AI intelligent note (note_doc_token) content, the first <whiteboard> tag in the note document is the cover image (AI-generated summary visualization), which should be downloaded and displayed to the user:
# 1. Read note content
lark-cli docs +fetch --api-version v2 --doc <note_doc_token> --doc-format markdown
# 2. Extract the token of the first <whiteboard token="xxx"/> from the returned markdown
# 3. Download the cover image to the aggregation directory (same directory as verbatim transcript and recording, keep artifacts together)
#    Not all notes have a cover whiteboard; skip if there is no <whiteboard> tag
lark-cli docs +media-download --type whiteboard --token <whiteboard_token> --output ./minutes/<minute_token>/cover

Artifact Directory Specification: All downloaded artifacts for the same meeting (recording, verbatim transcript, cover image, etc.) should be placed in the ./minutes/{minute_token}/ directory. This is consistent with the default output locations of minutes +download and vc +notes --minute-tokens, facilitating Agent aggregation. Explicit paths (such as cover images) must be manually aligned to the same directory.

Note-related documents, Choose based on user intent:

  • note_doc_tokenAI Intelligent Notes (AI summary + to-dos)
  • meeting_notesUser-bound meeting notes (documents actively associated with the meeting by the user, only returned via --calendar-event-ids path)
  • verbatim_doc_tokenVerbatim Transcript (complete sentence-by-sentence text record, including speaker and timestamp), Use this when the user says "verbatim transcript", "complete record", or "who said what"
  • When the user says "notes", "summary", or "note content", return both note_doc_token and meeting_notes (if any)
  • When user intent is unclear, display all document links for the user to choose, rather than deciding for them
  • If the user provides a local audio/video file and says "convert to notes" or "convert to verbatim transcript", do not start directly from vc +notes; first use minutes +upload to generate minute_url, then extract minute_token to call vc +notes --minute-tokens

3. Note Document and Verbatim Transcript Links

  1. Note documents, verbatim transcript documents, and associated shared documents are returned using document Tokens by default.
  2. When only basic information such as document name and URL is needed, use lark-cli drive metas batch_query to query.
# Learn command usage
lark-cli schema drive.metas.batch_query

# Batch get basic document information: query up to 10 documents at a time
lark-cli drive metas batch_query --data '{"request_docs": [{"doc_type": "docx", "doc_token": "<doc_token>"}], "with_url": true}'
  1. When document content is needed, use lark-cli docs +fetch --api-version v2.
# Get document content
lark-cli docs +fetch --api-version v2 --doc <doc_token> --doc-format markdown

4. Query Participant Snapshot (Read Operation)

When a user asks questions about participant snapshots such as "who attended this meeting", "who are the participants in this meeting", or "did so-and-so attend", use vc meeting get --with-participants: This is the participant server-side snapshot API, which does not rely on the bot identity to join the meeting, and can also query finished meetings:

lark-cli vc meeting get --params '{"meeting_id":"<meeting_id>","with_participants":true}'

Selection Judgment Table:

User IntentRecommended CommandSkill Location
Participant snapshot (who attended, when joined/left, at any point in time)vc meeting get --with-participantsThis skill
Speech content of finished meetingsvc +notes get verbatim_doc_token then docs +fetch --api-version v2This skill
Real-time event stream of ongoing meetings (transcription, chat, sharing, join/leave during meeting)vc +meeting-eventslark-vc-agent
Agent actual join / leavevc +meeting-join / vc +meeting-leavelark-vc-agent

Resource Relationships

Meeting
├── Note
│   ├── MainDoc (AI Intelligent Note Document, note_doc_token)
│   ├── MeetingNotes (User-bound meeting note document, meeting_notes)
│   ├── VerbatimDoc (Verbatim Transcript, verbatim_doc_token)
│   └── SharedDoc (In-meeting shared document)
└── Minutes ← identified by minute_token, +recording obtained from meeting_id
    ├── Transcript
    ├── Summary
    ├── Todos
    ├── Chapters
    └── Keywords

API Resources

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

meeting

  • get, Get meeting details (topic, time, participants, note_id)
# Get basic meeting information (excluding participants)
lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>"}'

# Get basic meeting information (including participants)
lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>", "with_participants": true}'

minutes (Cross-domain, see lark-minutes for details)

  • get, Get basic Minutes information (title, duration, cover); to query Minutes content, please use +notes --minute-tokens <minute-token>

Outside the Scope of This Skill

  • Query future meeting schedules → lark-calendar
  • Agent actual join/leave, real-time in-meeting events → lark-vc-agent
  • Local audio/video file to notes/transcript → lark-minutes (return to vc +notes after upload)
  • Minutes search/download/upload/rename/replace speaker → lark-minutes
Share:
Details:
  • Installs


    201,589
  • First seen


    Jun 10, 2026
View Repository

Auto-fetched from GitHub .

Stats via skills.sh.

Skills similar to lark-vc:

 

 
 
  • Installs


 

 
 
  • Installs


 

 
 
  • Installs