From bureau
Consolidates session logbook entries into canonical, consistency-checked dossier pages with provenance links. Use to build or update a knowledge base from recorded sessions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bureau:compile [--since <YYYY-MM-DD>] [--workspace <name>][--since <YYYY-MM-DD>] [--workspace <name>]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read the append-only logbook and distil its claims into **dossiers**: the canonical,
Read the append-only logbook and distil its claims into dossiers: the canonical, consistency-checked SSOT a human inspects. Each cabinet claim carries a provenance link back to the minute that introduced it, so the canon is traceable and regenerable.
The logbook is faithful but low-authority and chronological; the cabinets are authoritative and topical. Compile is the bridge — it consolidates many sessions into one current truth.
bureau.json; default bureau).logbook/ whose session id is not
yet recorded in <workspace>/_compile-state.json, narrowed by --since <YYYY-MM-DD> when
given. _compile-state.json is the watermark: { "compiled": ["<session-id>", …] }. It is
underscore-prefixed, so the press never renders it.A dossier is one markdown file in a topic drawer (decisions/, architecture/,
characters/, …) holding one claim (see step 4 — one claim per page keeps a page's trust
tier unambiguous). Frontmatter uses the press's simple parser: the title is unique and
unquoted and a scalar value contains no ", newline, or [ ] |. The only values that carry
[[ ]] are single-line typed relation edges like contradicts: [[Other page]] (never a
multi-line YAML list — the simple parser ignores those). Provenance lives in the body (a
Sources line), because the press's backlinks panel indexes body links, not frontmatter:
---
title: SSOT model
updated: 2026-06-10
status: proposed
---
# SSOT model
The wiki is authoritative for current truth; the logbook is low-authority provenance.
See [[Logbook model]].
**Sources.** [[session a1b2c3d4 · 2026-06-10]]
status is the trust tier (defined in the review skill). Compile writes only proposed
(an AI claim, unchecked) or verified (a fact it confirmed against the repo). It never
writes canonical — that tier is reached only through bureau:review, the human gate. A
conflict yields contested (see the conflict policy).**Sources.** line wiki-links the minutes that justify this page, each by
its title (session <session-id> · <date>). This is the provenance — the press renders it as a
backlink, so each session shows which dossiers it produced, and the page lists the
sessions that justify it. A claim that disagrees keeps its own inline [[session …]] link.bureau.json; default bureau). If none, tell the user to run
bureau:init first and stop.<workspace>/_compile-state.json (apply
--since). If none remain, report "cabinets already current" and stop.[ ] | and quotes, and if the title collides with an existing
page on a different claim, disambiguate (append a qualifier) rather than overwrite. Find
the page by title; if absent, create it in the drawer matching its topic (use the
bureau.json profiles). Keep distinct claims on distinct pages so each page has a single,
unambiguous trust tier.**Sources.** line
(a [[session …]] link). Never drop an existing source. Set updated: to today... escapes, and symlinks that point outside;
read only contained paths. If the claim holds, set status: verified, add a body
**Verified.** line naming the artifact and date, and record an entry in
<workspace>/_verify.json (schema below). Everything else — judgments, rationale, anything
not mechanically checkable — stays status: proposed. Never write canonical (that is
bureau:review).bureau:inspect (press build + health). Report the dossier
count and any dangling links, orphans, or contradictions it surfaces.<workspace>/_compile-state.json. A failed inspect must
leave the session un-compiled so the next run retries it, not skips broken output.proposed (awaiting
bureau:review), and any set to contested, with the command to inspect them._verify.json schemaKeyed by page title, so bureau:review can map a fingerprint back to the page and re-check it:
{
"<page title>": {
"verifiedAt": "<YYYY-MM-DD>",
"checks": [
{ "artifact": "<repo-relative path>", "hash": "<sha256>", "claim": "<what was confirmed>" }
]
}
}
A new claim that disagrees with a page's existing claim is never silently overwritten. Instead:
status: contested;[[session …]] provenance;contradicts: edge naming the other page — a single line:
contradicts: [[Other page]] (for 2+, one comma list contradicts: [[A]], [[B]],
deduped; never a multi-line YAML list, which the press ignores). Add the reciprocal edge
on the other page. the press's health lane then renders the contradiction;Resolution is a human act: once the user picks the true claim, the losing claim is removed
(its provenance stays in the logbook) and the page goes back through bureau:review to reach
canonical.
_compile-state.json, and _verify.json.
It never edits minutes — the logbook is append-only history.[[session …]]
source in the page body. No orphan claims.This skill covers ONLY distillation: minutes → dossiers with provenance. It does
not capture sessions (that is the capture skill / bureau:file-session), does not
render the gazette (that is bureau:inspect), and does not run the semantic consistency
sweep (that is bureau:lint). It is invoked by the bureau:compile command.
npx claudepluginhub xiaolai/bureau --plugin bureauOrients developers for the bureau plugin: records-office model, trust tiers, command mapping, and the capture-compile-review pipeline. Read before using bureau: commands or working in a repo with a bureau workspace.
Compiles today's daily capture into an Obsidian vault using three-stage extract-transform-load pipeline. Builds concepts, atlas maps, synthesis pages, and auto-archives raw input.
Compiles patterns, decisions, and anti-patterns from completed campaigns and evolve cycles into structured wiki pages that integrate with existing knowledge. Runs a flush→compile→lint pipeline.