关于 wiki-ingest
wiki-ingest 是知识库编译技能,可将文本、文档、笔记和目录整理为结构化 wiki 页面,适合构建可搜索的知识网络。它按实体拆分页,并维护交叉引用、索引和操作日志。
主要功能
- 01导入粘贴文本、文件或目录
- 02提取概念、产品、模式和比较主题
- 03按实体创建或更新页面
- 04添加兼容 Obsidian 的交叉引用
- 05维护索引与追加式日志
适用场景
- 01将文章整理成可搜索的 wiki
- 02批量处理文档并生成关联页面
- 03用新资料更新现有 wiki
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sanyuan0704/ sanyuan-skills --skill wiki-ingest安装后在 Claude Code 中输入/wiki-ingest确认已加载。
附带文件references/page-templates.md
详细介绍
Wiki 导入 — 知识库编译器
将任意文本内容(文章、文档、笔记)编译为带有交叉引用的结构化 Wiki 页面,构建可搜索、相互关联的知识网络。
铁律:一个 Wiki 页面 = 一个知识实体。绝不要把多个概念塞进同一个页面。
Wiki 目录结构
Wiki 默认位于当前项目根目录下的 wiki/。用户可以指定其他路径。
wiki/
├── index.md # Full table of contents
├── log.md # Append-only operation log
├── concepts/ # Core concept pages
├── products/ # Product/tool entity pages
├── patterns/ # Engineering patterns & design decisions
└── comparisons/ # Cross-topic comparison pages
工作流
1. 确认输入
接受用户指定的内容来源:
- 直接粘贴的文本
- 文件路径(md、txt、pdf 等)
- 目录路径(批量处理)
如果用户未指定 Wiki 路径,则使用 wiki/。如果目录不存在,则创建该目录。
2. 检查现有 Wiki
读取 wiki/index.md(如果存在),了解现有页面并避免重复。
3. 提取知识实体
从内容中提取:
- 概念(
concepts/):抽象思想、术语、理论 - 产品(
products/):具体产品、工具、服务 - 模式(
patterns/):工程模式、设计决策、方法论 - 比较(
comparisons/):跨产品或跨方法的分析
提取门槛:只有当其他页面会引用某个实体时,该实体才值得拥有自己的页面。
4. 创建或更新页面
每个实体对应一个 Wiki 页面。
→ 加载 references/page-templates.md 获取页面模板。
规则:
- 如果页面已存在 → 更新它,追加新信息,不要覆盖现有内容
- 除非新内容能提供明显更好的定义,否则保持单行定义稳定
- 优先更新“来源”和“相关页面”部分
5. 更新交叉引用
检查所有现有 Wiki 页面。如果新内容涉及其他页面引用的概念:
- 更新其“相关页面”列表
- 更新其“来源”列表
- 在其详细信息部分补充新信息
6. 更新 index.md
按类别整理,并将新页面条目添加到 wiki/index.md。
7. 追加到 log.md
追加到 wiki/log.md:
## YYYY-MM-DD: Ingest <source title>
**Source**: <file path or "user input">
**New pages**: list newly created pages
**Updated pages**: list modified pages
**New cross-references**: list newly established links
8. 报告结果
告知用户:创建了哪些页面、更新了哪些页面,以及建立了哪些新的交叉引用。
文件命名
- 全部使用小写字母,以连字符分隔:
agent-loop.md、kv-cache.md - 按实体命名,不按编号命名
交叉引用格式
- 使用
[[category/page-name]]双链格式(兼容 Obsidian),例如[[concepts/agent-loop]]、[[products/claude-code]] - 始终包含类别前缀,以避免不同目录之间出现歧义
- 在每个页面底部列出所有相关页面
指南
- 绝不创建重复页面——始终先检查 wiki/
- 不要提取琐碎实体——如果某个概念只出现一次,且不会在其他地方被引用,则跳过
- 批量处理时:先提取所有实体,再一次性创建页面并更新引用,以避免中间状态不一致
- 每次导入后都要更新 index.md 和 log.md
评论
支持 Markdown