mcpField
W
wiki-integrate

wiki-integrate

github.com/vanillaflava生产力7086 次安装16 周前更新
代码仓库

关于 wiki-integrate

wiki-integrate 用于将新建或大幅修订的 wiki 页面接入知识图谱,适合维护整理后 wiki 的用户。它会处理索引、双向链接和变更日志,同时保留原有页面内容。

主要功能

  1. 01检查 wiki 配置与架构
  2. 02验证目标页面和黑名单
  3. 03创建或更新索引条目
  4. 04添加相关页面双向链接
  5. 05更新 frontmatter 日期与日志

适用场景

  1. 01将聊天中创建的页面加入 wiki
  2. 02页面大幅修订后更新链接
  3. 03为孤立页面连接相关内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vanillaflava/llm-wiki-skills --skill wiki-integrate

安装后在 Claude Code 中输入/wiki-integrate确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
setup-help.md
wiki-config-template.md
wiki-schema.md

详细介绍

Wiki Integrate

通过添加反向链接和索引条目,将新建或更新的 wiki 页面接入知识图谱。


配置发现

每次调用都从这里开始。 Wiki 根目录是包含 wiki-config.md 的目录。技能会在运行时确定该目录。此技能写入的页面须遵循 wiki-schema.md 中的结构——这两个文件都必须存在。

  1. 确定范围:确定你的文件系统范围根目录,即文件系统工具可访问的顶层目录。

  2. 检查范围——必须停止:如果范围是裸驱动器根目录(C:\、D:\、/)、操作系统根目录或用户主目录(C:\Users\X、/home/X、/Users/X)→ 立即停止。不要搜索。不要尝试定位 wiki-config.md。 直接转到步骤 6。

  3. 检查 <available_skills> 中是否有 wiki-config。 记下它是否可用——这会影响下方的建议。也可以使用捆绑的 references/setup-help.md;如果用户需要指引或你遇到困难,请阅读该文件。

  4. 定位并读取 wiki-config.md:递归搜索(匹配第一项,最多 5 层)。如果找到,请读取其中的 blacklist、index_excludes、ingested_folder、ingested_subdirs 和 log_format。如果未找到,跳至步骤 6。

  5. 定位并读取 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 提供手动修复指引。

  6. 完全找不到配置文件:请用户提供 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、现在有哪些页面链接到目标页面、目标页面现在链接到哪些页面,以及排除了哪些关联并简要说明原因。


关键规则

  1. **内容保持不变:**只添加维基链接和索引条目;绝不改写或重组内容
  2. 绝不写入黑名单路径
  3. **链接必须真实:**只在确实存在关联时添加链接
  4. **候选页面中的改动尽量少:**只添加新的维基链接
  5. 每次运行只处理一个目标
  6. 不要整合 archive/ 或 assets/ 页面

评论

支持 Markdown