LLM Wiki Knowledge Graph
Egonex-AI/Understand-Anything
Detects a Karpathy-pattern LLM wiki and builds an interactive knowledge graph with entities, implicit relationships and topic clusters.
Manage LLM-compiled wikis: initialize, ingest/import, compile/query, research/audit, collect catalogs, track inventory/datasets/Ideas, review Idea/Project portfolios, manage…
$ npx skills add nvk/llm-wiki --skill wiki-manager -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nvk/llm-wiki wiki-manager --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nvk/llm-wiki.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude-plugin/skills/wiki-manager .claude/skills/wiki-manager && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "wiki-manager" agent skill from https://github.com/nvk/llm-wiki/tree/master/claude-plugin/skills/wiki-manager into .claude/skills/wiki-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-manager", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nvk/llm-wiki/tree/master/claude-plugin/skills/wiki-managerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nvk/llm-wiki --skill wiki-manager -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nvk/llm-wiki wiki-manager --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nvk/llm-wiki.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude-plugin/skills/wiki-manager .agents/skills/wiki-manager && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wiki-manager" agent skill from https://github.com/nvk/llm-wiki/tree/master/claude-plugin/skills/wiki-manager into .agents/skills/wiki-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-manager", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nvk/llm-wiki --skill wiki-manager -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nvk/llm-wiki wiki-manager --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nvk/llm-wiki.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude-plugin/skills/wiki-manager .cursor/skills/wiki-manager && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wiki-manager" agent skill from https://github.com/nvk/llm-wiki/tree/master/claude-plugin/skills/wiki-manager into .cursor/skills/wiki-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-manager", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nvk/llm-wiki.git --path claude-plugin/skills/wiki-manager--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nvk/llm-wiki --skill wiki-manager -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nvk/llm-wiki wiki-manager --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nvk/llm-wiki.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude-plugin/skills/wiki-manager .gemini/skills/wiki-manager && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wiki-manager" agent skill from https://github.com/nvk/llm-wiki/tree/master/claude-plugin/skills/wiki-manager into .gemini/skills/wiki-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-manager", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nvk/llm-wiki wiki-managerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nvk/llm-wiki --skill wiki-manager -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nvk/llm-wiki.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude-plugin/skills/wiki-manager .github/skills/wiki-manager && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wiki-manager" agent skill from https://github.com/nvk/llm-wiki/tree/master/claude-plugin/skills/wiki-manager into .github/skills/wiki-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-manager", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nvk/llm-wiki --skill wiki-manager -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nvk/llm-wiki wiki-manager --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nvk/llm-wiki.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude-plugin/skills/wiki-manager .opencode/skills/wiki-manager && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wiki-manager" agent skill from https://github.com/nvk/llm-wiki/tree/master/claude-plugin/skills/wiki-manager into .opencode/skills/wiki-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-manager", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wiki-managerManage LLM-compiled wikis: initialize, ingest/import, compile/query, research/audit, collect catalogs, track inventory/datasets/Ideas, review Idea/Project portfolios, manage…
Wiki Manager is an agent skill from nvk/llm-wiki. Manage LLM-compiled wikis: initialize, ingest/import, compile/query, research/audit, collect catalogs, track inventory/datasets/Ideas, review Idea/Project portfolios, manage archives/sessions/feedback, and generate outputs. Activates for /wiki commands; wiki or knowledge-base work; ingest, collect, catalog, compile, query, audit, librarian, inventory, idea, portfolio, business ideas, projects, datasets, archives, sessions, feedback, checkpoints, private adapters, adapter routing, explicit wiki skill-factory…
Its SKILL.md is about 6.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files, including reference files (for example `references/adapters.md`, `references/archive.md` and `references/audit.md`).
It sits in Knowledge Management, covering LLM wikis and Knowledge bases. The repository describes itself as: LLM-compiled knowledge bases for any AI agent. Parallel multi-agent research, thesis-driven investigation, source ingestion, wiki compilation, querying, and artifact generation. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 95a042c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Wiki Manager loads about 6.9k tokens when it runs, and up to ~70k if it reads all its reference files. Until then it costs about 191 tokens; SKILL.md has 3,436 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nvk/llm-wiki at commit 95a042c, republished under its MIT licence (© nvk). 3,436 words, ~6,914 tokens.
.claude/skills/wiki-manager/SKILL.md (or your agent's skills folder). This skill also uses 22 other files; get the full folder from GitHub.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.
Resolution: At the start of every operation, resolve HUB by reading ~/.config/llm-wiki/config.json first. Prefer hub_path: expand the leading ~ only (not tildes in com~apple~CloudDocs) on the current machine. Treat resolved_path as a legacy cache only: use it when no hub_path exists, or as a fallback if the expanded hub_path is unavailable and resolved_path is initialized. Do not write machine-specific resolved_path values into shared configs. If no config file exists, try ~/wiki/_index.md as a fallback. If stat/existence checks succeed but reading wikis.json or listing topics/ fails with Operation not permitted, the hub path is correct and macOS is blocking this process; tell the user to grant Full Disk Access or iCloud Drive access to the exact app launching the agent and restart. Do not switch to ~/wiki or resolved_path for that error. See references/hub-resolution.md for the full protocol.
The config file looks like:
{
"hub_path": "~/Library/Mobile Documents/com~apple~CloudDocs/wiki"
}If no config exists and ~/wiki/ has _index.md, that works too. But config is checked first — in sandboxed environments ~/wiki/ may not be accessible. All references to ~/wiki/ below mean HUB.
Topic sub-wikis are the default. HUB is a hub — content lives in HUB/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.
For collection families that will grow across subjects, prefer kind-first topic
slugs such as memes-bitcoin, memes-ethereum, tools-bitcoin, or
examples-seedqr. Use subject-first slugs when the subject is the primary
research area and the collection is only one artifact within that topic.
Resolution order:
--local flag → .wiki/ in current project--wiki <name> flag → named wiki from HUB/wikis.json; resolve registry paths as <HUB>, ~, absolute, or relative to HUB, and fall back to HUB/topics/<name> if a registry path is stale.wiki/ → use itWhen 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 a derived cache. The .md files and their YAML frontmatter are the source of truth. _index.md files are a cached view rebuilt on read when stale. Always read indexes first for navigation — but before trusting one, stale-check it (file count vs row count). See references/indexing.md for the Derived Index Protocol.
Raw is immutable. Normal workflows never modify ingested sources. Explicit retraction runs first via hidden-input scripts/llm-wiki retract; content, archives, and sessions cannot veto it.
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 HUB/wikis.json) for relevant overlap. Flag connections but never merge content across wikis.
Chunk large writes. Never create files longer than ~200 lines in a single Write call — the API stream idles during large generations, causing timeout errors. Write the skeleton (frontmatter + headers + first section) first, then use sequential Edit calls to append remaining sections. For plans, articles, and raw notes: write one section per tool call.
Archive is quiet preservation. Archived topic wikis live under
HUB/topics/.archive/<slug>/ and are hidden from normal semantic workflows.
They remain structurally maintainable through explicit archive/lint operations.
Deep queries may surface archived index matches separately, but archived content
must not influence new synthesis unless the user explicitly includes it.
Session capture is operational memory. Harness session digests live in
HUB/.sessions/ or .wiki/.sessions/, not in topic raw/ by default.
Automated hooks may capture redacted checkpoints, but promotion into topic wikis
is explicit and user-directed.
Feedback is candidate memory. User corrections, preferences, approvals,
and plan-acceptance signals may be captured as redacted candidates under
HUB/.sessions/feedback/, but generic acknowledgements are ignored and durable
wiki promotion remains explicit.
Private adapters are a content-free external execution plane. Their
machine-local registry lives under ~/.config/llm-wiki/, not in the hub.
Adapter repositories contain tool code only; real inputs and all runtime
outputs remain in separately controlled external data planes. Only reviewed
wiki-safe candidates may enter the wiki through normal provenance and
compilation workflows. See
references/adapters.md.
Specialists are bounded methods, not credentials. Personal,
instruction-only specialist packages live locally under HUB/.skills/ and are
enabled per active topic. Loading one never grants tools, write access, professional
authority, or permission to spawn agents. Select the minimum useful method,
preserve disagreement, and record its version/hash. See
references/specialists.md.
Project checkpoints need comprehensive coverage and a privacy seal. See references/checkpoints.md.
For an action plus URL, run adapter route --intent <effect> --resource <url> --json before ingestion or generic tool advice, even when the user did not say
"wiki." On a match, read its adapter-owned guide; provider steps live there. A
URL alone is not write authorization. See
references/adapters.md.
Explicit wiki skill-factory <request> selects the registered named adapter;
do not invent a URL route. Run show/doctor and read its guide. It never
activates ambiently, and its external candidates remain disabled; installation,
topic enablement, commit, and publication are separate actions.
When this skill activates outside of an explicit /wiki:* command:
HUB/_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 asks. Skip archived sibling wikis by default; in deep mode, archived index matches may be reported separately.When giving any boot, resume, or "where you left off" briefing, start with the
active wiki identity: <wiki-name> booted from <wiki-root-path>. Prefer the
config.md title; for local .wiki/ projects, fall back to the parent
directory name; for HUB/topics/<slug>/, fall back to the slug. Include this
line even when there is nothing in flight to resume.
If the user asks whether they can trust a wiki artifact, requests an audit, mentions provenance or drift, or asks for content verification beyond a normal query, use the Audit workflow instead of treating it as plain Q&A.
See 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/ingestion.md § Collection Ingestion.
Flow: structured upstream collection (Git repo, BIP-style proposal set, MediaWiki dump/API) → upstream item inventory → write a raw/repos/ manifest plus immutable child sources → rebuild raw indexes → optionally compile synthesized clusters. Use /wiki:ingest-collection for bulk imports; never recursively crawl HTML.
See references/adapters.md.
Flow: explicitly register an existing local adapter checkout → declare read and
write roots → verify the manifest hash and describe handshake → execute a v1
JSON request through the bundled deterministic CLI → verify artifact paths and
hashes → leave all outputs external → optionally review only wiki-safe
candidates and promote the smallest useful evidence through normal wiki writes.
If the guide offers an agent-started interactive authorization helper, launch
it yourself and present only its short local handoff link rather than a long
terminal command or provider URL. Never clone, install, update, publish, or
auto-promote an adapter.
See references/specialists.md.
Flow: maintain user-owned instruction-only SKILL.md methods under
HUB/.skills/ → validate structure and safety boundaries → explicitly enable
stable names per active topic → select zero to three by task features, normally
one → give selected methods the same bounded evidence packet → verify and
synthesize by evidence strength → record name, version, and content hash. Use
/wiki:specialist suggest for an index-first candidate scan and
/wiki:specialist apply for a bounded review. Do not treat titles such as CFO,
doctor, MBA, or PhD as credentials or capability upgrades.
See references/inventory.md.
Flow: Run an inventory fit check → track durable wiki-adjacent things (items, Ideas, ingest candidates, entities, corpora, questions, tasks, watch items) as markdown records under inventory/ → answer list requests from indexes/frontmatter as compact chat tables or bullets → optionally save derived views under inventory/views/ → optionally convert legacy queue-like outputs through explicit dry-run-first migration. Inventory migration is additive and human-gated. Be explicit when something is too small for inventory, too large and should be a dataset/collection, or outside wiki scope.
See references/ideas.md.
Flow: capture in inventory/ideas/ → research/shape → require approval →
freeze BRIEF.md and promote. The Idea keeps lineage; the Project owns delivery.
See references/portfolio.md.
Flow: read active Idea indexes and Project WHY.md files → cross-link only
explicit lineage → render separate read-only tables without copying records.
See references/inventory.md and
references/research-infrastructure.md.
Flow: Scope a bounded catalog request → infer scale and media policy → search
for candidate artifacts, examples, resources, entities, tools, media, or memes
→ fetch only promising context pages → deduplicate aliases/reposts/rehosts →
record found_in_context provenance and media metadata → save a
type: collection output under output/collect-<slug>-YYYY-MM-DD.md →
optionally create inventory records when the list is small and durable enough,
or one corpus record when it is medium/large. Collect outputs are useful to the
LLM as a staging layer before promotion into raw/, wiki/, inventory, or
datasets; they do not replace raw sources for factual claims. Download and
hash bounded public binary media into output/assets/collect-<slug>/ by
default for media-bearing collections, never store binaries in raw/, and use
defensive download settings: timeouts, file-size caps, content-type checks, and
IPv4 retry (curl -4) when media hosts hang on IPv6. Do not pretend that "all"
means exhaustive beyond the stated strategy and limit.
See references/datasets.md.
Flow: Keep large or external datasets out of the wiki while indexing them through datasets/<slug>/MANIFEST.md → store locations, schema notes, small samples, profiles, and query recipes → answer list requests from datasets/_index.md plus manifest frontmatter only → optionally convert legacy dataset outputs through explicit dry-run-first migration. Dataset migration is additive and never copies the underlying data into the wiki.
See references/archive.md.
Flow: Move whole topic wikis from HUB/topics/<slug>/ to
HUB/topics/.archive/<slug>/ → mark wikis.json with status: archived →
hide them from normal query/compile/research/collect/output/maintenance context →
restore by moving the folder back and setting status: active. Do not archive
individual raw sources or compiled articles in v1.
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 active sibling wikis. Supports --resume to reload context after a session break — reads session files, recent log entries, wiki stats, and last-updated articles to produce a "where you left off" briefing. Deep queries may peek archived sibling indexes in a separate Archived Matches section; full archived reads require explicit user intent.
See references/linting.md.
Flow: Check structure → indexes → links → content → coverage → report → optionally auto-fix. Default lint keeps active material healthy and reports archived topics as skipped. Use --include-archived or --archived-only for explicit archived structural maintenance.
See references/librarian.md.
Flow: Scan the active topic's compiled wiki/ layer → score staleness, quality,
source-chain integrity, and link health → write .librarian/scan-results.json
and .librarian/REPORT.md → recommend ranked next actions. Optional
--passes conventions (or legacy schema) may write a proposal output for
topic-guide improvements. Topic guides are default for new topic wikis; older
wikis can adopt one with llm-wiki schema adopt or llm-wiki lint --fix. Librarian
must not rewrite schema.md without explicit user acceptance.
Librarian is the article-health advisor; it does not replace lint's structural
checks or audit's broader trust review.
See references/audit.md.
Flow: Run or reuse the librarian pass → inspect artifact dependency chains across output/, wiki/, and raw/ → escalate with fresh source checks and targeted research until trust verdicts converge → write .audit/REPORT.md.
Flow: Scan indexes for summary/tag matches → Grep full-text → rank results → present.
Inventory is first-class operational state, not a silo. Other workflows should notice it without treating it as factual evidence:
See references/sessions.md.
Flow: Opt in with session enable → harness hooks append redacted events under
HUB/.sessions/queue/ → session state and markdown digests update at tool-count,
compaction, stop/session-end, or manual checkpoints → session rehydrate returns
a compact context block → session promote explicitly copies the distilled
digest into a topic raw/notes/ note. Automated capture is allowed; automated
promotion is not.
See references/feedback.md.
Flow: trusted user-prompt hooks or feedback capture classify high-signal user
corrections, preferences, approvals, and plan-acceptance turns → append redacted
candidates under HUB/.sessions/feedback/ → feedback list/show review them →
feedback promote explicitly writes selected candidates into topic raw/notes/.
Ignore generic acknowledgements unless manually captured.
Flow: Gather relevant articles → generate artifact (summary/report/slides/etc) → save to output/ → update indexes.
Flow: Scan session for error→fix patterns, corrections, discoveries → extract structured lessons → write to raw/notes/ with type: lessons-learned → optionally update relevant articles → optionally suggest CLAUDE.md rules.
Terminal links break when they wrap to a second line. Rules for all wiki operations:
~, HUB, and all relative segments. Relative paths are not clickable.[short text](url), never bare long URLs that wrap and break.Saved to:
/Users/name/wiki/topics/my-topic/output/report-2026-04-08.mdSee references/research-infrastructure.md § Agent Prompt Templates for examples. Applies to ingest, compile, collect, research, output, assess.
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 except during an explicit user-directed retraction with --remove-from-logs.
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)commands/wiki.md § "If no wiki exists".Hub integrity: The hub (HUB) should ONLY contain wikis.json, _index.md, log.md, topics/, and optional .sessions/ and .skills/. Validate .skills/ against the instruction-only package and active-topic allowlist contract. If raw/, wiki/, inventory/, datasets/, output/, inbox/, or config.md exist at the hub level → warn, do not delete. These may hold user data from an older wiki layout. Suggest /wiki:lint --fix, which will move contents to the appropriate topic wiki, repair archive registry drift, or quarantine to inbox/.unknown/ per C11/C12/C16/C17/C19 in references/linting.md.
Index freshness: For the active topic wiki, compare actual file counts in raw/, wiki/, inventory/, and datasets/ subdirectories against the rows in their _index.md. Ignore maintenance/report areas such as .librarian/ and .audit/. If mismatched → auto-fix by regenerating the affected directory index from frontmatter and removing dead entries.
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 and legacy metadata: Verify core topic wiki subdirectories exist (raw/articles/, raw/papers/, wiki/concepts/, wiki/references/, output/, etc.). If missing → create them with empty _index.md. Treat inventory/ and datasets/ as lazy optional layers: repair their indexes if they already exist, but do not create completely absent optional trees unless the current inventory or dataset workflow needs them. For older compiled articles, lint --fix may infer category, summary, dates, and volatility from the file location and existing body/frontmatter, and may rewrite fuzzy raw-source refs to exact raw/...md paths when the match is unambiguous.
wikis.json sync: Check that all topic sub-wikis under HUB/topics/ are registered in wikis.json. Store hub-owned topic paths as portable relative paths (topics/<slug>), not /Users/<name>/... absolute paths. If a directory exists but isn't registered → add it. If a registered path is stale but HUB/topics/<name> exists → repair the path. If registered but no matching directory exists → remove the entry.
Archived topic sub-wikis under HUB/topics/.archive/ should be registered
with path: topics/.archive/<slug> and status: archived. Do not include
them in active status/query/compile defaults.
Log existence: Verify log.md exists in the active wiki and at the hub. If missing → create it.
/wiki:lint --fix.Multiple Claude Code sessions can safely read and write to the same wiki simultaneously. No locks are needed.
See references/indexing.md for the Derived Index Protocol.
When a --min-time research or thesis session is active, the wiki root contains a .research-session.json or .thesis-session.json file.
Durable provenance should also live in the wiki root:
.session-events.jsonl — append-only event log for replayable history.session-checkpoint.json — latest compact summary for resume briefings and auditsThe session registry files are ephemeral crash-recovery state. The event log and checkpoint are the durable provenance trail.
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.".session-events.jsonl and .session-checkpoint.json should normally be preserved after completion so /wiki:audit can classify provenance as replayable instead of partialAutomated Codex/Claude/OpenCode/Gemini session capture uses HUB/.sessions/
(or .wiki/.sessions/ for local wikis). This is a hidden operational layer for
redacted hook events, state JSON, derived indexes, and markdown session digests.
It is not topic evidence until explicitly promoted.
See references/sessions.md for the storage layout, config modes, hook adapter
contract, rehydration behavior, and promotion rules.
© nvk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 22 other files (references) in claude-plugin/skills/wiki-manager of nvk/llm-wiki.
Open the folder on GitHubat commit 95a042c
Wiki Manager next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Wiki Manager this skillnvk/llm-wiki | 1.4k | — | ~6.9k | Automated safety check: Pass | MIT | |
| LLM Wiki Knowledge GraphEgonex-AI/Understand-Anything | 86k | 1 repos | ~1.5k | Automated safety check: Pass | MIT | |
| LLM Wikilewislulu/llm-wiki-skill | 655 | — | ~3.7k | Automated safety check: Pass | None | |
| Wiki Builderrohitg00/pro-workflow | 2.9k | — | ~1k | Automated safety check: Pass | None | |
| Arkon Editnduckmink/arkon | 1.5k | — | ~1.6k | Automated safety check: Pass | Custom licence | |
| Research Wiki Builderdair-ai/dair-academy-plugins | 614 | — | ~1.3k | Automated safety check: Pass | MIT |
Egonex-AI/Understand-Anything
Detects a Karpathy-pattern LLM wiki and builds an interactive knowledge graph with entities, implicit relationships and topic clusters.
lewislulu/llm-wiki-skill
Build and maintain a Karpathy-style LLM knowledge base — a self-compiling Obsidian markdown wiki where an Agent ingests raw sources, compiles cross-linked concept/entity/summary pages, answers…
rohitg00/pro-workflow
Start, structure, and grow a persistent research wiki indexed in pro-workflow's SQLite knowledge base.
nduckmink/arkon
Propose or directly apply edits to Arkon wiki pages, including proposing brand new pages.
dair-ai/dair-academy-plugins
Creates and maintains configurable research wikis: scaffold a folder, add sources, compile pages and indexes, and file query answers back.
nduckmink/arkon
Answer questions using the Arkon knowledge base. An agent skill from nduckmink/arkon.
nvk/llm-wiki
Fast, read-only, index-first queries over an llm-wiki with bounded file reads, exact citations, and honest evidence gaps.
Categories
Manage LLM-compiled wikis: initialize, ingest/import, compile/query, research/audit, collect catalogs, track inventory/datasets/Ideas, review Idea/Project portfolios, manage…. Wiki Manager is an agent skill from nvk/llm-wiki. Manage LLM-compiled wikis: initialize, ingest/import, compile/query, research/audit, collect catalogs, track inventory/datasets/Ideas, review Idea/Project portfolios, manage archives/sessions/feedback, and generate outputs.
Wiki Manager fits situations like: tasks that involve LLM wikis; tasks that involve Knowledge bases.
Run `npx skills add nvk/llm-wiki --skill wiki-manager -a claude-code`. Or copy the skill folder (claude-plugin/skills/wiki-manager in nvk/llm-wiki) into .claude/skills/wiki-manager in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nvk/llm-wiki --skill wiki-manager -a codex`. Or copy the skill folder (claude-plugin/skills/wiki-manager in nvk/llm-wiki) into .agents/skills/wiki-manager in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nvk/llm-wiki --skill wiki-manager -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wiki-manager, .gemini/skills/wiki-manager, .github/skills/wiki-manager and .opencode/skills/wiki-manager in your project.
Going by SKILL.md and its folder, Wiki Manager needs the command-line tools its instructions call (curl).
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Wiki Manager is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.9k tokens (SKILL.md is roughly 28k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 63k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Wiki Manager: LLM Wiki Knowledge Graph (Egonex-AI/Understand-Anything, 86k stars), LLM Wiki (lewislulu/llm-wiki-skill, 655 stars), Wiki Builder (rohitg00/pro-workflow, 2.9k stars) and Arkon Edit (nduckmink/arkon, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nvk (a GitHub user) maintains it in nvk/llm-wiki, which has 1,394 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 2, 2026.
Source: nvk/llm-wiki on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.