gyf0311/lorekit/wiki-query

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

从 corpus 检索已有内容并综合答案,按精确/模糊/图遍历三层路由。触发词:查、找、搜、知识库里有没有、记得吗、之前说过、关于 XXX。

Install

npx vskill@latest install gyf0311/lorekit/wiki-query

SKILL.md

wiki-query

从当前 corpus 回答问题。核心是三层检索决策 + 答案必须标注来源 + corpus 没有就诚实说没有。

When to trigger

  • 用户说"查一下 XXX"、"找一下 XXX"、"搜 XXX"
  • 用户说"我之前整理过 XXX 吗"、"记得 XXX 吗"、"之前说过 XXX"
  • 用户问"关于 XXX 我都有什么资料"
  • 用户抛一个概念性问题,且明显在问已有知识库,而不是要上网

不要触发:

  • 查询后用户说"把这个记下来" → 交给 wiki-fileback
  • 用户给了新外部资料要存 → 交给 wiki-ingest
  • 用户在问纯外部新知识且明说不用查库 → 直接 WebSearch / WebFetch(默认仍先查库再联网兜底,见默认查询顺序第 6 步)

默认查询顺序

铁律:先走确定性文本层,不先启动重型召回流程。

默认顺序:

  1. rg / lorekit search "<q>" 找精确词、实体名、文件名和短语。
  2. Read corpus/index.md 定位知识分区。
  3. Read {dir}/_INDEX.md 缩小到候选页。
  4. Read 具体 知识库/ canonical page,再按页内 wikilink 追 1-2 跳。
  5. 第二级召回(fallback):1-4 步无命中或明显不足时,lorekit search "<q>" --all

把过程区(_工作台/、_归档/、输出/ 等)纳入召回。命中时照常引用,但必须 标注非 canonical(例如 ⚠ 过程稿:_工作台/草稿/xxx.md,未经入库校验), 不得当作 Compiled Truth 级证据。转写噪音层(_工作台/转写/)--all 仍排除, 先生点名"去转写里找"才 lorekit search "<q>" --dir _工作台/转写。

  1. 联网兜底(web fallback):1-5 步都无命中(或问题本身涉及库外的新知识 / 时效

信息)时,直接用 WebSearch / WebFetch 联网检索,不要停在"库里没有"。 回答必须分层标注来源:「库内已沉淀」(引用 corpus 页面)vs「联网新查」(给 URL,注明未入库、未校验)。联网结论有长期复用价值时,提议 wiki-fileback / wiki-ingest 入库,由用户决定。

Decision tree

按 query 类型选层:

1. 精确关键词(实体名 / 文件名 / 具体词)

先走 lorekit search "<q>"(ripgrep fallback)。命中就读对应页面。

2. 模糊语义(概念性 / 意图类 / "跟 X 相关的东西")
  • Read corpus/index.md / 知识库/ → AI 按语义选 1-3 个分区
  • Read {选中分区}/_INDEX.md → 选具体页
  • Read 具体 .md 文件 → 综合答案
  • 只有需要完整 provenance 时才打开 原料/
  • _工作台/** / _归档/** 不是第一级召回层:知识库层无命中时走 lorekit search "<q>" --all 第二级召回(结果标注非 canonical);先生点名具体路径时直接读
3. 多跳推理("A 相关 B 的 C")

在第 2 步基础上,沿候选页的 [[wikilinks]] 递归遍历 1-2 步,综合。


大部分真实 query 是组合:先精确找锚点(第 1 步),再沿语义展开(第 2 步),最后拉链接(第 3 步)。

Tools to use

  • lorekit search "<q>" — 精确 ripgrep/fallback 检索(durable 层)
  • lorekit search "<q>" --all — 第二级召回,纳入工作台/归档等过程区
  • Read corpus/index.md / {dir}/_INDEX.md / 具体文件
  • 底层:Grep(复杂匹配时用)

Output format

综合答案时必须遵守:

  1. 每条信息标注来源 [[页面名]],用户能直接跳过去
  2. 如果 corpus 没相关内容,诚实说"corpus 里没有关于 XXX 的内容",永远不要瞎编
  3. 给出检索路径(可折叠),方便用户判断是不是漏了
  4. 末尾主动提议 fileback(见下一节)

铁律:源页面 wikilink 必须真实存在;不要生造页面名。

溯源铁律(answer provenance)

每个核心结论必须追溯到具体的 知识库/摘要/<slug>.md(即 source 页),禁止只引 concept 页。原因:

  • concept 页是 compiled truth(综合产物),不是证据
  • source 页才是带 raw_sha256 的原始证据
  • 只引 concept 页会让读者无法反查原文,属于"二手转述"级别的信任

正确姿势:[[知识库/概念/RAG]] 定义了 RAG(引自 [[知识库/摘要/lewis-2020-rag]], [[知识库/摘要/rag-survey-2024]]) — concept 页提供语义锚点,source 页提供证据。

结论:每条核心论点必须至少有 1 个 `知识库/摘要/` 引用;只有 concept / entity 没有 source 的引用不算完整答案。

Confidence 标注(答案末尾必加)

答案末尾必须列出"Confidence Notes"节,展开每条核心引用的 confidence 级别:

markdown
---
### ⚠ Confidence Notes
| 引用 | Confidence | 备注 |
| --- | --- | --- |
| [[知识库/概念/RAG]] | high | 5+ sources,先生已确认 |
| [[知识库/概念/HyDE]] | medium | 3 sources |
| [[知识库/摘要/xxx]] | low | 单源,未经交叉验证 |
  • low / medium confidence 的引用必须显式出现在 Confidence Notes 节——先生读到这里才知道"这个结论只有一个来源,慎用"
  • 答案正文里也可用视觉提示(如 ⚠)标出 low confidence 的引用
  • 若所有引用都是 high confidence,仍要输出此节,说明"全部 high confidence"

输出格式分流(按问题类型)

根据问题类型选输出形式(先生在问题里明示或你合理推断):

问题类型输出形式说明
普通问题Markdown 正文默认
比较类("A vs B")Markdown 表格维度 × 对象矩阵
演示类("给我做个分享 / 讲一下")Marp 幻灯片frontmatter 加 marp: true
趋势类("过去 N 个月如何变化")Python matplotlib 代码块可直接复制运行
清单类("列出所有 X")结构化 bullet list分组 + 每条带 wikilink

注意:复杂输出(Marp / matplotlib)落盘规则见下方 outputs 回盘小节;不是每次都要落盘,只有先生确认"值得留存"或价值门槛达到才落。

Outputs 回盘(复用价值触发)

如果答案满足以下任一复用价值条件,自动写入 corpus/输出/问答/YYYY-MM-DD-<slug>.md:

  • 跨多页综合的比较表 / 对比矩阵
  • 深度分析(非单源复述、有新综合见解)
  • 结构化清单(未来还会查第二遍)
  • 先生明确说"这个答案存一下"

落盘规范:

  • 路径:corpus/输出/问答/YYYY-MM-DD-<slug>.md
  • frontmatter 必填 graph-excluded: true(系统文件隔离,不进图谱)
  • 同时更新 corpus/index.md 的 Recent Synthesis 列表(在对应受控区追加一行)

不落盘的情况:单条事实查询(如"XX 的作者是谁")、临时探索、corpus 里没找到答案。

log 追加

query 结束后,在 corpus/log.md 末尾追加一行:

## [YYYY-MM-DD HH:mm] query | <question 一句话简述>

用于先生回看"这个月都查了什么"。

Query → Fileback 闭环(核心 UX)

综合答案本身是新的知识产物——它把 corpus 里分散的信息组合成了一个新的结论。这个结论 如果不存回去,下次还要重新综合一遍,浪费认知。所以 wiki-query 的标准输出末尾必须带一个 明确的 fileback 提议,让用户一句话决定要不要把今天的结论存回 corpus。

输出模板:

根据你的 corpus:
{综合答案,每条带 [[页面]] 引用}
引用来源:[[页面 A]] · [[页面 B]] · [[页面 C]]
---
💾 要把这个答案存回 corpus 吗?(Y/N)
Y → 我会触发 `wiki-fileback`,按主语追加 timeline 条目
N → 结束(不保存)

分支:

  • 用户回 Y → 交给 wiki-fileback,输入是刚才的综合答案 + 引用清单 + 用户的原始问题

(用于判断主语和目标页)

  • 用户回 N 或没回 → 结束,不保存
  • 答案没找到 → 不提议 fileback(没东西可存),改问"要不要我帮你上网搜一下?"

或"要不要新建一个页面占坑?"

  • 答案是"corpus 里没有" → 同上,不提议 fileback

为什么这个闭环重要:

  • 综合答案是 LLM 的劳动成果,不存下次就要重做
  • 用户的关注点是临时从短期记忆变成长期沉淀的唯一入口
  • 这是 corpus 从"静态数据"升级成"活知识"的核心机制

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
5
Repository forks
1
7-day trend score
9

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/gyf0311/lorekit/wiki-query/badge)](https://verified-skill.com/skills/gyf0311/lorekit/wiki-query)

Something wrong with this skill or its page? Tell us.