By xiaolai
Turn AI sessions into a maintained, inspectable canon. Capture each session to append-only logbooks, compile them into a consistency-checked knowledge base (cabinets) gated by a human review tier, and render it as a navigable offline gazette (built by the bundled press). Karpathy LLM-wiki pattern + session provenance. Self-contained — no separate install.
Distil minutes into consistency-checked dossiers (the canon), with provenance back to each session.
Manage bureau's crew — list, enable, or author specialized agents that work the canon.
Write the rich minute for the current session (intent, decisions, changes, open threads).
Scaffold a bureau workspace (cabinets + logbook) in the current repo and wire the press.
Build the gazette (the offline gazette) with the bundled press, and open it for inspection.
Orientation for the bureau plugin — the records-office model, the capture → compile → review gate, the trust tiers, the crew, and which bureau: command serves which intent. Read this FIRST before using any bureau: command, or whenever working in a repo that has a bureau workspace (a canon/ directory + a BUREAU.md), so you draw on the project's canon instead of re-deriving or guessing.
Sweep the dossiers for semantic inconsistencies that the press's structural check cannot see — free-text contradictions, superseded claims, undocumented gaps, and vocabulary drift. Use when running bureau:lint, before a milestone, or when the user asks to check the canon for contradictions / consistency / drift.
Answer from the bureau canon with citations and trust tiers — read dossiers as memory, honor each page's status, and never present an unverified claim as fact. Use when running bureau:query, or when the user asks what the project knows / what was decided / what the canon says about something.
The human double-check gate for AI-written memory. Show every cabinet claim not yet approved — with its provenance and automatic check result — and let the human promote it to canonical or reject it. Use when running bureau:review, or when the user asks to approve / vet / sign off on what the AI wrote to memory before it is trusted as fact.
The live note-taker — summarize the current session's decisions and open threads on demand or at checkpoints, and (in a bureau workspace) append them to the session's running minute. Use when running bureau:note, or when the user asks to take a note / minute this / summarize where we are.
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.
Turn AI sessions into a maintained, inspectable canon.
Every AI session is an unrecorded meeting; natural-language docs drift, go stale, and contradict each other. bureau turns sessions into memory you can trust:
canonical. AI-written claims are never fact until you approve them —
memory works like version control, not a notepad the AI scribbles in.query answers from the canon, citing each claim's trust tier and
refusing to state an unverified one as fact. And BUREAU.md — the instructions init writes
at your repo root and imports from CLAUDE.md — makes every AI session honor those tiers, so
the gate governs all work, not just bureau commands.This is the Karpathy LLM-wiki pattern
(LLM as compiler, not retriever) plus session provenance, a review gate, and an always-on
BUREAU.md instruction — so the canon is current, traceable, and trusted.
New here? Start with the User Guide — a 60-second quickstart and a worked example.
The cabinets double as repo memory, and no AI claim is recalled as fact until a human
approves it. Every page carries a status: the AI must honor on recall:
status: | trust | who writes it |
|---|---|---|
proposed | AI claim, unchecked | capture / compile |
verified | checked against the repo | compile (automatic) |
canonical | a human approved it | bureau:review only |
stale | a verified source changed | staleness re-check |
contested | two claims disagree | lint |
AI writes only proposed/verified; the proposed → review → canonical gate is the
double-check. Facts-about-artifacts auto-verify; judgments route to the human.
| role | |
|---|---|
| bureau (this plugin) | the engine: capture · compile · review · lint |
press (press/, bundled inside bureau) | builds the gazette + runs the structural checks (deterministic) |
bureau/ (in your repo) | your data: cabinet drawers + the logbook/ drawer |
the press is a self-contained Node bundle vendored into the plugin (press/bin/gazette.mjs,
no node_modules). bureau:inspect runs it directly — there is no separate install. The
bundle is regenerated from the upstream renderer source by scripts/build-gazette.mjs.
canon/ ← the content dir (default name); top-level folders are nav sections
decisions/ ← a cabinet drawer (ADRs)
architecture/ ← cabinet drawer (software profile)
characters/ ← cabinet drawer (story profile)
logbook/ ← append-only history — RENDERS as its own section
_config.json ← gazette meta
bureau.json ← profiles, board dir, autoCompile
bureau/crew/ ← bureau's control dir (the crew) — reserved, never rendered
gazette/ ← the rendered gazette (derived, gitignored, outside the workspace)
The canonical drawers (collectively, "cabinets") are the SSOT; logbook/ is the
append-only history. Every cabinet claim links back to the minute that introduced it.
| Command | Does |
|---|---|
bureau:init | scaffold the workspace, write BUREAU.md + import it from CLAUDE.md, wire the press |
bureau:note | take a live note into the running minute (run at decision points) |
bureau:file-session | file the rich minute for the current session |
bureau:compile | distil minutes into dossiers (with provenance) |
bureau:review | the human gate — promote vetted claims to canonical, reject the rest |
bureau:lint | semantic consistency sweep across the cabinets |
bureau:query | answer a question from the canon — cited, tier-aware, never stating an unverified claim as fact |
bureau:status | what's uncompiled / pending review / stale / contested |
bureau:inspect | build + open the gazette (gazette) |
bureau:crew | enable or author specialized agents (a "crew") that work the canon |
Write (gated): note/file-session → compile → review. Read (tier-aware):
query, plus BUREAU.md — written by init and imported from CLAUDE.md — which makes
every AI session honor the trust tiers, so the gate governs all work, not just bureau commands.
Two hooks run automatically: SessionEnd writes a mechanical logbook stub (no session is
ever lost); SessionStart-after-compaction re-grounds the agent from the logbook so decisions
survive a context compaction.
npx claudepluginhub xiaolai/bureau --plugin bureauNatural-Language Programming Manager — score, check, fix, and test NL artifacts across Claude Code, Codex CLI, and Antigravity. Tier-aware scoring with per-tool overlays.
A 260-token system prompt that overrides three structural presumptions every RLHF-trained LLM inherits from training: that you want confirmation, that old scarcity still applies, that best practices are ceilings.
English language coach for non-native speakers — auto-corrects prompts, translates non-English, refines with :: prefix, tracks improvement over time
One plugin to bridge and delegate across Claude Code, Codex CLI, and Gemini CLI — single-source AGENTS.md, shared skills, mirrored hooks and MCP servers, and full Claude↔Codex bidirectional delegation.
Auto-updated multi-skill reference for the whole Anthropic doc ecosystem. 8 skills covering claude-code, claude-agent-sdk, anthropic-api, anthropic-platform-features, claude-connectors, claude-cowork, mcp-spec, and anthropic-pulse (news + research digests). Pipeline refreshes daily.
Claude + Obsidian knowledge companion. Sets up a persistent, compounding wiki vault (Karpathy's LLM Wiki pattern). v1.7 "Compound Vault" + v1.8 methodology modes close 5 of 5 priority gaps from the May 2026 compass artifact. Ships: substrate alignment with kepano/obsidian-skills, default Obsidian CLI transport, hybrid retrieval (contextual prefix + BM25 + cosine rerank per Anthropic's Sept 2024 research), per-file advisory locking for multi-writer safety, pre-commit verifier agent, AND methodology modes (LYT / PARA / Zettelkasten / Generic) for first-class organizational support no other Claude+Obsidian competitor offers. v1.7.x audit closure: every BLOCKER + HIGH + MEDIUM + LOW finding from the v1.7.0 audit is CLOSED or DEFERRED-with-rationale. Optional DragonScale Memory extension (log folds, deterministic addresses, semantic tiling lint, boundary-first autoresearch).
Complete AI coding workflow system. Self-correcting memory + persistent FTS5-indexed research wikis + auto-research loop + multi-LLM council on a single SQLite store. 33 skills, 8 agents, 22 commands, 37 hook scripts across 24 events. Cross-agent via SkillKit.
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.
Make your AI agent code with your project's architecture, rules, and decisions.
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.
AI-powered wiki generator for code repositories. Generates comprehensive, Mermaid-rich documentation with dark-mode VitePress sites, onboarding guides, deep research, and source citations. Inspired by OpenDeepWiki and deepwiki-open.