mcpField
W
wiki-query

wiki-query

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

关于 wiki-query

wiki-query 通过读取并综合整理后的 wiki 内容来回答问题,适合希望依据自身 wiki 获取答案的用户。它引用相关页面、明确指出信息缺口,并可将答案整理为新页面。

主要功能

  1. 01依据索引查找页面
  2. 02定向读取相关页面
  3. 03综合答案并引用 wiki
  4. 04明确标注信息缺口
  5. 05可选将答案存档

适用场景

  1. 01基于整理后的 wiki 回答问题
  2. 02研究多个相关 wiki 主题
  3. 03将答案保存为 wiki 页面

安装

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

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

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

包含的文件

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

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

详细介绍

Wiki 查询

通过阅读并综合已编译的 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-config.md 相同的目录中,确认 wiki-schema.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 页面时,才需要写入权限。

如果运行环境不提供文件系统工具(网页、移动端),请告知用户此技能无法访问本地知识库。你可以提出根据通用模型知识作答,但需说明回答不会参考 Wiki 专属上下文。

工作流

Config Discovery 已将 wiki-config.md 和 wiki-schema.md 加载到上下文中。请勿重新读取;从这里继续,并假设两者均已可用。

步骤 1 - 阅读索引以了解概况

读取 wiki 根目录中的 index.md。浏览完整目录,找出可能与查询相关的页面。不要读取所有页面;利用单行描述来确定搜索目标。

如果查询范围较广或涉及多个领域,也要读取 Overview.md;它能帮助你快速了解当前的知识状况。

步骤 2 - 确定目标页面

选择最可能包含查询相关信息的 2-6 个页面。请考虑:

  • 主题直接匹配(页面标题或描述提及相关主题)
  • 领域相关性(如果查询与 FASD 有关,就读取 FASD 页面)
  • 跨领域联系(查询可能涉及多个部分)

如果查询非常具体,优先选择目标明确的页面。如果查询范围较广,则从 Overview.md 开始并沿着反向链接继续查找。

步骤 3 - 阅读目标页面

完整阅读每个已确定的页面。注意:查询的直接答案、相关背景、指向其他相关页面的 wiki 链接,以及笔记中标注的空白或未解决问题。

步骤 4 - 按需追踪反向链接

如果初始页面引用了其他看起来直接相关的页面,也要读取。最多再读取 2-3 个页面。当新页面不再提供与查询相关的信息时,停止查找。

步骤 5 - 综合答案

针对查询撰写清晰的答案:

  • 使用 [[wikilink]] 引用具体 wiki 页面,为每项主张提供依据
  • 区分:证据充分的主张、需要谨慎表述的主张,以及尚未解决的问题或知识空白
  • 使用 wiki 中的语言和表述方式
  • 如实说明 wiki 包含和未包含的内容;不要用一般模型知识填补空白,除非明确标注

格式:叙述性回答使用正文;比较性或结构化信息使用表格或列表。

步骤 6 - 提议将答案存档

给出答案后,询问:“此答案可以存档为新的 wiki 页面,以便日后查阅。你希望我为它创建一个页面吗?”

如果用户同意:

  • 在适当的部分创建新的 wiki 页面
  • 添加 frontmatter(标题、版本、日期、changes: "Created by wiki-query")
  • 添加指向所引用来源页面的 [[backlinks]]
  • 运行 wiki-integrate,将其整合进知识图谱
  • 在 log.md 顶部、标题行下方、现有条目上方插入:## [YYYY-MM-DD] query | <query summary>

如果用户拒绝,请勿修改任何文件。


查询范围

范围内: wiki 根目录中的所有页面,黑名单中的路径除外。 范围外: raw/ 源文件;wiki 是综合整理后的视图,而非原始来源。

如果查询所需信息仅在原始源文件中提供,请说明这一点,并建议在尚未处理该来源的情况下先运行 wiki-ingest。


关键规则

  1. 引用 wiki,而非一般知识: 每项事实性主张都应能追溯到具体 wiki 页面
  2. 如实标明空白: 如果 wiki 不包含答案,请明确说明
  3. 除非用户明确要求,否则不要修改文件: 读取始终安全;写入需要征得同意
  4. 不要访问黑名单路径: 即使是在查询过程中读取也不行

评论

支持 Markdown