Help us improve
Share bugs, ideas, or general feedback.
From wiki
Manages LLM-compiled knowledge bases in .wiki/ or ~/wiki/: ingests sources to raw/, compiles interconnected markdown articles with indexes, queries, lints, and supports topic sub-wikis.
npx claudepluginhub nvk/llm-wiki --plugin wikiHow this skill is triggered — by the user, by Claude, or both
Slash command
/wiki:wiki-managerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You manage an LLM-compiled knowledge base. Source documents are ingested into `raw/`, then incrementally compiled into a wiki of interconnected markdown articles. Claude Code is both the compiler and the query engine — no Obsidian, no external tools.
Use when compiling raw sources into the wiki, querying the knowledge base, running health checks or lint on the wiki, evolving or improving wiki coverage, or when user says 'compile', 'update the wiki', 'query', 'lint', 'health check', 'evolve', 'what's missing', or 'suggest improvements'. Also triggers on questions that should be answered from the knowledge base.
Share bugs, ideas, or general feedback.
You manage an LLM-compiled knowledge base. Source documents are ingested into raw/, then incrementally compiled into a wiki of interconnected markdown articles. Claude Code is both the compiler and the query engine — no Obsidian, no external tools.
Topic sub-wikis are the default. The global ~/wiki/ is a hub — content lives in ~/wiki/topics/<name>/. Each topic gets isolated indexes, sources, and articles. This keeps queries focused and prevents unrelated topics from polluting each other's search space.
Resolution order:
--local flag → .wiki/ in current project--wiki <name> flag → named wiki from ~/wiki/wikis.json.wiki/ → use it~/wiki/ (the hub)When a command targets the hub and the hub has no content, suggest creating a topic sub-wiki instead.
See references/wiki-structure.md for the complete directory layout and all file format conventions.
Indexes are navigation. Always read _index.md files first. They contain summaries, tags, and file lists. Never scan directories blindly. Keep indexes current — they are the backbone.
Raw is immutable. Once ingested into raw/, sources are never modified. They are a record of what was ingested and when. All synthesis happens in wiki/.
Articles are synthesized, not copied. A wiki article draws from multiple sources, contextualizes, and connects to other concepts. Think textbook, not clipboard.
Dual-linking for Obsidian + Claude. Cross-references use both [[wikilink]] (for Obsidian graph view) and standard markdown [text](path) (for Claude navigation) on the same line: [[slug|Name]] ([Name](../category/slug.md)). Bidirectional when it makes sense.
Frontmatter is structured data. Every .md file has YAML frontmatter with title, summary, tags, dates. This makes the wiki searchable without full-text scans.
Incremental over wholesale. Compilation processes only new sources by default. Full recompilation is expensive and explicit (--full).
Honest gaps. When answering questions, if the wiki doesn't have the answer, say so. Never hallucinate. Suggest what to ingest to fill the gap.
Multi-wiki awareness. When querying, answer from the primary wiki first. Then peek at sibling wiki indexes (via ~/wiki/wikis.json) for relevant overlap. Flag connections but never merge content across wikis.
When this skill activates outside of an explicit /wiki:* command:
~/wiki/_index.md or .wiki/_index.md exists_index.md to assess if the wiki might cover the user's question/wiki:ingest"_index.md — do not read full articles unless the user asksSee references/ingestion.md.
Flow: Source (URL/file/text/tweet/inbox) → fetch/read → extract metadata → write to raw/{type}/ → update indexes → suggest compile if many uncompiled.
See references/compilation.md. Flow: Survey uncompiled sources → plan articles → classify (concept/topic/reference) → write/update articles with cross-references → update all indexes.
Flow: Read _index.md → identify relevant articles by summary/tag → read articles → follow See Also links → Grep for additional matches → synthesize answer with citations → note gaps → peek sibling wikis.
See references/linting.md. Flow: Check structure → indexes → links → content → coverage → report → optionally auto-fix.
Flow: Scan indexes for summary/tag matches → Grep full-text → rank results → present.
Flow: Gather relevant articles → generate artifact (summary/report/slides/etc) → save to output/ → update indexes.
Every wiki operation appends to log.md in the wiki root. Format: ## [YYYY-MM-DD] operation | Description. See references/wiki-structure.md for full format. Never edit or delete existing log entries — append only.
Wiki articles include a confidence field in frontmatter: high, medium, or low.
When answering queries, note confidence levels. When linting, flag low confidence articles for review.
Track uncompiled sources by comparing raw/_index.md ingestion dates against the last compile date in _index.md. If 5+ uncompiled sources exist after an ingestion, suggest: "You have N uncompiled sources. Run /wiki:compile to integrate them."
Automatically run a quick structural check when any of these triggers occur:
_index.md)Hub integrity: The hub (~/wiki/) should ONLY contain wikis.json, _index.md, log.md, and topics/. If raw/, wiki/, output/, inbox/, or config.md exist at the hub level → delete them (they are traps for misplaced content).
Index freshness: For the active topic wiki, compare actual file count in wiki/concepts/, wiki/topics/, wiki/references/ against the rows in their _index.md. If mismatched → auto-fix by adding missing entries or removing dead ones.
Orphan detection: Check if any .md files exist in wiki directories but are not listed in any _index.md. If found → add them to the index.
Missing directories: Verify all expected subdirectories exist in the topic wiki (raw/articles/, raw/papers/, etc.). If missing → create them with empty _index.md.
wikis.json sync: Check that all topic sub-wikis under ~/wiki/topics/ are registered in wikis.json. If a directory exists but isn't registered → add it. If registered but directory is missing → remove the entry.
Log existence: Verify log.md exists in the active wiki and at the hub. If missing → create it.
/wiki:lint --fix.When a --min-time research or thesis session is active, the wiki root contains a .research-session.json or .thesis-session.json file.
Structural Guardian behavior:
status: "in_progress" and start_time > 7 days ago → warn: "Stale research session found. Clean up with /wiki:research or delete manually."