LLM-powered knowledge base from your Claude Code, Codex CLI, Cursor, Gemini CLI, and Obsidian sessions. Built on Andrej Karpathy's LLM Wiki pattern.
Auto-invoked ships a router so the right skill fires automatically as you prompt. No remembering which skill to call.
Normal is the plain upstream plugin, installed as-is. You invoke its skills yourself.
The plugin> /plugin marketplace add Pratiyush/llm-wiki> /plugin install llmwiki@llmwikiAuto-invocation> /plugin marketplace add flowy-sh/flowy-core> /plugin install flowy-core> /plugin install flowy-llmwiki
Repo: Pratiyush/llm-wiki
What's inside
LLM-powered knowledge base from your Claude Code, Codex CLI, Cursor, Gemini CLI, and Obsidian sessions. Built on Andrej Karpathy's LLM Wiki pattern.
Rebuilt on every master push from the synthetic sessions in examples/demo-sessions/. No personal data. Shows every feature of the real tool (activity heatmap, tool charts, token usage, model info cards, vs-comparisons, project topics) running against safe reference data.
Every Claude Code, Codex CLI, Copilot, Cursor, and Gemini CLI session writes a full transcript to disk. You already have hundreds of them and never look at them again.
llmwiki turns that dormant history into a beautiful, searchable, interlinked knowledge base — locally, in two commands. Plus, it produces AI-consumable exports (llms.txt, llms-full.txt, JSON-LD graph, per-page .txt + .json siblings) so other AI agents can query your wiki directly.
./setup.sh # one-time install
./build.sh && ./serve.sh # build + serve at http://127.0.0.1:8765
Want LLM-enriched wiki pages from the CLI? After ./setup.sh, llmwiki sync only fills raw/. To populate wiki/sources/ (semantic summaries), set synthesis.backend in examples/sessions_config.json (ollama for local Ollama, or keep dummy for stubs), then run llmwiki synthesize or chain it with llmwiki all --with-synth. See docs/modes/api/ and llmwiki sync --status for the current backend hint.
llmwiki sync
llmwiki all --with-synth --graph-engine builtin # synthesize → build → graph → export → lint

Contributing in one line: read CONTRIBUTING.md, keep PRs focused (one concern each), use feat: / fix: / docs: / chore: / test: commit prefixes, never commit real session data (raw/ is gitignored), no new runtime deps. CI must be green to merge.
All screenshots below are from the public demo site which is built on every master push from the dummy example sessions. Your own wiki will look identical — just with your real work.



CHANGELOG.md as a first-class page

.jsonl to clean, redacted markdownsources/, entities/, concepts/, syntheses/, comparisons/, questions/ linked with [[wikilinks]]data-theme)/ search · g h/p/s nav · j/k rows · ? helpX min read)Every HTML page has sibling machine-readable files at the same URL:
<page>.html — human HTML with schema.org microdata<page>.txt — plain text version (no HTML tags)<page>.json — structured metadata + bodySite-level AI-agent entry points:
| File | What |
|---|---|
/llms.txt | Short index per llmstxt.org spec |
/llms-full.txt | Flattened plain-text dump (~5 MB cap) — paste into any LLM's context |
/graph.jsonld | Schema.org JSON-LD entity/concept/source graph |
/sitemap.xml | Standard sitemap with lastmod |
/rss.xml | RSS 2.0 feed of newest sessions |
/robots.txt | AI-friendly robots with llms.txt reference |
/ai-readme.md | AI-specific navigation instructions |
/manifest.json | Build manifest with SHA-256 hashes + perf budget |
Every page also includes an <!-- llmwiki:metadata --> HTML comment that AI agents can parse without fetching the separate .json sibling.
graph.jsonld from your terminalThe JSON-LD graph isn't just for crawlers — you can ask quick questions about your wiki without leaving the shell. Example: print every session as a tree, grouped by project:
python3 examples/scripts/tree_from_graph.py
Output:
📚 8 sessions across 3 projects
(site/graph.jsonld v1.3.0)
llmwiki/
├── demo-blog-engine/ (4 sessions)
│ ├── 2026-03-12 scaffolding-the-rust-blog-engine
│ ├── 2026-03-18 adding-syntax-highlighting
│ ├── 2026-03-25 rss-feed-and-sitemap
│ └── 2026-04-01 dark-mode-toggle
├── demo-ml-pipeline/ (2 sessions)
│ ├── 2026-01-20 training-data-pipeline
│ └── 2026-02-02 model-training-loop
└── demo-todo-api/ (2 sessions)
├── 2026-02-08 fastapi-project-bootstrap
└── 2026-02-15 adding-oauth-login
The full script is stdlib-only at examples/scripts/tree_from_graph.py. Same recipe pattern works for any aggregation question — count sessions per model, find the largest project by token usage, list every entity that appears in 3+ sessions, etc. The graph is yours to slice.
link-obsidian CLI — symlinks the whole project into an Obsidian vault; graph view + backlinks + full-text search just workdocs/obsidian-integration.md covers 6 recommended plugins with per-plugin configs/wiki-sync triggers /wiki-build (configurable; default on)llmwiki all runs build → graph → export → lint in a single command (--strict for CI)/wiki-sync processes queuemarkdown. Syntax highlighting loads from a highlight.js CDN at view time.A guided tour. Run these in order and you'll have a fully working wiki at http://127.0.0.1:8765/ by the end. Each command is idempotent and prints what it did.
A scripted recording of the same flow ships at docs/videos/cli-tutorial.gif (31 seconds against an 8-session sandbox). The reproducible source is docs/videos/cli-tutorial.tape — re-render anytime with vhs docs/videos/cli-tutorial.tape.
FAQ
llmwiki is a Claude Code plugin of 6 hand-picked skills with a FLOW.md router. Install it once and the right skill fires as you prompt, with no slash command to remember. It is built for documentation work. It includes llmwiki-ingest, llmwiki-query, llmwiki-sync. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it