Meeting Minutes Retriever
Use this skill to fetch raw meeting text first, then answer the user's question from that text.
Use the directory lister when the user wants counts or file listings instead of reading one document body.
Trigger Rules
Use this skill when:
- - The user asks about meeting notes, meeting minutes, meeting conclusions, decisions, action items, owners, blockers, or what was discussed.
- The user asks how many meeting-note files exist, which files exist, what the directory contains, or asks for a meeting-note file list.
- The answer depends on a meeting record stored in a local text file, a local directory, or a URL.
- The user refers to a Feishu document link as the source of the meeting content.
Do not use this skill when:
- - The user already pasted the full meeting text into the chat and only wants summarization or Q and A on that pasted text.
- The request is general knowledge and does not depend on a meeting record.
- The user explicitly says not to open files or URLs.
Workflow
- 1. Check the conversation for a meeting-notes location.
- Accept either:
- a local file path such as
D:\docs\meeting.txt
- a local directory path such as
D:\docs\meetings
- a URL such as
https://...
- 3. If no location is available, stop and ask: INLINECODE3
- Resolve skill resources relative to the skill directory that contains this
SKILL.md. - If the user asks for counts, directory contents, file totals, or file lists, use
scripts/list_meeting_files.py. - If the user asks about the contents of one meeting record, use
scripts/read_meeting_data.py or the same logic to read the content into a single string. - If the script result starts with
ERROR:, show that error to the user and ask for a corrected path, directory, or URL. - If the directory listing succeeds, answer with the count and the file list.
- If the file read succeeds, read the full raw text and answer the original question from that source text.
Rules
- - Do not parse, summarize, classify, or structure the document inside the reader tool.
- Do not assume file type from the extension. Just attempt to read it as text.
- Treat Feishu links as best-effort URLs only. Direct requests may fail for login-protected, permission-gated, or JavaScript-rendered Feishu pages.
- Keep the tool interface stable as
read_meeting_data(location). - Future Feishu API logic should be added inside the same reader function without changing its argument shape.
- Keep the directory tool interface stable as
list_meeting_files(location, recursive=False). - Prefer the directory tool for requests containing words such as
多少, 几个, 数量, 列表, 目录, 有哪些文件, file count, or list files.
Tool Contract
Implement a function named read_meeting_data(location) with this behavior:
- Resolve to an absolute path.
- Try multiple text encodings before failing.
- Return the file contents as a string.
- Fetch with a basic timeout on a best-effort basis.
- Return the response text as a string.
- Return human-readable error strings starting with
ERROR:.
Implement a function named list_meeting_files(location, recursive=False) with this behavior:
- Resolve to an absolute path.
- Detect the current OS and use an OS-appropriate system command first.
- Return a JSON string containing
directory,
total_files, and
files.
- Count supported meeting-note files only:
.md and
.txt.
- Return human-readable error strings starting with
ERROR:.
Resource
- - Reader script:
scripts/read_meeting_data.py relative to this skill directory - Directory lister script:
scripts/list_meeting_files.py relative to this skill directory
会议纪要检索器
使用此技能首先获取原始会议文本,然后根据该文本回答用户的问题。当用户需要统计数量或文件列表而非读取单个文档内容时,请使用目录列表工具。
触发规则
在以下情况下使用此技能:
- - 用户询问会议记录、会议纪要、会议结论、决策、行动项、负责人、阻塞项或讨论内容。
- 用户询问存在多少个会议记录文件、存在哪些文件、目录中包含什么内容,或要求提供会议记录文件列表。
- 答案依赖于存储在本地文本文件、本地目录或URL中的会议记录。
- 用户引用飞书文档链接作为会议内容的来源。
在以下情况下不使用此技能:
- - 用户已将完整的会议文本粘贴到聊天中,仅需要对粘贴的文本进行总结或问答。
- 请求涉及一般性知识,不依赖于会议记录。
- 用户明确表示不要打开文件或URL。
工作流程
- 1. 检查对话中是否存在会议记录的位置信息。
- 接受以下任一方式:
- 本地文件路径,例如 D:\docs\meeting.txt
- 本地目录路径,例如 D:\docs\meetings
- URL,例如 https://...
- 3. 如果没有可用的位置信息,则停止并询问:请提供会议记录的本地文件路径、目录路径或飞书链接。
- 相对于包含此 SKILL.md 的技能目录解析技能资源。
- 如果用户询问数量、目录内容、文件总数或文件列表,使用 scripts/listmeetingfiles.py。
- 如果用户询问单个会议记录的内容,使用 scripts/readmeetingdata.py 或相同的逻辑将内容读取为单个字符串。
- 如果脚本结果以 ERROR: 开头,向用户显示该错误并请求更正后的路径、目录或URL。
- 如果目录列表成功,返回数量及文件列表。
- 如果文件读取成功,读取完整的原始文本并根据该源文本回答原始问题。
规则
- - 不要在读取工具内部对文档进行解析、总结、分类或结构化处理。
- 不要根据扩展名假设文件类型。仅尝试将其作为文本读取。
- 仅将飞书链接视为尽力而为的URL。对于需要登录保护、权限限制或JavaScript渲染的飞书页面,直接请求可能失败。
- 保持工具接口稳定为 readmeetingdata(location)。
- 未来的飞书API逻辑应添加在同一读取函数内部,不改变其参数形式。
- 保持目录工具接口稳定为 listmeetingfiles(location, recursive=False)。
- 对于包含 多少、几个、数量、列表、目录、有哪些文件、file count 或 list files 等词语的请求,优先使用目录工具。
工具契约
实现一个名为 readmeetingdata(location) 的函数,具有以下行为:
- 解析为绝对路径。
- 在失败前尝试多种文本编码。
- 返回文件内容作为字符串。
- 在尽力而为的基础上使用基本超时进行获取。
- 返回响应文本作为字符串。
- 返回以 ERROR: 开头的人类可读错误字符串。
实现一个名为 listmeetingfiles(location, recursive=False) 的函数,具有以下行为:
- 解析为绝对路径。
- 检测当前操作系统并首先使用适合该操作系统的系统命令。
- 返回包含 directory、total_files 和 files 的JSON字符串。
- 仅统计支持的会议记录文件:.md 和 .txt。
- 返回以 ERROR: 开头的人类可读错误字符串。
资源
- - 读取脚本:相对于此技能目录的 scripts/readmeetingdata.py
- 目录列表脚本:相对于此技能目录的 scripts/listmeetingfiles.py