Community编程与开发github.com

知识库-会议记录导入

将任何录音设备的会议记录导入知识库,支持参会者信息丰富、时间线合并、已确认决策和承诺,并验证内容真实性和时间顺序。仅提供摘要的输入不被视为有效的会议导入。

知识库-会议记录导入 是什么?

此技能旨在将完整的会议转录内容转化为结构化的知识库页面、更新的实体档案和可验证的声明。它适用于任何能够提供完整转录文本的录音设备或平台(如Granola)。技能通过一系列严格的步骤执行:首先获取并规范化转录内容(拒绝仅摘要或未完成的输入),然后拆分和去重会议记录、解析发言人身份。每个声明都会根据转录原文和现有知识库进行门控检查,验证其真实性、合理性,并识别可能的矛盾或意外信息。发布时,它会创建或更新会议页面、参与者/公司/项目档案、时间线条目以及‘参与者’关系,并将决策和承诺记录为可验证的声明。最后,通过硬性门控验证步骤,确保内容的完整性、链接正确性、风格一致性、时间顺序合理性,若验证失败则标记会议导入不完整。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/extensions/knowledge/skills/knowledge-meeting-ingest

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

会议导入

将一份转录内容转化为带有来源的会议页面、更新的实体档案以及结构化的声明,然后进行验证。仅在需要时读取对应的参考文档:

  • setup:始终首先读取(状态、本体、搜索)
  • source acquisition:从API获取数据,包括Granola
  • sources:保留原始文件;引用格式
  • speakers:可能存在的拆分、重复或不明确的发言人
  • identity:解析个人、公司或项目身份
  • writing:在撰写任何页面正文之前阅读
  • meeting page:编写会议页面
  • profiles:创建或更新档案
  • assertions:声明、参会关系、重复运行
  • publish:批量或单页写入
  • recovery:任何不确定、被拒绝或冲突的写入
  • verify:验证与报告

契约

  • 一次真实会议对应一个页面。保留完整的转录内容;录音设备提供的摘要属于声明,而非事实。
  • 发言人的身份必须基于证据进行解析,并附带置信度,绝不能猜测。使用所有真实信号;仅当完全没有证据时,才将发言人标记为未解析。
  • 每个参会者(发言、被提及或以其他方式参与)都应获得一个带有时间线条目和参会关系的档案。仅在邀请名单上出现的人不获得这些信息。
  • 会议中提到的公司、项目或概念,如果涉及实质性内容,都应获得一个页面(查找或创建)、一个时间线条目以及双向链接。仅提及的不处理。
  • 页面内容应像优秀的人类笔记一样:先列出名字,减少限制性说明,不包含过程性评论。
  • 决策、承诺和事件将被记录为声明。未经核实的声明不会传播到其他页面。
  • 在验证通过之前,切勿标记会议已完全导入。

步骤

1. 获取与标准化

获取完整的转录内容。空输入、仅摘要或进行中的输入将导致此步骤失败:报告该情况。如果用户只想保存笔记,请使用knowledge-capture技能,并说明会议导入未完成。

在工作上下文中标准化为以下字段:source、source_id、title、date、time、duration、attendees(来源原始声明)、带speaker、speaker_raw和text的有序片段、source_summary、URL。未知值设为null。录音设备的特定处理在此结束;此后所有录音设备执行相同的步骤。

保留原始导出文件和转录内容(sources)。标准化文本是带有标签的衍生内容。分别报告获取、保留和发布情况,附带真实数量(例如“保留了9/16份原始文件”)。

一次读取约150行的标准化转录片段。每读取一个片段后,向工作摘要文件追加:行号范围、发言者、话题、候选决策、承诺和事实(附带精确行号引用)、引语候选以及新的专有名词。后续步骤将根据此摘要进行起草。仅当需要检查措辞或精确引用时,才返回到转录文件中查找特定行范围,绝不进行全文重读。

完成条件: 完整转录已保留;证据收据已拿到;摘要覆盖了所有行。

2. 拆分、去重、解析发言人

检查是否存在多会议录音、此会议是否已有现有页面,以及发言人映射表(speakers)。

完成条件: 每个真实会议都确定了其片段范围;发现了重复项;每个发言人标签都已映射或明确标记为未解析,并附有依据。

3. 门控每个声明

根据转录内容和知识库中关于同一实体的现有信息,检查每个提议的声明。

  • 角色或关系:必须有明确的段落支持,而非暗示。
  • 所有权:必须有明确的所有权表述;提及名称不等于拥有所有权。
  • 新专有名词:在知识库中搜索(如果允许,则在网络上搜索)标准拼写;否则将其写为“名称(未验证拼写)”,并为其附加任何页面或链接。
  • 重大生活或交易事件:必须有逐字的支持,并与现有时间线核对。

仅有转录支持还不够。还需检查:

  • 矛盾性: 是否与知识库已确立的内容冲突?默认情况下,已确立的内容优先。不要将冲突的声明写入档案;将其保留在会议页面上,同时引用冲突双方,并在报告中列出,供用户自行解决。仅当有明确、逐字的支持时,才能覆盖已有内容,并且仍需报告此次更改。
  • 合理性: 在已知信息背景下,此事是否可能发生?(两个人不可能同时启动同一个项目;去年成立的公司不可能五年前被收购。)不可能的情况通常意味着转录错误。
  • 意外性: 如果用户会说“等等,什么?”,请应用所有检查。将意外内容作为一个问题提出来;不要试图解释掉它。

推理出的内容和不确认的身份必须保留在会议页面上,并附带相关标签,绝不作为事实录入档案、时间线、元数据或关系中。

完成条件: 每个声明都被标记为“发布”、“标记为不确定”或“保留”。

4. 发布

顺序:会议页面 → 实体页面 → 声明和关系 → 链接编辑。批量处理相关记录(publish)。

  • 会议页面遵循meeting page指引。
  • 对于每个参会者和有实质内容的实体,遵循knowledge-entities技能的SKILL.md中的步骤:它负责解析实体、决定是否为其创建页面,并撰写档案和时间线条目。该技能中与本技能同名的参考文档是相同的副本;请使用您已读取过的文档,无需重新读取。它唯一的额外参考是“enrichment”(请阅读其“导入期间”部分)。
  • 声明遵循assertions指引:决策、承诺、事实以及一个代表会议本身的source_event: true事件,并附带所有相关的entities。其他事件保留它们自己的日期。
  • 为每个参会者创建一条有证据支持的attended关系。在已交付的本体论中,它由参会者指向会议;请在定义中确认这一点。设置source_page。
  • 被提及且有对应页面的人也获得链接。不要为未知的发言者创建页面。
  • 对于涉及法律或个人隐私的内容,保持会议页面的事实性,并限制信息只传播到档案中;如果范围不明确,请询问用户。

完成条件: 每个计划中的记录都在您的工作日志中有一个已发布的收据。

5. 验证(硬性门控,每次会议都执行)

首先运行verify。然后检查:

  • 内容实质: 必需的章节有内容或有基于来源的正当理由。
  • 链接: knowledge_verify的expectedLinks参数需包含会议↔每个实体的链接,以及声明的entities/dependencies、承诺的owner以及关系的from/to/label/source_page。每个链接的档案都必须有本次会议对应的时间线条目。
  • 状态: 任何更新的档案中都不能有以日期或会议命名的“State”主题。
  • 风格: 在发布前,对照writing检查您工作文件中的草稿:先列名字、不堆砌限制性说明、不写给自己看的备注、没有填充行。不要为了检查风格而重新读取已发布的页面;在修改之后,只需重读您更改的部分。
  • 发言人: 不应有任何原始标签被当作已知人物;运行speakers中的“伪造参会者检查”。
  • 引用: 使用knowledge_evidence_read读取每个引用片段的对应行。仅允许填充词(“嗯”、“那个”)存在差异。修复失败的引用:要么恢复原话,要么选择更清晰的片段;切勿在引用中保留释义。
  • 时序: 对比叙述顺序(之前/期间/之后、地点、人物)与时间戳,独立于标题顺序。使用knowledge_chronicle_day(会议日期和时区)和knowledge_timeline获取相关实体的时间线。时间倒置或不可能的地点/时间属于矛盾;不要自己编造过渡。修复并重新检查,或者记录为明确的用户豁免(标记为WAIVED,而非已解决)。豁免仅覆盖时序问题。若时间线中缺少某位参会者,通常意味着缺少一条时间线条目:需要调查,不应阻止流程。真正的时间顺序模糊情况应在报告中标记,而非阻止发布。

完成条件: 所有检查均通过,或者失败的检查已被修复并重新验证。

报告

每次会议一行(拆分录音的每个页面一行):页面、保留的来源、丰富的参会者信息、更新或重用的实体、待办事项、声明和关系、验证结果、时序PASS或WAIVED(附带未解决的矛盾)。列出与现有知识库的矛盾、被保留的声明、未解析的身份以及剩余的工作,均放在报告中,而非页面上;由用户解决。如果某检查无法通过,则报告该会议未被导入,并指出是哪个检查失败。部分报告是诚实的进展记录,不代表完成。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

相关技能