lark-minutes
SkillCommunityAudited: no issuesTranslated from ChineseThis 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.
npx skills add larksuite/cli/lark-minutesminutes (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:
- Understand the relationship and division of responsibilities between Calendar & VC, and meeting artifacts & documents.
- Understand the relationship between meeting artifacts (Minutes and Notes), for example: The generation conditions for Minutes and Notes are independent.
- Understand the components of different meeting artifacts to decide which artifact data to use based on requirements.
- Understand the standard process for meeting summarization, analysis, and information extraction.
Identity
All minutes commands use --as user by default.
Shortcuts
| Shortcut | Description |
|---|---|
+search | Search for Minutes by keyword, owner, participant, or time range |
+download | Download Minutes audio/video media files |
+upload | Upload file_token to generate Minutes |
+update | Update Minutes title |
+speaker-replace | Replace speaker in Minutes transcript (supports user ID only, not names) |
- Before using any Shortcut, you must read its corresponding reference document.
Intent Routing
| User Intent | Route 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.,
obcnxxxfromhttps://*.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
- When the user describes "my Minutes", "Minutes containing a 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 Minutes records. For unsupported filtering conditions, notify the user.
- When search results contain multiple items, be sure to handle pagination to ensure no Minutes records are missed.
- If it is a meeting Minutes, prioritize locating the meeting via lark-vc and obtaining the
minute_token. - For Minutes routing in meeting scenarios and how to interpret "participated Minutes", minutes +search is the standard.
2. View Basic Minutes Information
- 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. - If the user provides a Minutes URL, first extract the
minute_tokenfrom the end of the URL, then callminutes minutes get. - If it is Minutes information within a meeting/calendar context, first obtain the
minute_tokenvia the VC link, then callminutes minutes get. - 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.getto view the full return structure. Core fields include:title,cover(cover URL),duration(duration in milliseconds),owner_id(owner ID), andurl(Minutes link).
3. Download Minutes Audio/Video Files
- Download Minutes audio/video files locally or obtain a download link valid for 1 day. See minutes +download for details.
+downloadis 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.- When the user only wants a shareable download address, use
--url-only; when the user wants to save to a local file, download directly. - If no path is explicitly specified, files default to
./minutes/{minute_token}/<server-filename>, sharing the same directory asvc +notestranscripts for easier aggregation.
Note:
+downloadis 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
- When the user asks for "the transcript", "summary", "todos", or "chapters" of this Minutes, it does not belong to this skill.
- You should use vc +notes --minute-tokens to obtain the corresponding note artifacts.
- If the current context already has a
minute_token, it can be passed directly tovc +notes; if only a Minutes URL is available, extract theminute_tokenfirst. - 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_tokenfrom the returnedminute_urland 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.
# 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
+notescommand of lark-vc.
5. Upload Audio/Video Files to Generate Minutes (and optionally get notes/transcripts)
- Use this when the user needs to generate Minutes by uploading local audio/video files.
- 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.
- Processing flow:
- Upload audio/video to get
file_token: Uselark-cli drive +uploadto upload the local file to cloud storage (Drive) and obtain thefile_token. - Generate Minutes: After obtaining the
file_token, calllark-cli minutes +uploadto convert the file into Minutes and obtain theminute_urllink. - 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_tokenfrom theminute_url, then calllark-cli vc +notes --minute-tokensto obtain the corresponding artifacts.
- Upload audio/video to get
Note: You must first obtain the
file_tokenfrom 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 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 "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_tokenvia vc +recording.- If the user wants basic Minutes information, use
minutes minutes getafter obtaining theminute_token; if the user wants transcripts, text, written text, summaries, todos, or chapters, go tovc +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_tokento continue paging until it is confirmed there are no more results.minutes +searchreturns a maximum of200items 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 useminutes +upload- User says "convert audio/video file to notes / transcript / text / written text / summary / todos / chapters" → upload first to get
file_token, callminutes +uploadto generateminute_url, then extractminute_tokenand go tovc +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 denyis 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
minutes (v1)
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-vc/references/vc-domain-boundaries.md,不读将导致命令使用、会议产物决策、领域边界职责判断错误:
- 了解日历 & VC、会议产物 & 文档的关联关系和职责划分
- 了解会议产物(妙记和纪要)之间的关联关系,例如:妙记和纪要产生条件相互独立
- 了解不同会议产物的组成部分,以便根据需求决策使用哪种产物的数据
- 了解会议总结、分析和信息提取的标准流程
身份
所有 minutes 命令默认使用 --as user。
Shortcuts
| Shortcut | 说明 |
|---|---|
+search | 按关键词、所有者、参与者、时间范围搜索妙记 |
+download | 下载妙记音视频媒体文件 |
+upload | 上传 file_token 生成妙记 |
+update | 更新妙记标题 |
+speaker-replace | 替换妙记逐字稿中的说话人(仅支持用户 ID,不支持姓名) |
- 使用任何 Shortcut 前,必须先读其对应 reference 文档。
意图路由
| 用户意图 | 路由到 |
|---|---|
| "我的妙记""搜索妙记""妙记列表" | 本 skill(+search) |
| "这个妙记的标题/时长/封面/链接" | 本 skill(minutes get) |
| "下载妙记的视频/音频" | 本 skill(+download) |
| "把音视频转妙记/上传文件生成妙记" | 本 skill(+upload) |
| "重命名妙记/改妙记标题" | 本 skill(+update) |
| "替换说话人/把 A 的发言改成 B" | 本 skill(+speaker-replace) |
| "这个妙记的逐字稿/总结/待办/章节" | lark-vc(vc +notes --minute-tokens) |
| "把音视频文件转成纪要/逐字稿/文字稿" | 先本 skill(+upload),再 lark-vc(vc +notes --minute-tokens) |
| 用户同时提到"会议/开会"和"妙记" | 先 lark-vc(+search → +recording),再本 skill |
核心概念
- 妙记(Minutes):来源于飞书视频会议的录制产物或用户上传的音视频文件,通过
minute_token标识。 - 妙记 Token(minute_token):妙记的唯一标识符,可从妙记 URL 末尾提取(如
https://*.feishu.cn/minutes/obcnxxx中的obcnxxx)。如果 URL 中包含额外参数(如?xxx),截取路径最后一段。
核心场景
1. 搜索妙记
- 当用户描述的是"我的妙记""包含某个关键词的妙记""某段时间内的妙记",优先使用
minutes +search。 - 仅支持使用关键词、时间段、参与者、所有者等筛选条件搜索妙记记录,对于不支持的筛选条件,需要提示用户。
- 搜索结果存在多条数据时,务必注意分页数据获取,不要遗漏任何妙记记录。
- 如果是会议的妙记,应优先通过 lark-vc 定位会议并获取
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。
+download只负责音视频媒体文件。用户需要逐字稿、总结、待办、章节等纪要内容时,请使用 vc +notes --minute-tokens。- 用户只想拿可分享的下载地址时,使用
--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
API Resources
lark-cli minutes <resource> <method> [flags]
minutes
get— 获取妙记信息
权限错误:如果返回
[2091005] permission deny,表示用户没有对应妙记文件的阅读权限,需提示用户联系妙记 owner 申请权限。
不在本 skill 范围
- 纪要/逐字稿/总结/待办/章节内容获取 → lark-vc(
vc +notes --minute-tokens) - 搜索历史会议记录 → lark-vc
- 查询未来的会议日程 → lark-calendar
Installs
217,135First seen
Jun 10, 2026
Auto-fetched from GitHub .
Stats via skills.sh.
Skills similar to lark-minutes:
Installs
Installs
Installs