Persistent memory vault for Claude Code. Markdown-based, session-aware, compaction-resilient.
Extract wiki-worthy knowledge from unprocessed session manifests
Ingest a source (file, URL, or pasted text) into the KB vault
Lint the KB vault — orphans, dead links, stale content, contradictions
Query the KB vault and synthesize an answer from wiki pages
Refine the KB vault — stale pages, weak connections, merges, backlinks
Extract wiki-worthy knowledge from unprocessed session manifests. Sessions are sources — extraction runs the normal ingest workflow.
Persistent memory vault for Claude Code. Teaches ingest, query, and lint workflows for a markdown-based knowledge vault using Obsidian-flavored markdown.
Systematic vault refinement — find stale pages, weak connections, merge/split candidates, and backlink gaps. Interactive, user-approved.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A persistent memory plugin for Claude Code. Markdown vault maintained by your agent across sessions. Based on Karpathy's LLM Wiki pattern.
wiki/) from untrusted
content (raw/, sessions/), with sanctioned CLI commands for each tierRequires Bun — the CLI and hooks run TypeScript directly.
bunx @beaudry/kb init
Scaffolds ~/kb with the vault structure. init does not touch Claude Code
configuration — hooks ship with the KB plugin:
claude plugin marketplace add JustinBeaudry/kb
claude plugin install kb@kb
Safe to run init again — idempotent.
bunx @beaudry/kb init --vault-path /path/to/vault
Create a .kb file in your project root containing the vault path:
/path/to/project/vault
Give Claude any source — file path, URL, pasted text, or conversation context:
"Ingest this article on dependency injection"
Claude reads source, copies files to raw/ for provenance, presents
takeaways for confirmation, writes wiki pages, cascades updates to related
pages, updates index and log. Single ingest typically touches 5-15 pages.
Ask Claude anything your vault might know:
"What decisions did we make about the auth system?"
Claude checks index, follows wikilinks, answers with citations. Novel insights get filed as new wiki pages automatically.
Ask Claude to check vault health:
"Lint the vault"
Reports orphan pages, dead links, missing frontmatter, stale content, missing types, and contradictions.
Ask Claude to improve vault structure:
"Refine the vault"
Finds stale pages, under-connected pages, merge/split candidates, and backlink gaps. Presents findings for approval, then applies changes. Shows vault health before and after.
Extract knowledge from session manifests into wiki pages:
"Extract from sessions"
Sessions are sources. Claude enumerates unprocessed manifests with
kb sessions --unprocessed, generates cached summaries with kb summarize,
retrieves them through the ask-gated kb read-session, runs the standard
ingest workflow on confirmed items, and marks finished manifests with
kb mark-extracted. Summaries require the claude CLI (or a
KB_SUMMARIZE_COMMAND equivalent) — without one, kb summarize exits
nonzero and extraction cannot proceed.
Toggle session-start nudge: /kb:extract on or /kb:extract off.
| Command | What it does |
|---|---|
kb init | Scaffold the vault (does not register hooks) |
kb doctor | Check vault health, hook wiring, and inject-budget pressure |
kb uninstall | Print plugin-removal instructions; vault is preserved |
kb map [query] | Budget-bounded structural map of the wiki — node summaries for navigation |
kb get-node <id> | Fetch a page or section by node ID (--neighbors, --follow-wikilinks <n>) |
kb recall <query> | Search curated pages, return evidence envelope |
kb get <page> | Fetch a curated page by name |
kb list-topics | List index topics |
kb read-raw <file> | Ask-gated bounded read from raw/ |
kb read-session <file> | Ask-gated bounded read from sessions/ (incl. summaries/) |
kb sessions [--unprocessed] | List session manifest names — never content |
kb mark-extracted <file> | Mark a manifest as extracted |
kb capture-session | Write a session manifest (used by the Stop hook) |
kb summarize <manifest> | Generate or reuse a cached session summary |
kb summaries pin|unpin | Pin or unpin a cached summary |
All commands accept --vault-path <dir> (alias -p <dir>) to target a vault explicitly, overriding KB_VAULT and per-project .kb files.
Vault content is two-tier:
wiki/, index.md, context.md) — trusted, retrieved via
kb recall, kb get, kb list-topics.raw/, sessions/) — provenance and machine-generated
content, readable only through the ask-gated kb read-raw /
kb read-session (bounded excerpts, explicit --approve or KB_APPROVE=1
in non-interactive use).npx claudepluginhub justinbeaudry/kb --plugin kbMulti-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Memory compression system for Claude Code - persist context across sessions
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Create and edit Obsidian vault files including Markdown, Bases, and Canvas. Use when working with .md, .base, or .canvas files in an Obsidian vault.