lark-minutes

SkillCommunityTranslated from Chinese

This skill provides tools to manage Feishu Minutes, including searching, retrieving metadata, and downloading media files. It also supports uploading local audio or video files to generate new Minutes and performing administrative tasks like renaming titles or updating speaker information.

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

minutes (v1)

CRITICAL, Before starting, you MUST use the Read tool to read ../lark-shared/SKILL.md, which contains information on 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 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 Meeting Notes), for example: The generation conditions for Minutes and Meeting Notes are independent.
  3. Understand the components of different meeting artifacts to decide which artifact's data to use based on requirements.
  4. Understand the standard process for meeting summarization, analysis, and information extraction.

Core Concepts

  • Minutes: Derived from Feishu video meeting recordings or audio/video files uploaded by users, identified by minute_token.
  • Minute Token (minute_token): The unique identifier for a minute, which can be extracted from the end of the minute URL (e.g., obcnxxxxxxxxxxxxxxxxxxxx from https://*.feishu.cn/minutes/obcnxxxxxxxxxxxxxxxxxxxx). If the URL contains extra parameters (such as ?xxx), you should truncate the last part of the path.

Core Scenarios

1. Search Minutes

  1. When a user describes "my minutes," "minutes containing a certain 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 minute records. For unsupported filtering conditions, you must notify the user.
  3. When search results contain multiple data entries, be sure to pay attention to pagination data retrieval so as not to miss any minute records.
  4. If it is a meeting minute, you should prioritize using vc +search to locate the meeting first, and then obtain the minute_token via vc +recording as needed.
  5. Routing for meeting-related minutes and how to interpret "minutes I participated in" are uniformly governed by minutes +search.

2. View Basic Minute Information

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

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

3. Download Minute Audio/Video Files

  1. Download minute audio/video files locally or obtain a download link valid for 1 day. See minutes +download for details.
  2. minutes +download is only responsible for audio/video media files.
  3. When the user only wants a shareable download address, use --url-only; when the user wants to save to a local file, download it directly.
  4. If no path is explicitly specified, files are saved to ./minutes/{minute_token}/<server-filename> by default, sharing the same directory as the transcript from vc +notes for easy aggregation.

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

4. Obtain Transcripts, Summaries, Action Items, and Chapters for Minutes

  1. When a user asks for "the transcript," "summary," "action items," or "chapters" of this minute, it does not belong to this skill.
  2. You should use vc +notes --minute-tokens to obtain the corresponding meeting note artifacts.
  3. If the current context already has a minute_token, it can be passed directly to vc +notes; if only a minute 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 meeting notes," "convert to transcript," "convert to text," or "convert to written text," this is also supported. In this case, first follow section 5 below to upload the file and generate a minute, 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.
# Obtain meeting note artifacts (transcript, summary, action items, chapters) via minute_token
lark-cli vc +notes --minute-tokens <minute_token>

Cross-skill routing: Meeting note content such as transcripts, AI summaries, action items, and chapters are provided by the +notes command of lark-vc.

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

  1. Use this when the user needs to generate a minute by uploading a local audio/video file.
  2. When the user says "convert audio/video file to meeting notes," "convert recording to transcript/text/written text," or "convert mp4/mp3 to summary/action items/chapters," also use this entry point.
  3. Processing flow:
    • Upload audio/video to obtain file_token: Use lark-cli drive +upload to upload the local file to cloud storage (Drive) and obtain the file_token.
    • Generate minute: After obtaining the file_token, call lark-cli minutes +upload to convert the file into a minute and obtain the minute_url link.
    • Continue to obtain meeting notes/transcripts (as needed): If the user's goal is not just the minute link, but also meeting notes, transcripts, summaries, action items, 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 obtain the file_token from Feishu Cloud Storage (Drive) before conversion.

Do not mistakenly use local transcription tools: When the user's goal is to convert local audio/video files into meeting 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 "list of minutes / search minutes / minutes with a certain keyword" → minutes +search
  • If the user just wants to see "my minutes / minutes within a certain time range / list of minutes," do not go to lark-vc first; use this skill directly.
  • If the user mentions "meeting / meeting / having a meeting" at the same time, even if they also mention "minutes," you should prioritize lark-vc to locate the meeting first, then obtain the minute_token via vc +recording.
  • If the user wants basic minute information, use minutes minutes get after obtaining the minute_token; if the user wants transcripts, text, written text, summaries, action items, or chapters, go to vc +notes --minute-tokens.
  • Natural language mapping details for "my minutes," "minutes I participated in," etc., are governed by minutes +search.
  • When results span multiple pages, use page_token to continue flipping pages until it is confirmed there are no more results.
  • minutes +search returns a maximum of 200 items at a time; there is no fixed upper limit for the total number of results.
  • User says "the title / duration / cover / link of this minute" → minutes minutes get
  • User says "download the video / audio / media file of this minute" → minutes +download
  • User says "the transcript / text / written text / summary / action items / chapters of this minute" → use vc +notes --minute-tokens
  • User says "generate a minute from a file / convert audio/video to a minute" → upload first to get file_token, then use minutes +upload
  • User says "convert audio/video file to meeting notes / transcript / text / written text / summary / action items / 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 minute / change minute title / modify minute name" → minutes +update
  • User says "replace speaker / change A's speech to B / reassign speaker" → minutes +speaker-replace

Shortcuts (Recommended for priority use)

Shortcuts are advanced encapsulations of common operations (lark-cli minutes +<verb> [flags]). Use operations with shortcuts first.

ShortcutDescription
+searchSearch minutes by keyword, owners, participants, and time range
+downloadDownload audio/video media file of a minute
+uploadUpload a media file token to generate a minute
+updateUpdate a minute's title
+speaker-replaceReplace a speaker in a minute's transcript (rebind from one user to another)
<!-- AUTO-GENERATED-START, managed by gen-skills.py, do not edit manually -->

API Resources

lark-cli schema minutes.<resource>.<method>   # Must view parameter structure before calling API
lark-cli minutes <resource> <method> [flags] # Call API

Important: When using native APIs, you must first run schema to view the --data / --params parameter structure; do not guess the field format.

minutes

  • get, Get minute information

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

Permission Table

MethodRequired Scope
+searchminutes:minutes.search:read
minutes.getminutes:minutes:readonly
+downloadminutes:minutes.media:export
+updateminutes:minutes:update
+speaker-replaceminutes:minutes:update
<!-- AUTO-GENERATED-END -->
Share:
Details:
  • Installs


    201,683
  • First seen


    Jun 10, 2026
View Repository

Auto-fetched from GitHub .

Stats via skills.sh.

Skills similar to lark-minutes:

 

 
 
  • Installs


 

 
 
  • Installs


 

 
 
  • Installs