关于 wiki-integrate
wiki-integrate 用于将新建或大幅修订的 wiki 页面接入知识图谱,适合维护整理后 wiki 的用户。它会处理索引、双向链接和变更日志,同时保留原有页面内容。
主要功能
- 01检查 wiki 配置与架构
- 02验证目标页面和黑名单
- 03创建或更新索引条目
- 04添加相关页面双向链接
- 05更新 frontmatter 日期与日志
适用场景
- 01将聊天中创建的页面加入 wiki
- 02页面大幅修订后更新链接
- 03为孤立页面连接相关内容
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vanillaflava/ llm-wiki-skills --skill wiki-integrate安装后在 Claude Code 中输入/wiki-integrate确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/setup-help.mdwiki-config-template.mdwiki-schema.md详细介绍
Wiki Integrate
通过添加反向链接和索引条目,将新建或更新的 wiki 页面接入知识图谱。
配置发现
每次调用都从这里开始。 Wiki 根目录是包含 wiki-config.md 的目录。技能会在运行时确定该目录。此技能写入的页面须遵循 wiki-schema.md 中的结构——这两个文件都必须存在。
-
确定范围:确定你的文件系统范围根目录,即文件系统工具可访问的顶层目录。
-
检查范围——必须停止:如果范围是裸驱动器根目录(
C:\、D:\、/)、操作系统根目录或用户主目录(C:\Users\X、/home/X、/Users/X)→ 立即停止。不要搜索。不要尝试定位wiki-config.md。 直接转到步骤 6。 -
检查
<available_skills>中是否有wiki-config。 记下它是否可用——这会影响下方的建议。也可以使用捆绑的references/setup-help.md;如果用户需要指引或你遇到困难,请阅读该文件。 -
定位并读取
wiki-config.md:递归搜索(匹配第一项,最多 5 层)。如果找到,请读取其中的blacklist、index_excludes、ingested_folder、ingested_subdirs和log_format。如果未找到,跳至步骤 6。 -
定位并读取
wiki-schema.md——必须检查:确认wiki-schema.md存在于与wiki-config.md相同的目录中,并且可解析为 YAML。在明确判定其状态(存在/缺失/格式错误)之前,不要继续执行下方的工作流。 然后:-
存在且解析正常 → 读取该架构(
mandatory_fields、conditional_fields、enums),然后继续执行工作流。 -
缺失 → 停止。不要继续。不要部署。根据
<available_skills>中是否有wiki-config(步骤 3 的结果)决定如何回应:-
wiki-config可用: 严格按以下模式输出——“你的 wiki 缺少wiki-schema.md。运行/wiki-config来部署并完成设置。完成后我再继续。” 本轮结束。不要提供捆绑部署;不要提出其他方案。若wiki-config可用,正确做法是使用它的引导式流程。 -
wiki-config不可用: 提供捆绑的备用方案——“你的 wiki 缺少wiki-schema.md,且未安装 wiki-config 技能。我可以使用捆绑的参考文件部署默认版本,但建议安装 wiki-config 以使用引导式设置。是否部署捆绑的默认版本?” 等待用户明确确认。用户确认后,从references/wiki-schema.md部署。
-
-
格式错误 → 停止。采用相同的两种分支结构:
-
wiki-config可用: “你的wiki-schema.md格式错误。运行/wiki-config——它提供引导式修复流程,并会保留你所做的自定义设置。我会等你处理完。” 本轮结束。不要尝试修复或用捆绑版本覆盖。 -
wiki-config不可用: 指向references/setup-help.md,以获取手动修复指南。如果用户明确要求重置(而非作为自动备用方案),请警告重置会覆盖所有自定义设置,然后在用户明确同意后部署默认版本。
-
第 4 步中若发现
wiki-config.md本身格式错误,也适用相同的两分支结构:wiki-config可用 → 停止并建议运行/wiki-config,本轮结束;不可用 → 通过 setup-help.md 提供手动修复指引。 -
-
完全找不到配置文件:请用户提供 wiki 根目录路径,并在该路径下搜索(最多 5 层)。若仍未找到,则用户尚无 wiki——遵循上方的“缺失”分支(建议运行
/wiki-config;若不可用,则提供捆绑部署)。
能力要求
此技能需要文件系统读取和写入权限。如果无法访问,请告知用户并停止。
何时使用此技能
在以下情况下运行 wiki-integrate:
- 新的 wiki 页面直接在聊天中创建(而非通过 wiki-ingest)
- 现有页面经过重大修订,可能有新的关联机会
- 知识库中存在与知识图谱断开的孤立页面
wiki-ingest 会将原始素材处理为 wiki 页面并自动建立链接。wiki-integrate 会为已存在的 wiki 内容页面建立链接。两者不可互相替代。
输入
Wiki-integrate 针对一个目标页面进行操作。请提供新建或更新页面的路径。如果未提供路径,请先询问用户要整合哪个页面,再继续。
工作流
Config Discovery 已将 wiki-config.md 和 wiki-schema.md 加载到上下文中。不要重新读取;直接从这里开始,并假设两者都已可用。
步骤 1 - 读取目标页面
读取目标页面的完整内容。识别主题、关键概念、现有 [[wikilinks]] 以及 frontmatter 中的标题。
**页面类型检查:**读取页面 frontmatter 中的 page_type 字段。
- **缺失:**根据页面内容和结构,使用架构枚举(已在上下文中)推断类型。写入前向用户说明推断结果并确认:*“此页面没有
page_type。根据内容,它看起来像是<type>——这是否符合您的预期,还是您希望使用其他类型?”*记录确认后的值;在步骤 6 中与updated:一起写入。 - **存在但似乎已不适用:**如果页面当前的
page_type不再符合其实际范围(例如,knowledge页面已扩展为比较综述,或stub页面现在已有实质内容),请提议升级类型:*“此页面的类型是<type>,但现在读起来更像是<better-type>。您希望我顺便更新page_type吗?”*绝不要自动升级;等待明确确认。
步骤 2 - 检查黑名单
确认目标页面不在黑名单路径中。如果在黑名单中,请停止;wiki 技能不能修改黑名单路径。
步骤 3 - 检查并更新 index.md
读取 index.md。如果目标页面未列出,请在正确的章节中添加条目:
- [[Page Title]]: One sentence description, 150 chars max. \relative/path/to/page.md``
如果已列出,请确认描述仍然准确。如果已明显过时,则更新。
步骤 4 - 查找相关页面
从索引目录中选择 3-8 个主题确实重叠的候选页面。关联应有实际意义,而不仅仅是关键词匹配。
步骤 5 - 读取候选页面
完整读取每个候选页面。确认存在真实关联:概念相同、一个页面基于另一个页面展开,或读者同时了解两者会有所帮助。舍弃没有真实关联的候选页面。
步骤 6 - 添加反向链接
为每个确认关联的页面对,双向添加链接:
- 在目标页面中:在自然合适的位置添加
[[Candidate Page Title]] - 在候选页面中:在自然合适的位置添加
[[Target Page Title]]
只写入新的 wikilink;不要重组或改写候选页面内容。写入前检查每个候选页面是否在黑名单中。
对于每个被写入的页面(目标页面以及收到链接的每个候选页面),还要将 updated: frontmatter 字段更新为今天的日期。如果在步骤 1 中推断并确认了 page_type 值,现在将其写入目标页面的 frontmatter。其他 frontmatter 字段保持不变。
步骤 7 - 添加到 log.md 顶部
在 log.md 中,标题行下方、所有现有条目上方添加新条目。
## [YYYY-MM-DD] integrate | <Target Page Title>
Added to index.md. Linked from: [[Page A]], [[Page B]]. Linked to: [[Page C]].
步骤 8 - 总结
报告:目标页面是否已添加到 index.md、现在有哪些页面链接到目标页面、目标页面现在链接到哪些页面,以及排除了哪些关联并简要说明原因。
关键规则
- **内容保持不变:**只添加维基链接和索引条目;绝不改写或重组内容
- 绝不写入黑名单路径
- **链接必须真实:**只在确实存在关联时添加链接
- **候选页面中的改动尽量少:**只添加新的维基链接
- 每次运行只处理一个目标
- 不要整合 archive/ 或 assets/ 页面