Files
chemenu/instructions/wiki-query/SKILL.md
T
torben 63b4bb82d9
CI / verify (push) Successful in 56s
Release / release (push) Successful in 34s
fix: update entity naming conventions to use singular form for consistency
2026-09-05 11:40:08 +02:00

85 lines
3.5 KiB
Markdown

---
name: wiki-query
description: Answer a question using the LLM wiki's compiled knowledge - read-only, cites sources, can file a valuable answer back as a new page. Use when the user asks a question about entities, projects, concepts, or anything the wiki might know, or says "query the wiki", "what do we know about X", "search the wiki".
---
# Wiki Query
**Purpose:** Answer a question using the wiki's compiled knowledge.
**Trigger:** User asks a question.
**Hard rule:** read-only with respect to wiki *content*. Never modify, hand-edit, or scaffold a
page while answering. Two exceptions, both mechanical: step 5 (filing a valuable answer through
`wikitool new`, never by hand) and step 6 (one audit entry via `wikitool log append`). If the
wiki has no confident source, say so - per AGENTS.md's "never file an unsourced answer"
invariant - rather than synthesizing a plausible-sounding answer from general knowledge.
## Steps
1. **Understand the question.** Clarify intent if ambiguous.
2. **Search.** Do **not** read `kb/index.md`; it is a map of counts and pointers, not a
catalog, and reading the shards costs more than searching them.
```bash
tools/wikitool search "<the user's terms>"
```
Results carry kind, summary, confidence and modified date - enough to decide what is worth
opening. Narrow with predicates when the question is structural rather than lexical:
```bash
tools/wikitool search "backup" --kind entity --subtype system
tools/wikitool search --field entity_type=system --field 'confidence<0.6' --sort -modified
tools/wikitool search --field tags=k8s --limit 30
tools/wikitool search "Longhorn" --matches # show the matching lines
```
`search` is read-only and exempt from the iteration budget, so searching again is always
cheaper than reading more.
3. **Read only the pages the search points at**, then follow their `related:` and `sources:`
entries. Check `kb/sources/` when the question is about what a specific source said.
4. **Answer and cite.** Name the wiki pages the answer came from, and the sources behind them.
Hedge to the page's confidence: below 0.6 write "possibly"/"may"; below 0.4 write
"uncertain"/"unconfirmed".
5. **File it back, if it earns a page.** Only when the answer required synthesis across several
pages, revealed something not already written down, and will be asked again. Then scaffold
it - `tools/wikitool new ...` - and follow `wiki-manage`. Never write the page by hand, and
never file an answer no source backs.
6. **Log it.**
```bash
tools/wikitool log append --op query --title "<question>" --body "<outcome>"
```
## Decision points
- **Nothing found?** Try the structural query before concluding the wiki is silent - a page may
exist under different words. Then say the wiki has no confident source, and offer to ingest
one.
- **Filed a page?** Query does **not** auto-publish. Run `tools/wikitool publish` only if asked;
the sequence is in [publish-cycle.md](../publish-cycle.md).
- **Several answers filed at once?** That can trip the Mass-Update Gate - see
[gates.md](../gates.md).
## wikitool commands used
`search`, `log append`. If filing an answer back: `new`, `xref add`, `sources rebuild-index`,
`index rebuild`.
## Output
An answer in chat, with citations. Occasionally a new page.
**Example queries:**
- "What projects use MQTT?"
- "Show me the architecture of HA Integration"
- "Compare gdeploy and plugnburn-edl"
- "What decisions were made about E3DC integration?"