An LLM-maintained knowledge base for the Summit Ridge townhome HOA. Authoritative governing documents live in source/; an AI assistant synthesizes them into a structured wiki under wiki/ that you can query in plain English.
Inspired by Andrej Karpathy's LLM Wiki pattern β instead of doing one-shot RAG over raw documents on every question, the LLM incrementally builds and maintains a persistent, cross-linked markdown wiki. Knowledge compounds; contradictions get flagged once, not rediscovered every query.
HOA governing documents are long, overlapping, and full of cross-references (CC&Rs reference Bylaws, Rules reference CC&Rs, etc.). When you have a specific question β "Can I install a satellite dish?", "What's the late fee on assessments?", "Do I need board approval to repaint?" β you don't want to skim 200 pages. You want a direct answer with the exact section cited.
This project gives you:
- A wiki the LLM writes and maintains for you, organized by topic.
- An ask command that answers questions using the wiki as authoritative context, with citations back to the original source sections.
- A sync command that incrementally rebuilds the wiki when source documents change β no redundant work, only files whose SHA-256 hash changed get re-ingested.
Summit-Ridge-Wiki/
βββ README.md β you are here
βββ source/ β immutable governing documents (read-only ground truth)
β βββ 2025-10-11 Bylaws.md
β βββ 2025-10-11 CC&Rs.md
β βββ 2025-10-11 Rules and Regulations.md
βββ wiki/ β LLM-generated knowledge base (created on first sync)
β βββ index.md β categorized catalog of every wiki page
β βββ log.md β append-only chronological record of sync runs
β βββ .manifest.json β SHA-256 hashes of source files at last sync
β βββ pages/ β one markdown file per topic (pets, parking, fees, β¦)
βββ .claude/
βββ skills/
βββ wiki-sync/ β skill that builds & updates the wiki
β βββ SKILL.md
βββ ask/ β skill that answers questions from the wiki
βββ SKILL.md
| Layer | What it is | Who writes it |
|---|---|---|
| Sources | Bylaws, CC&Rs, Rules β verbatim | The HOA (you only curate) |
| Wiki | Synthesized topic pages, index, log | The LLM, via /wiki-sync |
| Skills | Instructions telling the LLM how to act | You (already set up) |
The skills are already in place. Just run the initial build:
/wiki-sync
This reads every file in source/, creates wiki/ with index.md, log.md, .manifest.json, and a pages/ directory containing one markdown file per HOA topic. Expect pages like pets.md, parking.md, architectural-modifications.md, assessments-and-fees.md, enforcement.md, etc.
Note: Skills are discovered at session start. If
/wiki-syncand/askdon't appear, run/clearor restart Claude Code.
/ask
With no arguments, it prompts you for a question. With arguments, it answers immediately:
/ask Can I keep three cats?
/ask What's the deadline to pay assessments before a late fee kicks in?
/ask Do I need board approval to install solar panels?
Answers cite both the wiki page and the original source section, e.g.:
Yes, up to two domestic pets total. (wiki/pages/pets.md β CC&Rs Β§ 4.7)
If the wiki doesn't cover the topic, ask says so explicitly rather than guessing.
Edit, add, or remove files in source/, then run:
/wiki-sync
The skill computes a SHA-256 hash of every source file and compares against wiki/.manifest.json. Files whose hash matches are skipped β no re-ingestion, no token waste. Only new or changed files get re-read, and the relevant wiki pages get updated. Removed source files are flagged in the log for you to handle (the skill won't auto-delete pages, since you may still want the historical content).
Each sync appends a timestamped entry to wiki/log.md listing what was ingested, skipped, created, updated, and any conflicts surfaced.
Modification times change whenever a file is copied, synced via OneDrive/Dropbox, or pulled from git β even when content is identical. SHA-256 of the file bytes is the only reliable way to know whether the content actually changed. The manifest lives at wiki/.manifest.json and is rewritten atomically on each sync.
RAG retrieves chunks. A wiki synthesizes. When the CC&Rs and the Rules and Regulations both mention pets but with different specificity, the wiki's pets.md consolidates them and flags any conflict under a ## Conflicts heading. You get one coherent answer instead of two retrieved fragments you have to reconcile yourself.
The wiki page is what the LLM read to answer you; the source section is what's legally authoritative if you need to quote it to a board member, a neighbor, or a lawyer. Both citations let you trust-but-verify quickly.
The governing documents are the ground truth. The wiki is a derived, regenerable view. If the wiki is wrong, you fix the wiki (or the skill prompt). If the source is wrong, that's an HOA amendment β not something the LLM should ever touch.
The skills are local to this project, in plain markdown at .claude/skills/wiki-sync/SKILL.md and .claude/skills/ask/SKILL.md. Edit them directly to change behavior β e.g. tighten the citation format, add a lint mode, change how pages are categorized in index.md, or have ask log valuable Q&A back into the wiki as new pages.
| Path | Purpose | Edit by hand? |
|---|---|---|
source/*.md |
Authoritative governing documents | Yes β this is your input |
wiki/index.md |
Catalog of topic pages | No β regenerated each sync |
wiki/log.md |
Sync history | No β append-only by skill |
wiki/.manifest.json |
Source file hashes | No β managed by skill |
wiki/pages/*.md |
Topic pages with citations | Possible, but will be overwritten |
.claude/skills/*/SKILL.md |
Skill prompts | Yes β to tune behavior |
README.md |
This file | Yes |
- Drop a new or amended HOA document into
source/. - Run
/wiki-sync. New file gets ingested; unchanged files get skipped. - Run
/ask <your question>whenever you need an answer. - Periodically read
wiki/log.mdto see flagged conflicts or removed-source warnings the skill surfaced for you.