Openakita openakita/skills@knowledge-capture
Transform conversations and unstructured information into structured Notion documentation. Extract key insights, decisions, and action items. Create cross-linked knowledge bases with templates for meeting notes, how-to guides, decision records, and project documentation. Integrates with Notion API for seamless content creation.
install
source · Clone the upstream repo
git clone https://github.com/openakita/openakita
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openakita/openakita "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/knowledge-capture" ~/.claude/skills/openakita-openakita-openakita-skills-knowledge-capture && rm -rf "$T"
manifest:
skills/knowledge-capture/SKILL.mdsource content
Notion 知识捕获技能
将对话、会议、研究和非结构化信息转化为结构化的 Notion 文档体系,构建可检索、可链接、可追溯的团队知识库。
核心能力
- 信息提取 — 从对话和文本中识别关键洞察、决策和行动项
- 结构化转换 — 将非结构化内容转为 Notion 页面,遵循模板规范
- 交叉链接 — 建立页面之间的双向关联,形成知识网络
- 元数据保留 — 记录参与者、日期、上下文等溯源信息
- Notion API 集成 — 通过 API 直接创建和更新 Notion 内容
信息提取框架
从对话中提取的核心要素
处理任何对话或文本时,系统性地提取以下要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 关键洞察 | 有价值的认知、发现或结论 | "用户更倾向异步沟通" |
| 决策 | 已确定的选择及其理由 | "选择 PostgreSQL 而非 MongoDB,因为需要事务支持" |
| 行动项 | 需要后续跟进的任务 | "李四负责在周五前完成 API 文档" |
| 开放问题 | 尚未解决的疑问 | "是否需要支持离线模式?" |
| 风险与依赖 | 潜在风险和外部依赖 | "依赖第三方支付 API 的稳定性" |
| 参考资料 | 提及的文档、链接、工具 | "参考 RFC 7231 HTTP 语义规范" |
| 上下文 | 讨论的背景和前提条件 | "基于 Q1 用户反馈数据" |
提取质量标准
- 完整性 — 不遗漏关键信息
- 准确性 — 忠实反映原始表达,不添加推断
- 可操作性 — 行动项包含负责人、截止日期、验收标准
- 可追溯性 — 每条信息可追溯到来源
Notion 文档模板
模板一:会议笔记(Meeting Notes)
# 📋 [会议主题] ## 元数据 | 属性 | 值 | |------|-----| | **日期** | YYYY-MM-DD | | **时间** | HH:MM - HH:MM | | **参与者** | @张三, @李四, @王五 | | **会议类型** | 周会 / 评审 / 规划 / 头脑风暴 / 决策 | | **状态** | 进行中 / 已完成 / 需跟进 | | **关联项目** | [[项目名称]] | ## 背景与目标 > 简要说明本次会议的目的和期望产出。 ## 议程 1. [ ] 议题一 2. [ ] 议题二 3. [ ] 议题三 ## 讨论要点 ### 议题一:[标题] **讨论内容:** - 要点 1 - 要点 2 **结论:** > 最终达成的共识或决定。 ### 议题二:[标题] **讨论内容:** - 要点 1 **结论:** > ## 决策记录 | # | 决策内容 | 理由 | 影响范围 | |---|---------|------|---------| | 1 | | | | ## 行动项 | # | 任务 | 负责人 | 截止日期 | 状态 | |---|------|--------|---------|------| | 1 | | @姓名 | YYYY-MM-DD | 🔴 未开始 | ## 开放问题 - [ ] 问题描述 → 负责人: @姓名 ## 下次会议 - **日期**: - **议题预告**:
模板二:操作指南(How-To Guide)
# 🔧 如何 [完成某个任务] ## 元数据 | 属性 | 值 | |------|-----| | **创建日期** | YYYY-MM-DD | | **最后更新** | YYYY-MM-DD | | **作者** | @姓名 | | **难度** | 初级 / 中级 / 高级 | | **预计时间** | X 分钟 | | **适用版本** | v1.0+ | | **标签** | #类别1, #类别2 | ## 概述 > 一句话说明这篇指南解决什么问题。 ## 前置条件 - [ ] 条件一:描述 - [ ] 条件二:描述 - [ ] 所需工具/权限:描述 ## 步骤 ### 第一步:[步骤标题] **操作:** 详细描述具体操作。 **示例:**
代码或命令示例
**预期结果:** > 完成后应该看到什么。 > ⚠️ **注意**: 常见陷阱或注意事项。 ### 第二步:[步骤标题] **操作:** 详细描述。 **示例:**
代码或命令示例
### 第三步:[步骤标题] **操作:** 详细描述。 ## 验证 如何确认操作成功: 1. 检查项一 2. 检查项二 ## 故障排查 | 问题 | 可能原因 | 解决方法 | |------|---------|---------| | 问题描述 | 原因分析 | 具体步骤 | ## 相关文档 - [[相关指南1]] - [[相关指南2]] - [外部链接](https://...)
模板三:决策记录(Decision Record)
# 🔖 DR-[编号]: [决策标题] ## 元数据 | 属性 | 值 | |------|-----| | **日期** | YYYY-MM-DD | | **状态** | 提议 / 已批准 / 已废弃 / 已取代 | | **决策者** | @姓名1, @姓名2 | | **关联项目** | [[项目名称]] | | **取代** | [[DR-XXX]] (如适用) | | **被取代** | [[DR-YYY]] (如适用) | ## 背景 > 什么情况促使我们需要做这个决策?包括技术背景、业务需求、约束条件。 ## 问题陈述 > 用一句话清楚描述需要解决的问题。 ## 选项分析 ### 选项 A:[方案名称] **描述:** 简要说明方案内容。 | 维度 | 评估 | |------|------| | **优点** | 列举优势 | | **缺点** | 列举劣势 | | **成本** | 时间/资源估算 | | **风险** | 潜在风险 | | **可逆性** | 高 / 中 / 低 | ### 选项 B:[方案名称] **描述:** 简要说明方案内容。 | 维度 | 评估 | |------|------| | **优点** | | | **缺点** | | | **成本** | | | **风险** | | | **可逆性** | | ### 选项 C:[方案名称] (如有更多选项) ## 决策 > **我们选择了选项 [X]。** > > 核心理由:... ## 影响 - **短期影响**: - **长期影响**: - **需要变更的组件**: - **迁移计划**: (如适用) ## 后续行动 | # | 行动 | 负责人 | 截止日期 | |---|------|--------|---------| | 1 | | @姓名 | |
模板四:知识条目(Knowledge Entry)
# 💡 [知识主题] ## 元数据 | 属性 | 值 | |------|-----| | **来源** | 对话 / 文档 / 研究 / 实践 | | **捕获日期** | YYYY-MM-DD | | **捕获者** | @姓名 | | **置信度** | 高 / 中 / 低 | | **标签** | #领域, #主题 | | **关联** | [[相关页面]] | ## 核心内容 > 简明扼要地表述这条知识。 ## 详细说明 展开解释,包括背景、原理、适用条件。 ## 证据与来源 - 来源 1: 描述 - 来源 2: 描述 ## 应用场景 - 场景一: 如何使用这条知识 - 场景二: ## 局限性 - 不适用于... - 需要注意... ## 相关知识 - [[关联概念1]] - [[关联概念2]]
Notion API 集成
认证与配置
通过 Notion Integration 获取 API Token,所有 API 操作需要以下前提:
- 在 Notion Developers 创建 Integration
- 获取 Internal Integration Token
- 在目标页面/数据库中授予 Integration 访问权限(Share → Invite)
核心 API 操作
创建页面
{ "parent": { "type": "database_id", "database_id": "DATABASE_ID" }, "properties": { "Name": { "title": [ { "text": { "content": "页面标题" } } ] }, "Status": { "select": { "name": "进行中" } }, "Date": { "date": { "start": "2026-03-01" } }, "Tags": { "multi_select": [ { "name": "会议" }, { "name": "产品" } ] } }, "children": [ { "object": "block", "type": "heading_2", "heading_2": { "rich_text": [{ "text": { "content": "背景" } }] } }, { "object": "block", "type": "paragraph", "paragraph": { "rich_text": [{ "text": { "content": "页面正文内容..." } }] } } ] }
追加内容到现有页面
{ "block_id": "PAGE_OR_BLOCK_ID", "children": [ { "object": "block", "type": "to_do", "to_do": { "rich_text": [{ "text": { "content": "新的行动项" } }], "checked": false } } ] }
查询数据库
{ "database_id": "DATABASE_ID", "filter": { "and": [ { "property": "Status", "select": { "equals": "进行中" } }, { "property": "Date", "date": { "on_or_after": "2026-01-01" } } ] }, "sorts": [ { "property": "Date", "direction": "descending" } ] }
Notion Block 类型速查
| Block 类型 | 用途 | API type 值 |
|---|---|---|
| 段落 | 正文 | |
| 标题 1-3 | 层级标题 | / / |
| 待办事项 | 可勾选任务 | |
| 项目列表 | 无序列表 | |
| 编号列表 | 有序列表 | |
| 引用 | 引用块 | |
| 标注 | 高亮提示框 | |
| 代码 | 代码块 | |
| 分割线 | 水平分隔线 | |
| 表格 | 数据表格 | |
| 切换列表 | 折叠内容 | |
交叉链接策略
链接类型
| 链接方式 | Notion 实现 | 适用场景 |
|---|---|---|
| 页面提及 | | 行内引用相关页面 |
| 关系属性 | Database Relation | 数据库之间的结构化关联 |
| 反向链接 | Backlinks(自动生成) | 查看哪些页面引用了当前页面 |
| 同步块 | Synced Block | 多页面共享同一内容 |
链接最佳实践
- 每条知识至少链接 2 个相关页面 — 避免孤立知识
- 使用 Relation 属性而非行内链接 — 数据库间的关联用 Relation 更结构化
- 在"相关文档"章节集中列出链接 — 方便读者发现关联内容
- 定期审查孤立页面 — 识别没有入链的页面并补充关联
工作流程
会议知识捕获流程
会议 → 实时记录要点 → 提取决策和行动项 → 创建会议笔记页面 ↓ 更新项目页面 ← 链接行动项 ↓ 创建/更新决策记录 ← 链接决策
- 会议期间: 记录讨论要点(可以是粗糙的笔记)
- 会议后 30 分钟内: 整理为结构化会议笔记
- 提取行动项: 创建为 To-Do 并关联到项目
- 提取决策: 如有重要决策,创建独立的决策记录
- 建立链接: 将会议笔记链接到项目、参与者主页等
对话知识捕获流程
- 识别有价值的信息 — 不是所有对话都需要记录
- 确定文档类型 — 选择最合适的模板
- 提取核心要素 — 使用信息提取框架
- 创建 Notion 页面 — 按模板结构化内容
- 建立链接 — 关联到相关知识和项目
- 标记来源 — 注明信息来源和捕获日期
知识库维护流程
- 每周: 审查新增页面的链接完整性
- 每月: 识别和处理孤立页面
- 每季度: 评审知识条目的准确性和时效性,归档过期内容
元数据规范
必需元数据
所有 Notion 页面必须包含以下元数据:
| 属性 | 类型 | 说明 |
|---|---|---|
| Title | Title | 页面标题 |
| Created | Date | 创建日期 |
| Type | Select | 文档类型(会议笔记/指南/决策记录/知识条目) |
| Status | Select | 状态(草稿/已审核/已发布/已归档) |
| Tags | Multi-select | 分类标签 |
可选元数据
| 属性 | 类型 | 说明 |
|---|---|---|
| Author | Person | 创建者 |
| Participants | Person | 参与者 |
| Project | Relation | 关联项目 |
| Source | URL/Text | 信息来源 |
| Confidence | Select | 信息置信度 |
| Review Date | Date | 下次审核日期 |
注意事项
- 及时捕获 — 信息的价值随时间递减,尽早记录
- 保持结构化 — 始终使用模板,避免自由格式堆砌
- 标注来源 — 每条知识标明出处,保持可追溯性
- 避免重复 — 创建前先搜索是否已有相关页面
- 权限管理 — 注意 Notion Integration 的权限范围
- API 限速 — Notion API 有请求频率限制(约 3 req/s),批量操作注意节流
- 内容长度 — 单个 API 请求的 children 数组上限为 100 个 block
- 定期备份 — Notion 数据建议定期导出备份