by nvk
LLM-compiled knowledge bases for any AI agent. Parallel multi-agent research, thesis-driven investigation, source ingestion, wiki compilation, querying, and artifact generation.
# Add to your Claude Code skills
git clone https://github.com/nvk/llm-wikiGuides for using ai agents skills like llm-wiki.
Last scanned: 5/20/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-20T07:42:37.067Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}██╗ ██╗ ███╗ ███╗ ██╗ ██╗██╗██╗ ██╗██╗
██║ ██║ ████╗ ████║ ██║ ██║██║██║ ██╔╝██║
██║ ██║ ██╔████╔██║ ██║ █╗ ██║██║█████╔╝ ██║
██║ ██║ ██║╚██╔╝██║ ██║███╗██║██║██╔═██╗ ██║
███████╗███████╗██║ ╚═╝ ██║ ╚███╔███╔╝██║██║ ██╗██║
╚══════╝╚══════╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝╚═╝ ╚═╝╚═╝
LLM-compiled knowledge bases for any AI agent. Parallel multi-agent research, thesis-driven investigation, source ingestion, wiki compilation, truth-seeking audits, querying, and artifact generation. Ships as a Claude Code plugin, an OpenAI Codex plugin, an OpenCode instruction file, or a portable AGENTS.md for any other LLM agent. Obsidian-compatible.
Install · Quick Start · Commands · How It Works · Research Modes · Thesis Research · Query Depths · Linking · Obsidian · Architecture · Nono Sandbox · Upgrade · Changelog · Credits
v0.9.0 — Topic archive lifecycle. Whole topic wikis can now be archived under topics/.archive/ so old interests stay preserved but out of normal context. Query, ingest, compile, research, output, inventory, datasets, projects, librarian, refresh, audit, lint, init, and routing now distinguish active material from explicitly included archived context.
v0.8.7 — iCloud permission diagnostics. When macOS lets Codex stat an iCloud hub path but denies actual reads or directory listings, the local CLI now reports the real privacy-permission problem instead of calling the registry invalid or suggesting a machine-local fallback path.
v0.8.6 — Lint repair correctness. lint --fix now repairs legacy article frontmatter, rewrites fuzzy raw source refs to exact paths when resolution is unambiguous, regenerates stale directory indexes, ignores maintenance backup indexes under .librarian/, and creates an explicit uncompiled-source coverage reference instead of leaving raw coverage gaps as endless suggestions.
v0.8.5 — Safer lint defaults. Hub-level lint now stays scoped to the shared registry instead of recursively auditing every topic by accident, and lint --fix preserves absent lazy inventory/ and datasets/ layers unless those layers already exist or the current workflow needs them.
v0.8.4 — Portable iCloud hub resolution. Shared wiki folders now survive moving between Macs with different /Users/<name>/... paths: agents prefer portable hub_path, treat legacy resolved_path values as fallback caches, resolve wikis.json paths relative to the current hub, and fall back to populated topics/<slug>/ directories when registry entries are stale or unreadable.
v0.8.0 — Inventory tracking and dataset manifests. Added first-class /wiki:inventory for durable items, candidates, entities, corpora, saved views, and opinionated migration previews, plus /wiki:dataset manifests for large or external datasets that should be indexed by the wiki without being copied into it. Lint, query, ingest, research, audit, plan, and output workflows now know how to surface inventory and dataset state while keeping raw evidence, compiled knowledge, and generated artifacts separate.
Claude Code (native plugin):
claude plugin install wiki@llm-wiki
OpenAI Codex (marketplace plugin):
Install from GitHub:
codex plugin marketplace add nvk/llm-wiki
# Then open /plugins in Codex, enable "LLM Wiki", and use @wiki
Install from a local checkout with the managed bootstrap helper:
./scripts/bootstrap-codex-plugin.sh --scope user --verify
Or register the local checkout manually:
codex plugin marketplace add /absolute/path/to/llm-wiki
Canonical explicit invocation:
@wiki research "hardware wallet threat models"
@wiki ingest https://example.com/article
@wiki audit --project coldcard-threat-model
@wiki ll "codex plugin install gotchas"
Upgrade:
codex plugin marketplace upgrade llm-wiki
Remove:
codex plugin marketplace remove llm-wiki
Troubleshooting:
/plugins in Codex and enable "LLM Wiki" — first install requires the interactive enable step.@wiki is the canonical explicit entry point in Codex. Natural-language wiki requests can still auto-activate the skill.nono, see Nono Sandbox Permissions — Codex needs r+w to $HOME/.codex for plugin install.OpenCode (instruction file):
Add to your opencode.json (project-level or ~/.config/opencode/.opencode.json for global):
{
"instructions": ["https://raw.githubusercontent.com/nvk/llm-wiki/master/plugins/llm-wiki-opencode/skills/wiki-manager/SKILL.md"],
"permission": {
"external_directory": {
"~/.config/llm-wiki/**": "allow",
"~/Library/Mobile Documents/com~apple~CloudDocs/wiki/**": "allow"
}
}
}
OpenCode fetches the URL fresh on every session start — no manual updates needed. If you prefer a local copy instead:
curl -sL https://raw.githubusercontent.com/nvk/llm-wiki/master/plugins/llm-wiki-opencode/skills/wiki-manager/SKILL.md > ~/.config/opencode/AGENTS.md
The external_directory permission is required because the wiki hub lives outside the project directory. Set the paths to match your hub location. Alternatively, use --local mode (.wiki/ in the project) to skip permissions entirely.
Web search requires export OPENCODE_ENABLE_EXA=1.
Pi (instruction file — best for local models):
Pi's minimal system prompt (~1K tokens) leaves room for the full wiki skill on 32K context local models.
pi --instructions path/to/llm-wiki/plugins/llm-wiki-opencode/skills/wiki-manager/SKILL.md
With a local llama-server backend (no cloud API needed):
OPENAI_BASE_URL=http://127.0.0.1:8080/v1 OPENAI_API_KEY=local \
pi --instructions path/to/llm-wiki/plugins/llm-wiki-opencode/skills/wiki-manager/SKILL.md
Pi uses the same OpenCode skill file — no separate packaging needed.
Any LLM Agent (idea file):
# Copy AGENTS.md into your agent's context or project root
cp AGENTS.md ~/your-project/AGENTS.md
The AGENTS.md file contains the complete wiki protocol as a single portable document — works with any LLM agent that can read/write files and search the web.
Claude Code is the principal user. Keep one shared behavior layer and thin packaging layers per runtime:
claude-plugin/ is the primary distribution target and UX surface.claude-plugin/skills/wiki-manager/ is the behavioral source of truth.plugins/llm-wiki/skills/wiki/ is the generated Codex packaging target behind @wiki.plugins/llm-wiki-opencode/ is the OpenCode and Pi packaging target..agents/plugins/marketplace.json makes the Codex plugin installable from this repo.AGENTS.md is the portable single-file protocol for any other LLM agent.Supported clients:
| Client | Install method | System prompt size | Best for |
|--------|---------------|-------------------|----------|
| Claude Code | claude plugin install wiki@llm-wiki | ~22K tokens | Full agentic research, 200K context |
| Codex | codex plugin marketplace add nvk/llm-wiki | ~3K tokens | OpenAI ecosystem |
| OpenCode | opencode.json instructions | ~3K tokens | Multi-provider, Go binary |
| Pi | --instructions SKILL.md | ~1K tokens | Local models, minimal overhead |
| Any agent | Copy AGENTS.md to project | Varies | Universal fallback |
Both runtime mirrors are generated, not hand-maintained. Rebuild from the Claude source of truth:
./scripts/sync-codex-plugin.sh # regenerates plugins/llm-wiki/
./scripts/sync-opencode-plugin.sh # regenerates plugins/llm-wiki-opencode/
Each sync script:
claude-plugin/skills/wiki-manager/SKILL.md into the target tree and reapplies a small list of runtime-specific wording patchesreferences/ from the Claude source — references are runtime-neutral and shared verbatim (previously a symlink, now a real copy so Codex marketplace caching works)agents/openai.yaml for Codex UI metadata and syncs the plugin versionDrift is caught by ./tests/test-codex-sync.sh and ./tests/test-opencode-sync.sh, which run the sync scripts and fail (with self-healing fix instructions) if the generated directories differ from HEAD.
Practical rule: design workflows first for Claude commands and behavior, but keep the underlying knowledge model and references runtime-neutral. Runtime wrappers adapt invocation and metadata, not wiki logic.
If you run any AI coding agent inside a nono sandbox, the wiki needs filesystem access beyond the default profile.
{
"extends": "claude-code",
"policy": {
"add_allow_read": [
"$HOME/.config/llm-wiki"
],
"add_allow_readwrite": [
"$HOME/Library/Mobile Documents/com~apple~CloudDocs/wiki"
]
}
}
Replace "extends": "claude-code" with "opencode" for OpenCode.
Codex needs r+w to its own $HOME/.codex directory for plugin install, marketplace cache, state, and skill registration:
{
"extends": "codex",
"policy": {
"add_allow_read": [
"$HOME/.config/llm-wiki"
],
"add_allow_readwrite": [
"$HOME/.codex",
"$HOME/Library/Mobile Documents/com~apple~CloudDocs/wiki"
]
}
}
| Path | Access | Purpose
No comments yet. Be the first to share your thoughts!