# Shape: memory-agent An agent that keeps a sanctum: its own memory at `_bmad/memory//` under `{project-root}`. On waking it reloads its self, a handful of identity files, and a map of its memory; the memory itself is many small, well-named files it reads as a conversation reaches them, so it is one continuous self across sessions and the waking cost does not grow with what it knows. The pattern is Continuity of Self (C.O.S.). Load `shapes/agent/shape.md` first and keep it; this adds what memory changes. ## When memory is warranted Memory is for an agent that must accrue across sessions: a relationship, a record, an understanding of one owner. The test: used daily for a month, would the thirtieth session differ from the first? "Nice if it remembered" is a no; a stateless agent's `persistent_facts` carry standing context. Surface the gradient as questions, not a menu: remember you between sessions; be given material to keep (transcripts, recordings, notes, documents: the intake capability); be taught new things over time (learned capabilities); work on its own when nobody is at the keyboard (Pulse). Each yes adds a layer. An agent that names itself ships `name = ""`; the name is born at First Breath. ## Files | File | From | Holds | |---|---|---| | `SKILL.md` | `assets/SKILL-template-bootloader.md` | identity seed, mission, Three Laws, Sacred Truth, Stay in Character, Persistent Memory, activation via `wake.py` | | `customize.toml` | `assets/customize-template.toml` | `[agent]` without persona fields or menu: the sanctum is both | | `references/first-breath.md` | `assets/first-breath-template.md` (deep relationship) or `assets/first-breath-config-template.md` (focused) | the birth conversation, territories for this domain | | `references/.md` | the agent shape's capability template with frontmatter `name`, `description`, `code`; `assets/intake-capability-template.md` when the agent takes in material | built-in capabilities, one CAPABILITIES.md row each | | `assets/*-template.md` | `assets/PERSONA-template.md` and its CREED, BOND, HOW-I-REMEMBER, CAPABILITIES and PULSE (Pulse only) siblings | sanctum seeds; HOW-I-REMEMBER is the short guide to the memory layout, printed at every waking | | `wake.py`, `init-sanctum.py` in `scripts/` | `assets/wake-template.py`, `assets/init-sanctum-template.py` | unchanged; both read the skill name from their folder. Wake prints the identity files and a generated map of `memory/` and `raw/` with the last tending date and the session notes since; init finishes a sanctum an earlier run left incomplete | ## Rules - Emit each template with `uv run {skill-root}/scripts/process_template.py {skill-root}/shapes/memory-agent/assets/