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.md
source 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, vaultsingle-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)
  • 不涉及整理的分析任务