lark-minutes
SkillCommunityTranslated from ChineseThis 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.
npx skills add open.feishu.cn/lark-minutesminutes (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:
- Understand the relationship and division of responsibilities between Calendar & VC, and meeting artifacts & documents.
- Understand the relationship between meeting artifacts (Minutes and Meeting Notes), for example: The generation conditions for Minutes and Meeting Notes are independent.
- Understand the components of different meeting artifacts to decide which artifact's data to use based on requirements.
- 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.,
obcnxxxxxxxxxxxxxxxxxxxxfromhttps://*.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
- When a user describes "my minutes," "minutes containing a certain keyword," or "minutes within a certain time range," prioritize using
minutes +search. - 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.
- When search results contain multiple data entries, be sure to pay attention to pagination data retrieval so as not to miss any minute records.
- If it is a meeting minute, you should prioritize using vc +search to locate the meeting first, and then obtain the
minute_tokenvia vc +recording as needed. - Routing for meeting-related minutes and how to interpret "minutes I participated in" are uniformly governed by minutes +search.
2. View Basic Minute Information
- 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. - If the user provides a minute URL, you should first extract the
minute_tokenfrom the end of the URL, then callminutes minutes get. - If it is basic information for a minute in a meeting/calendar context, obtain the
minute_tokenvia the VC link first, then callminutes minutes get. - 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.getto view the complete return value structure. Core fields include:title,cover(cover URL),duration(duration in milliseconds),owner_id(owner ID), andurl(minute link).
3. Download Minute Audio/Video Files
- Download minute audio/video files locally or obtain a download link valid for 1 day. See minutes +download for details.
minutes +downloadis only responsible for audio/video media files.- 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. - If no path is explicitly specified, files are saved to
./minutes/{minute_token}/<server-filename>by default, sharing the same directory as the transcript fromvc +notesfor easy aggregation.
Note:
+downloadis 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
- When a user asks for "the transcript," "summary," "action items," or "chapters" of this minute, it does not belong to this skill.
- You should use vc +notes --minute-tokens to obtain the corresponding meeting note artifacts.
- If the current context already has a
minute_token, it can be passed directly tovc +notes; if only a minute URL is available, extract theminute_tokenfirst. - 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_tokenfrom the returnedminute_url, and continue to callvc +notes --minute-tokens. - 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
+notescommand of lark-vc.
5. Upload Audio/Video Files to Generate Minutes (and optionally obtain meeting notes/transcripts)
- Use this when the user needs to generate a minute by uploading a local audio/video file.
- 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.
- Processing flow:
- Upload audio/video to obtain
file_token: Uselark-cli drive +uploadto upload the local file to cloud storage (Drive) and obtain thefile_token. - Generate minute: After obtaining the
file_token, calllark-cli minutes +uploadto convert the file into a minute and obtain theminute_urllink. - 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_tokenfrom theminute_url, then calllark-cli vc +notes --minute-tokensto obtain the corresponding artifacts.
- Upload audio/video to obtain
Note: You must obtain the
file_tokenfrom 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 isdrive +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:
minutesis 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_tokenvia vc +recording.- If the user wants basic minute information, use
minutes minutes getafter obtaining theminute_token; if the user wants transcripts, text, written text, summaries, action items, or chapters, go tovc +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_tokento continue flipping pages until it is confirmed there are no more results.minutes +searchreturns a maximum of200items 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 useminutes +upload- User says "convert audio/video file to meeting notes / transcript / text / written text / summary / action items / chapters" → upload first to get
file_token, callminutes +uploadto generateminute_url, then extractminute_tokenand go tovc +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.
| Shortcut | Description |
|---|---|
+search | Search minutes by keyword, owners, participants, and time range |
+download | Download audio/video media file of a minute |
+upload | Upload a media file token to generate a minute |
+update | Update a minute's title |
+speaker-replace | Replace a speaker in a minute's transcript (rebind from one user to another) |
- When using the
+searchcommand, you must read references/lark-minutes-search.md to understand the search parameters and return value structure. - When using the
+downloadcommand, you must read references/lark-minutes-download.md to understand the download parameters and return value structure. - When using the
+uploadcommand, you must read references/lark-minutes-upload.md to understand the generation parameters and return value structure. - When using the
+updatecommand, you must read references/lark-minutes-update.md to understand the modification parameters and return value structure. - When using the
+speaker-replacecommand, you must read references/lark-minutes-speaker-replace.md to understand the parameters and limitations (only user IDs are supported, names are not).
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
schemato view the--data/--paramsparameter structure; do not guess the field format.
minutes
get, Get minute information
Permission Error: If
[2091005] permission denyis 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
| Method | Required Scope |
|---|---|
+search | minutes:minutes.search:read |
minutes.get | minutes:minutes:readonly |
+download | minutes:minutes.media:export |
+update | minutes:minutes:update |
+speaker-replace | minutes:minutes:update |
minutes (v1)
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-vc/references/vc-domain-boundaries.md,不读将导致命令使用、会议产物决策、领域边界职责判断错误:
- 了解日历 & VC、会议产物 & 文档的关联关系和职责划分
- 了解会议产物(妙记和纪要)之间的关联关系,例如:妙记和纪要产生条件相互独立
- 了解不同会议产物的组成部分,以便根据需求决策使用哪种产物的数据
- 了解会议总结、分析和信息提取的标准流程
核心概念
- 妙记(Minutes):来源于飞书视频会议的录制产物或用户上传的音视频文件,通过
minute_token标识。 - 妙记 Token(minute_token):妙记的唯一标识符,可从妙记 URL 末尾提取(例如
https://*.feishu.cn/minutes/obcnxxxxxxxxxxxxxxxxxxxx中的obcnxxxxxxxxxxxxxxxxxxxx)。如果 URL 中包含额外参数(如?xxx),应截取路径最后一段。
核心场景
1. 搜索妙记
- 当用户描述的是"我的妙记""包含某个关键词的妙记""某段时间内的妙记",优先使用
minutes +search。 - 仅支持使用关键词、时间段、参与者、所有者等筛选条件搜索妙记记录,对于不支持的筛选条件,需要提示用户。
- 搜索结果存在多条数据时,务必注意分页数据获取,不要遗漏任何妙记记录。
- 如果是会议的妙记,应优先使用 vc +search 先定位会议,再按需通过 vc +recording 获取
minute_token。 - 会议场景的妙记路由,以及"参与的妙记"如何解释,统一以 minutes +search 为准。
2. 查看妙记基础信息
- 当用户只需要确认某条妙记的标题、封面、时长、所有者、URL 等基础信息时,使用
minutes minutes get。 - 如果用户给的是妙记 URL,应先从 URL 末尾提取
minute_token,再调用minutes minutes get。 - 如果是会议 / 日程上下文中的妙记基础信息,先通过 VC 链路拿到
minute_token,再调用minutes minutes get。 - 用户意图不明确时,默认先给基础元信息,帮助确认是否命中目标妙记。
使用
lark-cli schema minutes.minutes.get可查看完整返回值结构。核心字段包含:title(标题)、cover(封面 URL)、duration(时长,毫秒)、owner_id(所有者 ID)、url(妙记链接)。
3. 下载妙记音视频文件
- 下载妙记音视频文件到本地,或获取有效期 1 天的下载链接。详见 minutes +download。
minutes +download只负责音视频媒体文件。- 用户只想拿可分享的下载地址时,使用
--url-only;用户要落地到本地文件时,直接下载。 - 未显式指定路径时,文件默认落到
./minutes/{minute_token}/<server-filename>,与vc +notes的逐字稿共享同一目录便于聚合。
注意:
+download只负责音视频媒体文件。如果用户需要的是逐字稿、总结、待办、章节等纪要内容,请使用 vc +notes --minute-tokens。
4. 获取妙记的逐字稿、总结、待办、章节
- 当用户说"这个妙记的逐字稿""总结""待办""章节"时,不属于本 skill。
- 应使用 vc +notes --minute-tokens 获取对应的纪要产物。
- 如果当前上下文中已有
minute_token,可直接传给vc +notes;如果只有妙记 URL,先提取minute_token。 - 如果用户给的是本地音视频文件,但目标是"转成纪要""转成逐字稿""转成文字稿""转成撰写文字",也支持;此时应先按下文第 5 节上传文件生成妙记,再把返回的
minute_url提取成minute_token,继续调用vc +notes --minute-tokens。 - 用户如果直接给出本地文件名或路径,并要求"转逐字稿""转文字稿""整理成撰写文字",这也是本 skill 的明确触发信号。
# 通过 minute_token 获取纪要产物(逐字稿、总结、待办、章节)
lark-cli vc +notes --minute-tokens <minute_token>
跨 skill 路由:逐字稿、AI 总结、待办、章节等纪要内容由 lark-vc 的
+notes命令提供
5. 上传音视频文件生成妙记(并可继续获取纪要 / 逐字稿)
- 当用户需要通过上传本地音视频文件来生成妙记时使用。
- 当用户说"把音视频文件转成纪要""把录音转成逐字稿/文字稿/撰写文字""把 mp4/mp3 转成总结/待办/章节"时,也先走这个入口。
- 处理流程:
- 上传音视频获取
file_token:使用lark-cli drive +upload上传本地文件到云空间(云盘/云存储)并获取file_token。 - 生成妙记:获取到
file_token后,调用lark-cli minutes +upload将文件转换为妙记并获取minute_url链接。 - 继续获取纪要 / 逐字稿(按需):如果用户目标不是只要妙记链接,而是要纪要、逐字稿、总结、待办或章节,则从
minute_url中提取minute_token,再调用lark-cli vc +notes --minute-tokens获取对应产物。
- 上传音视频获取
注意:必须先获取飞书云空间(云盘/云存储)的
file_token才能进行转换。不要误走本地转写工具:当用户目标是把本地音视频文件转成纪要、逐字稿、文字稿、撰写文字时,不要改用
ffmpeg、whisper或其他本地 ASR/转码命令;标准路径就是drive +upload -> minutes +upload -> vc +notes --minute-tokens。
资源关系
Minutes (妙记) ← minute_token 标识
├── Metadata (标题、封面、时长、owner、url) → minutes minutes get
└── MediaFile (音频/视频文件) → minutes +download
能力边界:
minutes负责 搜索妙记、查看基础元信息、下载音视频文件、上传音视频生成妙记。路由规则:
- 用户说"妙记列表 / 搜索妙记 / 某个关键词的妙记" →
minutes +search- 用户只是想看"我的妙记 / 某段时间内的妙记 / 妙记列表",不要先走 lark-vc,而应直接使用本 skill
- 用户如果同时提到"会议 / 会 / 开会 / 某场会",即使也提到了"妙记",也应优先走 lark-vc 先定位会议,再通过 vc +recording 获取
minute_token- 用户如果要的是妙记基础信息,拿到
minute_token后用minutes minutes get;用户如果要的是逐字稿、文字稿、撰写文字、总结、待办、章节,再走vc +notes --minute-tokens- “我的妙记”“参与的妙记”等自然语言映射细则,以 minutes +search 为准
- 结果有多页时,使用
page_token持续翻页,直到确认没有更多结果minutes +search单次最多返回200条;结果总数没有固定上限- 用户说"这个妙记的标题 / 时长 / 封面 / 链接" →
minutes minutes get- 用户说"下载这个妙记的视频 / 音频 / 媒体文件" →
minutes +download- 用户说"这个妙记的逐字稿 / 文字稿 / 撰写文字 / 总结 / 待办 / 章节" → 使用 vc +notes --minute-tokens
- 用户说"通过文件生成妙记 / 把音视频转妙记" → 先上传获取
file_token,然后使用minutes +upload- 用户说"把音视频文件转成纪要 / 逐字稿 / 文字稿 / 撰写文字 / 总结 / 待办 / 章节" → 先上传获取
file_token,调用minutes +upload生成minute_url,再提取minute_token走vc +notes --minute-tokens- 用户说"重命名妙记 / 改妙记标题 / 修改妙记名字" →
minutes +update- 用户说"替换说话人 / 把 A 的发言改成 B / 重新归属发言人" →
minutes +speaker-replace
Shortcuts(推荐优先使用)
Shortcut 是对常用操作的高级封装(lark-cli minutes +<verb> [flags])。有 Shortcut 的操作优先使用。
| Shortcut | 说明 |
|---|---|
+search | Search minutes by keyword, owners, participants, and time range |
+download | Download audio/video media file of a minute |
+upload | Upload a media file token to generate a minute |
+update | Update a minute's title |
+speaker-replace | Replace a speaker in a minute's transcript (rebind from one user to another) |
- 使用
+search命令时,必须阅读 references/lark-minutes-search.md,了解搜索参数和返回值结构。 - 使用
+download命令时,必须阅读 references/lark-minutes-download.md,了解下载参数和返回值结构。 - 使用
+upload命令时,必须阅读 references/lark-minutes-upload.md,了解生成参数和返回值结构。 - 使用
+update命令时,必须阅读 references/lark-minutes-update.md,了解修改参数和返回值结构。 - 使用
+speaker-replace命令时,必须阅读 references/lark-minutes-speaker-replace.md,了解参数和限制(仅支持用户 ID,不支持姓名)。
API Resources
lark-cli schema minutes.<resource>.<method> # 调用 API 前必须先查看参数结构
lark-cli minutes <resource> <method> [flags] # 调用 API
重要:使用原生 API 时,必须先运行
schema查看--data/--params参数结构,不要猜测字段格式。
minutes
get— 获取妙记信息
权限错误:如果返回
[2091005] permission deny,表示用户没有对应妙记文件的阅读权限,需提示用户联系妙记 owner 申请权限。
权限表
| 方法 | 所需 scope |
|---|---|
+search | minutes:minutes.search:read |
minutes.get | minutes:minutes:readonly |
+download | minutes:minutes.media:export |
+update | minutes:minutes:update |
+speaker-replace | minutes:minutes:update |
Installs
201,683First seen
Jun 10, 2026
Auto-fetched from GitHub .
Stats via skills.sh.
Skills similar to lark-minutes:
Installs
Installs
Installs