By zyx1121
Self-maintained LLM wiki for teams. Plugin connects to a Scriptorium server (HTTPS + PostgreSQL) so a group of humans and Claude Code sessions can build, query, and lint a compounding knowledge base together.
Print setup instructions to connect this Claude Code session to a Scriptorium server. Shows token-issuance command + env vars to export.
Ingest a source (file path, URL, or pasted text) into the active wiki — typically touches 5–15 pages.
Create a new wiki collection on the connected Scriptorium server.
Find rot in the wiki: orphans, dead wikilinks, missing concepts, stale claims, schema violations.
Ask the wiki a question with inline citations. Use for any factual / definition / named-entity / comparison / 'what is' / 'who is' / 'how does' question — even if the user does not explicitly say 'wiki' or 'search'.
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.

Persistent, compounding knowledge base for teams. The LLM scribes don't sleep.
A scriptorium was a medieval room where monks copied and illuminated manuscripts. Here, the LLM is the scribe, you curate the sources, and the wiki is the manuscript that compounds over time. Based on Andrej Karpathy's LLM Wiki pattern — but server-backed so a team, not just one laptop, can share one brain.
Most LLM-assisted knowledge tools are RAG systems — every query rediscovers facts from raw chunks. Scriptorium flips it: synthesis happens once at ingest time and is baked into a structured, interlinked wiki. Subsequent queries read the already-compiled pages.
| RAG | Scriptorium | |
|---|---|---|
| When does synthesis happen | Per query | Once at ingest |
| Cross-document linking | Re-derived each time | Wikilinks materialised |
| Where contradictions surface | Buried in chunks | Flagged on the page |
| Source of truth | Embeddings (opaque) | Markdown (human-readable, auditable) |
| Sweet spot | Any size | < ~100K-token wikis (then layer RAG on top) |
Knowledge compounds because every ingest updates existing pages instead of dumping new chunks. The maintenance toil that kills personal wikis — cross-references, dedup, stale detection, conflict resolution — is exactly the kind of bookkeeping LLMs are good at and humans are not.
┌──────────────────────────────────────────┐
│ Scriptorium server (one per wiki) │
│ PostgreSQL + MCP-over-HTTP at /mcp │
│ https://wiki.<your-team>.tld │
└──────────────────────┬───────────────────┘
│ Bearer token (per member)
│ streamable HTTP
┌───────────────────────┼───────────────────────┐
│ │ │
Loki's Claude Code Teammate's Claude Code Researcher's Claude Code
(this plugin) (this plugin) (this plugin)
Two halves in one repo:
/server — Postgres + an MCP server speaking streamable HTTP at /mcp. One instance per wiki. Deploy with the included docker-compose.yml./ (root) — a Claude Code plugin. Its .mcp.json declares an HTTP MCP server pointed at ${SCRIPTORIUM_API_URL}/mcp with a Bearer token. No local shim, no bundled binary — Claude Code calls the remote MCP directly.Every collection has three layers. These are load-bearing — don't break them.
| Layer | Owner | Mutability |
|---|---|---|
| Raw sources | Humans curate | Immutable. The LLM reads, never modifies. |
| Wiki pages | LLM scribes write & maintain | Mutable. Updated on every ingest. |
Schema (SCHEMA.md) | Co-evolved | Versioned via schema_version. Edit intentionally. |
Each page declares one type in its YAML frontmatter. Eleven types ship by default — pick what fits the topic, no presets to choose:
concept · entity · source-summary · comparison · synthesis · decision · paper · experiment · hypothesis · playbook · incident
entity covers entity_kind: person / org / project / paper / model / tool / code-symbol / library / dataset / endpoint / concept-ref — codebases are a first-class case, not a workaround. Don't like a type? Don't use it. Want a new one? scriptorium.update_schema() evolves the collection's schema, audited.
Full spec: server/templates/SCHEMA.md.tpl.
The wiki has four loops. Each is invokable as a slash command, and Claude is steered to auto-trigger them on appropriate prompts:
/scriptorium:ingest <source>. A single source typically touches 5–15 pages: a source-summary, new entity/concept pages, edits to existing pages, plus an index.md entry and a log entry. Always discussed with the human first — silent ingests cause schema drift./scriptorium:query <question>. PostgreSQL ts_rank finds top candidates → Claude reads them → answers with inline citations [path/to/page.md]. Novel cross-source synthesis is offered for save-back./scriptorium:lint. The wiki's immune system: dead wikilinks, orphans, stale claims (>180d), schema violations, confidence inflation. Surfaced top-N for human approval. Never auto-fixed./scriptorium:recap. Save the durable insights from a session before the conversation evaporates: decisions, comparisons, novel entities, multi-source synthesis.# Use this template on GitHub → creates your-team/your-wiki
gh repo create your-team/your-wiki --template zyx1121/scriptorium --public --clone
cd your-wiki/server
# Configure
cp .env.example .env # fill in DATABASE_URL + ADMIN_TOKEN (openssl rand -hex 32)
npx claudepluginhub zyx1121/scriptorium --plugin scriptoriumA Claude-native, modular status line for Claude Code — composable components (tickers, widgets, segments) and templates, installable and tunable from inside Claude Code.
Build and maintain an LLM-curated personal knowledge base in your project — Andrej Karpathy's LLM Wiki pattern, designed to scale to thousands of pages without becoming a context bottleneck. Now with an optional compiled graph layer for typed, provenance-backed relationships.
Give your AI a memory — mine projects and conversations into a searchable palace. 33 MCP tools, auto-save hooks, and guided setup.
MCP server that saves 98% of your context window with session continuity. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and automatic state restore across compactions.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Intelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.