Kaoyan knowledge-base-organizer
This skill should be used when the user asks to organize documents, generate/update MOC (Map of Content), extract concepts from notes, build document links, identify document types, or analyze knowledge gaps in their Obsidian knowledge base.
install
source · Clone the upstream repo
git clone https://github.com/Treasoni/kaoyan
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Treasoni/kaoyan "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/knowledge-base-organizer" ~/.claude/skills/treasoni-kaoyan-knowledge-base-organizer && rm -rf "$T"
manifest:
.claude/skills/knowledge-base-organizer/SKILL.mdsource content
Knowledge Base Organizer Skill
A skill for organizing Obsidian Markdown knowledge bases through document linking, MOC creation, concept extraction, and knowledge gap analysis.
核心功能
1. 建立文档链接
- 分析文档内容,识别主题相关性
- 在文档之间创建 wikilink 关联
- 智能推荐"潜在关联"
2. MOC 文档管理
- 创建按主题分类的 MOC(如:MOC - 前端开发、MOC - Python)
- 创建按文档类型的 MOC(如:概念笔记、教程笔记、项目笔记)
- 自动更新现有 MOC
3. 概念抽取
- 提取核心概念和关键词
- 生成 tags 建议
- 标准化术语
4. 文档类型识别
识别并分类以下类型:
- 📝 概念笔记 - 定义、原理、术语解释
- 📚 教程笔记 - 步骤、方法、学习路径
- 🛠️ 项目笔记 - 项目记录、代码片段
- ❓ 问题解决记录 - bug 修复、troubleshooting
5. 自动生成摘要
- TL;DR(一句话总结)
- 关键要点列表
- 使用场景标签
6. 反向链接建议
- 已有关联分析
- 潜在关联推荐(同技术栈、同问题链路)
7. 知识缺口提示
- 检测主题下的子主题缺失
- ⚠️ 仅基于已有文档主题推断,不做领域完整性判断
- 标记相关但未链接的孤立文档
8. 复习/行动提取
- 提取 TODO 项
- 标记可复用代码
- 生成复习清单
实施模式(安全机制)
执行前必须询问用户选择模式:
| 模式 | 行为 | 文件修改 |
|---|---|---|
| ① 只读模式 | 分析 → 报告结果 | ❌ 不修改任何文件 |
| ② 建议+确认模式 | 分析 → 展示建议 → 用户确认 → 执行 | ✅ 修改文件(需确认) |
默认行为:
- 始终先询问用户选择模式
- 只读模式下,只输出分析报告
- 建议模式下,列出所有将要执行的操作,等待确认
工作配置
| 参数 | 说明 | 默认值 |
|---|---|---|
| scope | 扫描范围: single-note, folder, vault | single-note |
| max_links | 单次最大链接建议数 | 10 |
| relevance_threshold | 相关性阈值 (0-100) | 60 |
优先级决策规则
1. 结构优先
- 不破坏现有 MOC 层级
- 不创建与现有 MOC 主题重复的新 MOC
2. 质量优先
- 链接建议需达到相关性阈值才显示
- 单次操作建议数量受 max_links 限制
3. 安全优先
- 知识缺口仅基于已有内容推断
- 不提供主观学习建议
相关性评分机制
- 直接主题匹配: 100分
- 同技术栈/同领域: 80分
- 术语引用关系: 60分
- 弱关联: 40分
只显示评分 ≥ 60 的建议
性能考虑
| 范围 | 行为 | 警告 |
|---|---|---|
| single-note | 仅读取目标文件 | 无 |
| folder | 递归扫描指定目录 | 中大型文件夹可能较慢 |
| vault | 扫描整个知识库 | 大型库(100+ 文件)可能较慢 |
工作流
阶段 1:理解请求
- 识别用户意图(全局整理 / 单个文档整理 / 创建 MOC)
- 确定文档范围
- 询问用户选择实施模式
阶段 2:扫描分析
- 读取目标文档
- 提取内容特征
- 识别概念、类型、关联
阶段 3:生成建议
- 生成文档链接建议
- 生成 MOC 更新建议
- 生成概念抽取结果
- 识别知识缺口
阶段 4:执行(仅建议+确认模式)
- 展示所有建议
- 等待用户确认
- 执行修改操作
MOC 文件组织结构
.moc/ ├── MOC - 按主题/ │ ├── MOC - 前端开发.md │ ├── MOC - 后端开发.md │ ├── MOC - 数据库.md │ └── ... └── MOC - 按类型/ ├── MOC - 概念笔记.md ├── MOC - 教程笔记.md ├── MOC - 项目笔记.md └── MOC - 问题记录.md
输出格式
只读模式输出
📊 知识库分析报告 ## 文档扫描结果 - 扫描文件数:42 个 .md 文件 - 已有链接:128 个 wikilinks - 孤立文档:5 个(无任何链接) ## 概念抽取 - 核心概念:React、Vue、Python、Docker... - 建议新增 tags:#前端 #状态管理 #容器化 ## 文档类型分类 - 📝 概念笔记:18 个 - 📚 教程笔记:12 个 - 🛠️ 项目笔记:8 个 - ❓ 问题记录:4 个 ## 链接建议 [列出 Top 10 建议的 wikilink 关联,按相关性排序] ## 知识缺口 [列出检测到的缺口,仅基于已有文档推断] ## MOC 更新建议 [列出需要创建/更新的 MOC 文件]
建议+确认模式输出
📋 建议执行的操作 ## 将创建的新文件 1. .moc/MOC - 按主题/MOC - 前端开发.md 2. .moc/MOC - 按类型/MOC - 概念笔记.md ## 将修改的文件 1. React组件设计.md → 添加 3 个 wikilinks,添加 tags,添加摘要 2. Python异步编程.md → 添加 2 个 wikilinks,更新文档类型标签 ... ## 将添加的链接 [列出达到阈值的链接建议,最多 max_links 条] 请确认是否执行?(y/n)
触发条件
应该触发
- 用户说"整理文档"、"整理笔记"
- 用户说"生成 MOC"、"更新 MOC"
- 用户说"分析知识库"、"扫描文档"
- 用户说"建立文档关联"、"添加链接"
- 用户说"提取概念"、"生成摘要"
- 用户说"检查知识缺口"
不应该触发
- 单纯创建新文档(应使用 obsidian-markdown)
- 编辑现有文档内容(应使用 obsidian-markdown)
- 不涉及整理的分析任务