Scribe — live minutes of the current session
file-session files the minutes after a session; the scribe writes them during it, so the
record's fidelity doesn't depend on end-of-session memory. It is the minute-taker; the filed
minute is its notes cleaned up.
Dual mode
- In a bureau workspace → append a running note to the session's minute (it persists
and
file-sessionlater finalizes it). - Anywhere else → just hand the user the summary (ephemeral) — a useful "where are we" with no workspace required.
When to run
On demand (bureau:note, or the user asking) or at natural checkpoints — a decision made,
a direction changed, a milestone reached. Not after every turn: constant summaries bury the
signal. Capture inflection points, not heartbeats.
Steps
- Locate the workspace (
bureau.json; defaultcanon). If none, produce the summary for the user and stop (ephemeral mode) — do not error. - Summarize the span since the last note: the decisions reached, what changed, and the open threads. Faithful over polished — include reversals and dead ends.
- Append, don't rewrite. Add the note to the session's running minute
(
logbook/<YYYY>/<MM>/<safe-session-id>.md, the same filefile-sessionfinalizes), under a timestamped checkpoint heading. Never rewrite earlier notes or other sessions' entries. - Stay low-authority. Running notes are
status: logbook— raw material, never canon. The scribe never writes dossiers. - Report the note's path (workspace mode) or present the summary (ephemeral mode).
Rules
- Append-only. Add checkpoints; never edit earlier ones.
file-sessionconsolidates them. - Inflection points, not heartbeats. Run at decisions/changes, not on a timer.
- No canon writes. The scribe feeds the logbook only; cabinets are reached via compile.
- Sanitize the path. Reuse the capture skill's safe-session-id rule for the file name.
Examples
Scope note
This skill covers ONLY live note-taking into the logbook (or an ephemeral summary). It does
not finalize the entry (file-session), not distil to cabinets (compile), and not
read the canon to answer questions (recall / bureau:query). It is invoked by bureau:note
and by the SessionStart (post-compaction) hook's re-grounding flow.