Install
openclaw skills install wiki-craftBootstrap and maintain a personal LLM Wiki — a persistent, compounding knowledge base of interlinked markdown pages that the LLM writes and maintains. Use when the user wants to build a knowledge base from scratch, ingest a new source into an existing wiki, query accumulated knowledge, or audit the wiki for gaps and contradictions. Triggers: "start a wiki", "build a knowledge base", "ingest this", "add to wiki", "what does the wiki say", "lint the wiki", "audit the wiki", "summarize this for the wiki".
openclaw skills install wiki-craftBuild and maintain a persistent, compounding knowledge base of interlinked markdown files. The LLM writes and maintains the wiki. The human curates sources, asks questions, and guides the analysis.
This is not RAG. Instead of re-deriving knowledge at query time, the LLM incrementally builds a structured wiki that grows richer with every source added and every question asked. Cross-references are pre-built. Contradictions are already flagged. Synthesis already reflects everything ingested.
If wiki/index.md does not exist, the wiki is uninitialized. Ask the user:
Then:
raw/ and wiki/ directories.wiki/index.md with a # Wiki Index heading and empty page sections.wiki/log.md with a # Log heading.{root}/
raw/ -- source documents (immutable — never modify)
wiki/
index.md -- table of contents: every page with a one-line summary
log.md -- append-only chronological record of all operations
*.md -- generated pages (summaries, entities, concepts, etc.)
raw/ is the user's domain. The LLM owns everything under wiki/.
When the user adds a source to raw/ and asks you to process it:
raw/.wiki/{source-name}.md.[[wiki-links]] throughout every page you create or update. Links are the
primary value of the wiki — connect aggressively.wiki/index.md: add new pages with one-line descriptions, keep sorted.wiki/log.md: date, source name, pages created, pages updated.Do not write wiki pages before completing step 2.
When the user asks a question:
wiki/index.md first to find relevant pages.Good answers should be filed back into the wiki so they compound over time. A comparison you generated, an analysis, a connection the user discovered — these are valuable and should not disappear into chat history.
Output formats — answers can take different forms depending on the question:
When the user asks you to lint or audit the wiki:
[[links]] from other pages.templates/page.md.(source: ...) reference.Report findings as a numbered list, each with a suggested fix. Offer to apply fixes.
wiki/index.md)# Wiki Index
## Summary pages
- [[source-name]] — one-line description
## Entity pages
- [[entity-name]] — one-line description
## Concept pages
- [[concept-name]] — one-line description
Keep entries sorted within each section.
wiki/log.md)Append one block per operation. Never edit existing entries.
## [YYYY-MM-DD] ingest | Source Title
- Created: [[page-a]], [[page-b]]
- Updated: [[page-c]], [[page-d]]
- Notes: any notable contradictions, gaps, or decisions
The ## [YYYY-MM-DD] prefix makes the log greppable:
grep "^## \[" wiki/log.md | tail -5
Follow templates/page.md. Every page must have:
# Page Title
**Summary**: One to two sentences.
**Sources**: Raw source files this page draws from.
**Last updated**: YYYY-MM-DD
---
Content with [[wiki-links]] throughout.
## Related pages
- [[page]]
.md (e.g. machine-learning.md)(source: filename.ext)These are not required but mentioned in case the user wants them:
| Tool | Purpose |
|---|---|
| qmd | Local search over wiki pages — BM25/vector hybrid, MCP server + CLI |
| Obsidian | Markdown editor with graph view, backlinks, Dataview, Marp plugin |
| Obsidian Web Clipper | Browser extension to clip articles to markdown |
| Marp | Markdown → slide decks; useful for presenting wiki synthesis |
| Dataview | Obsidian plugin — queries over YAML frontmatter in wiki pages |
| git | Version history and branching for the wiki directory |
raw/.wiki/index.md and wiki/log.md after every change.raw/ (raw sources stay raw).