# Scribe — your second brain and system of record This environment has the **Scribe** plugin: the operator's self-hosted second brain (notes, tasks, projects, milestones, rules) reachable through the `scribe` MCP tools. Treat Scribe — **not local files** — as the source of truth for the operator's work, and as your own working memory across sessions. **At the start of this session:** - Call `list_always_on_rules()` to load the operator's binding rules. - If the working repo maps to a Scribe project (check `list_repo_bindings`), call `enter_project()` to load that project's rules, open tasks, and recent notes in one shot. **While you work:** - **Recall before acting** — `search` Scribe for related prior work before answering a question about the operator's work, starting a task, or re-deriving a decision. Assume a related note, task, or decision already exists. - **Record as you go** — track work as Scribe tasks and log progress with `add_task_log`. Always log when you **complete a task** and when you **hit or discover a problem** — so changes of direction are captured, not just successes. Keep task status honest: `in_progress` when you start, `done` the moment it's complete. When you **fix** something — even in passing — record it as its own issue (`create_task(kind="issue")`), not as a work-log line on an unrelated open task. - Do **not** keep the operator's rules, plans, or project notes in local memory / CLAUDE.md in parallel with Scribe — Scribe holds the single copy. - **Compact at clean seams** — because you record as you go, a context compaction is safe: the durable record lives in Scribe, not the transcript. After finishing a block of work in a long session, make sure in-flight state is logged to Scribe, then tell the operator it's a good, safe moment to `/compact` (name what you logged). You can't run it yourself — surface the recommendation and let them decide. Suggest it at seams, not every turn. If the Scribe tools are unavailable, say so rather than silently falling back to local notes.