Files changed: - CHANGES.md - VERSION - docs/explanation/pipeline-rationale.md - docs/how-to/query-the-wiki.md - instructions/wiki-query/SKILL.md - kb/CONTRACT.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
3.4 KiB
Query the wiki
Ask the wiki a question and get an answer built from its compiled pages, with the pages and sources
it came from. The agent answers using the wiki-query skill
(skill catalogue), which only reads unless you ask it to keep an answer.
What you say
Ask the way you would ask a colleague:
What projects use MQTT?
Show me the architecture of HA Integration
Compare gdeploy and plugnburn-edl
What decisions were made about E3DC integration?
What you get back
An answer that names the wiki pages it came from and the sources behind them. Where the wiki has no source for a claim, the agent says so instead of filling the gap. An answer it cannot back is never written into the wiki either.
If an answer is worth keeping - a comparison you will want again, a synthesis across several pages - the agent proposes filing it back as a page. It names the pages it would create before it creates any, and nothing is written unless you agree.
Asking for the exact wording
Some questions are about the text itself - what a rule says word for word, which value stands in a table of a manual:
What exactly does rule 16:3e say?
Which torque does table 4 of the assembly manual give?
The agent still starts from a page. For the wording it follows that page to its source page, then
to the outline in the header of the source's derived text, and reads only the passage's lines - it
never searches raw/. The quote comes in the language of the original, with the source page and
the page number. Markings the derivation added (bold, italic, highlighting) are left out of the
quote, and struck-through text is said to be struck rather than quoted as if it were in force.
Two answers point at work for later. If the derived text has no outline and is too long to read
whole, the agent says the wording cannot be reached directly and names the way to change that: a
new raw derive of the original, accepted with raw accept --replaces. If the answer stands in
the source but on no page, the agent answers with the quote and names the page that is missing it,
offering to complete it - it writes nothing on its own.
Searching yourself
The agent searches with the same command you can run:
tools/wikitool search "<text>"
tools/wikitool search --field entity_type=system
tools/wikitool search --field '!sources' # pages without a sources: list
search covers all of kb/, by text, by frontmatter or both. Each hit carries the page's path and
full title, so you can open it directly. It only reads, and it does not count against the
session's call budget, because looking before acting is the habit worth encouraging. The predicate forms are in the
command reference.
For browsing rather than searching, kb/index.md is the catalog map, and each collection carries
its own INDEX.md. All of these are generated. Read them, but never edit them. To browse the pages as
a graph, see Browse the wiki in Obsidian.
Asking from another machine
A consumer that is not a terminal on this machine can ask the same questions through the MCP read
server and get the same answers: Set up the MCP read server. The one
difference is the exact wording above: the read server serves pages only, never raw/, so a
reader over MCP gets the wording only where a page carries it.