Workflow
Build a knowledge base that compounds.
Most people re-read their own notes every time they have a question. A better pattern: feed your sources to an AI agent once, have it build a structured wiki, and keep that wiki updated forever. The knowledge accumulates instead of evaporating.
#The shift
The usual way to use an AI with your documents is to dump files in and ask questions — the model re-discovers the answer from raw text every single time. Nothing is retained between questions. The wiki pattern flips that: each new source is processed once into durable pages, and every future answer builds on what's already there.
The cleanest way to think about it: your sources are source code, the agent is a compiler, and the wiki is the program it builds. Add a source and the agent doesn't just file it away — it reads it, updates the relevant pages, revises summaries, links it to what you already knew, and flags anything that contradicts. The wiki gets smarter; you don't redo the work.
#Three layers
raw/. The agent maintains wiki/. The schema in AGENTS.md tells it how — page shapes, naming, what to do on every ingest.raw/— the sources you collect. You decide what goes in; you never edit them.wiki/— the pages the agent writes: one concept each, cross-linked with[[wiki-links]], plus an index and a change log.AGENTS.md— the schema. The most important file: it turns a general-purpose agent into a disciplined librarian that follows the same rules every time.
#Three operations
ingest | Read a new source, update or create pages, link it in, flag contradictions, record where it came from. |
query | Answer from the wiki first, citing the pages used; name the gap if it isn't covered yet. |
save-answer | Turn a useful answer into a durable page under wiki/questions/ or the right topic folder. |
lint | Health check — orphan pages, broken links, duplicates, claims missing a source. |
#Start one in seconds
This setup ships a scaffolder. Point it at a new folder and it lays down the structure, the schema, Obsidian vault defaults, and a fresh Git repo. Obsidian plugins are installed by the Groundwork-managed obsidian-plugins command:
$ new-wiki ~/code/llm-wiki
$ obsidian-plugins ~/code/llm-wiki
Then open that folder with Claude Code or Codex, add a source, and tell it to ingest:
$ cd ~/code/llm-wiki
$ cp ~/Downloads/some-article.md raw/
$ claude
# then: "ingest raw/some-article.md"
Open the folder as an Obsidian vault to browse the pages and follow the [[links]] as a graph. Obsidian only reads the markdown — the agent does the writing — so the two never fight over the files. The Groundwork repo owns the Obsidian plugin list, plugin installer, and Vim-mode default; each vault only receives the runtime files and settings it needs.
Install Obsidian Web Clipper in your browser and set its destination to raw/clippings/. It saves web content as durable Markdown files in your vault, which fits this workflow exactly.
#Keep it yours
A wiki is a record of what you're reading and thinking, so it lives on its own, separate from Groundwork — its own Git repo, synced through GitHub, private. The setup repo only ships the empty scaffold and this page; your actual knowledge never rides along with the configuration that may be shared publicly.
Pick one topic you're actively learning and ingest three sources. A small wiki you actually maintain beats a giant one you abandon. It compounds from there.
Treat wiki/ like compiled output: let the agent maintain it. If a page is wrong, fix the schema or re-ingest — the same way you'd fix source code rather than patching the binary.