lark-minutes

SkillCommunityAudited: no issuesTranslated from Chinese

This skill enables AI agents to manage Feishu Minutes recordings. It supports searching for recordings, retrieving metadata, downloading media files, uploading audio or video files to generate new recordings, updating titles, and replacing speaker identities.

Install:
npx skills add larksuite/cli/lark-minutes

minutes (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 ../lark-vc/references/vc-domain-boundaries.md. Failure to read this will lead to errors in command usage, meeting artifact decisions, and domain boundary responsibility judgments:

  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: The generation conditions for Minutes and Notes are independent.
  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 summarization, analysis, and information extraction.

Identity

All minutes commands use --as user by default.

Shortcuts

ShortcutDescription
+searchSearch for Minutes by keyword, owner, participant, or time range
+downloadDownload Minutes audio/video media files
+uploadUpload file_token to generate Minutes
+updateUpdate Minutes title
+speaker-replaceReplace speaker in Minutes transcript (supports user ID only, not names)
  • Before using any Shortcut, you must read its corresponding reference document.

Intent Routing

User IntentRoute to
"My Minutes", "Search Minutes", "Minutes list"This skill (+search)
"Title/duration/cover/link of this Minutes"This skill (minutes get)
"Download video/audio of Minutes"This skill (+download)
"Convert audio/video to Minutes", "Upload file to generate Minutes"This skill (+upload)
"Rename Minutes", "Change Minutes title"This skill (+update)
"Replace speaker", "Change A's speech to B"This skill (+speaker-replace)
"Transcript/summary/todo/chapters of this Minutes"lark-vc (vc +notes --minute-tokens)
"Convert audio/video file to notes/transcript/text"First this skill (+upload), then lark-vc (vc +notes --minute-tokens)
User mentions both "meeting" and "Minutes"First lark-vc (+search+recording), then this skill

Core Concepts

  • Minutes: Recording artifacts from Feishu video meetings or audio/video files uploaded by users, identified by minute_token.
  • Minutes Token (minute_token): The unique identifier for Minutes, which can be extracted from the end of the Minutes URL (e.g., obcnxxx from https://*.feishu.cn/minutes/obcnxxx). If the URL contains extra parameters (e.g., ?xxx), extract the last part of the path.

Core Scenarios

1. Search Minutes

  1. When the user describes "my Minutes", "Minutes containing a keyword", or "Minutes within a certain time range", prioritize using minutes +search.
  2. Only filtering conditions such as keywords, time ranges, participants, and owners are supported for searching Minutes records. For unsupported filtering conditions, notify the user.
  3. When search results contain multiple items, be sure to handle pagination to ensure no Minutes records are missed.
  4. If it is a meeting Minutes, prioritize locating the meeting via lark-vc and obtaining the minute_token.
  5. For Minutes routing in meeting scenarios and how to interpret "participated Minutes", minutes +search is the standard.

2. View Basic Minutes Information

  1. When the user only needs to confirm basic information such as the title, cover, duration, owner, or URL of a specific Minutes, use minutes minutes get.
  2. If the user provides a Minutes URL, first extract the minute_token from the end of the URL, then call minutes minutes get.
  3. If it is Minutes information within a meeting/calendar context, first obtain the minute_token via the VC link, then call minutes minutes get.
  4. When the user intent is unclear, provide basic metadata first to help confirm if the target Minutes has been hit.

Use lark-cli schema minutes.minutes.get to view the full return structure. Core fields include: title, cover (cover URL), duration (duration in milliseconds), owner_id (owner ID), and url (Minutes link).

3. Download Minutes Audio/Video Files

  1. Download Minutes audio/video files locally or obtain a download link valid for 1 day. See minutes +download for details.
  2. +download is only responsible for audio/video media files. When the user needs transcripts, summaries, todos, chapters, or other note content, please use vc +notes --minute-tokens.
  3. When the user only wants a shareable download address, use --url-only; when the user wants to save to a local file, download directly.
  4. If no path is explicitly specified, files default to ./minutes/{minute_token}/<server-filename>, sharing the same directory as vc +notes transcripts for easier aggregation.

Note: +download is only responsible for audio/video media files. If the user needs transcripts, summaries, todos, chapters, or other note content, please use vc +notes --minute-tokens.

4. Get Minutes Transcript, Summary, Todos, and Chapters

  1. When the user asks for "the transcript", "summary", "todos", or "chapters" of this Minutes, it does not belong to this skill.
  2. You should use vc +notes --minute-tokens to obtain the corresponding note artifacts.
  3. If the current context already has a minute_token, it can be passed directly to vc +notes; if only a Minutes URL is available, extract the minute_token first.
  4. If the user provides a local audio/video file but the goal is to "convert to notes", "convert to transcript", "convert to text", or "convert to written text", this is also supported; in this case, first upload the file to generate Minutes as per section 5 below, then extract the minute_token from the returned minute_url and continue to call vc +notes --minute-tokens.
  5. If the user directly provides a local filename or path and requests to "convert to transcript", "convert to text", or "organize into written text", this is also a clear trigger signal for this skill.
# Get note artifacts (transcript, summary, todos, chapters) via minute_token
lark-cli vc +notes --minute-tokens <minute_token>

Cross-skill routing: Transcript, AI summary, todos, chapters, and other note content are provided by the +notes command of lark-vc.

5. Upload Audio/Video Files to Generate Minutes (and optionally get notes/transcripts)

  1. Use this when the user needs to generate Minutes by uploading local audio/video files.
  2. When the user says "convert audio/video file to notes", "convert recording to transcript/text/written text", or "convert mp4/mp3 to summary/todos/chapters", also use this entry point.
  3. Processing flow:
    • Upload audio/video to get file_token: Use lark-cli drive +upload to upload the local file to cloud storage (Drive) and obtain the file_token.
    • Generate Minutes: After obtaining the file_token, call lark-cli minutes +upload to convert the file into Minutes and obtain the minute_url link.
    • Continue to get notes/transcripts (as needed): If the user's goal is not just the Minutes link but also notes, transcripts, summaries, todos, or chapters, extract the minute_token from the minute_url, then call lark-cli vc +notes --minute-tokens to obtain the corresponding artifacts.

Note: You must first obtain the file_token from Feishu Cloud Storage (Drive) to perform the conversion.

Do not use local transcription tools by mistake: When the user's goal is to convert local audio/video files into notes, transcripts, text, or written text, do not switch to ffmpeg, whisper, or other local ASR/transcoding commands; the standard path is drive +upload -> minutes +upload -> vc +notes --minute-tokens.

Resource Relationships

Minutes ← identified by minute_token
├── Metadata (title, cover, duration, owner, url) → minutes minutes get
└── MediaFile (audio/video file) → minutes +download

Capability Boundaries: minutes is responsible for searching Minutes, viewing basic metadata, downloading audio/video files, and uploading audio/video to generate Minutes.

Routing Rules:

  • User says "Minutes list / search Minutes / Minutes with a certain keyword" → minutes +search
  • If the user just wants to see "my Minutes / Minutes within a certain time range / Minutes list", do not go to lark-vc first; use this skill directly.
  • If the user mentions "meeting / meeting / hold a meeting" at the same time, even if "Minutes" is also mentioned, prioritize lark-vc to locate the meeting first, then obtain the minute_token via vc +recording.
  • If the user wants basic Minutes information, use minutes minutes get after obtaining the minute_token; if the user wants transcripts, text, written text, summaries, todos, or chapters, go to vc +notes --minute-tokens.
  • Natural language mapping details for "my Minutes" or "participated Minutes" are subject to minutes +search.
  • When results span multiple pages, use page_token to continue paging until it is confirmed there are no more results.
  • minutes +search returns a maximum of 200 items per request; there is no fixed upper limit for the total number of results.
  • User says "title / duration / cover / link of this Minutes" → minutes minutes get
  • User says "download video / audio / media file of this Minutes" → minutes +download
  • User says "transcript / text / written text / summary / todos / chapters of this Minutes" → use vc +notes --minute-tokens
  • User says "generate Minutes from file / convert audio/video to Minutes" → upload first to get file_token, then use minutes +upload
  • User says "convert audio/video file to notes / transcript / text / written text / summary / todos / chapters" → upload first to get file_token, call minutes +upload to generate minute_url, then extract minute_token and go to vc +notes --minute-tokens
  • User says "rename Minutes / change Minutes title / modify Minutes name" → minutes +update
  • User says "replace speaker / change A's speech to B / reassign speaker" → minutes +speaker-replace

API Resources

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

minutes

  • get, Get Minutes information

Permission Error: If [2091005] permission deny is returned, it means the user does not have read permission for the corresponding Minutes file. Prompt the user to contact the Minutes owner to request permission.

Out of Scope for this Skill

  • Content retrieval for notes/transcripts/summaries/todos/chapters → lark-vc (vc +notes --minute-tokens)
  • Searching historical meeting records → lark-vc
  • Querying future meeting schedules → lark-calendar
Share:
Details:
  • Installs


    217,135
  • First seen


    Jun 10, 2026
Security audits
Gen Agent Trust HubPASS
SocketPASS
SnykPASS (low risk)
ZeroLeaksPASS
View Repository

Auto-fetched from GitHub .

Stats via skills.sh.

Skills similar to lark-minutes:

 

 
 
  • Installs


 

 
 
  • Installs


 

 
 
  • Installs