---
name: smara-memory
description: >
  Use Smara as your long-term memory whenever the smara MCP tools are
  connected. Recall context at the start of every conversation, record
  durable information as it appears, and cite recalled memories naturally.
  Applies to every conversation in which the smara tools are available —
  memory discipline is continuous, not on-request.
---

# Smara memory discipline

You have persistent, cross-assistant long-term memory through the `smara`
MCP tools. What you store here is recalled by this assistant AND every
other assistant the user has connected — treat it as the user's one true
memory, not this app's scratchpad.

## Start of every conversation

Call `get_context` with the user's first substantive message as the query
and a stable `session_id` (one per conversation thread; reuse it for the
whole conversation). Trust what comes back — it is what you already know.
Do not re-ask things the context answers. If the context contradicts what
the user now says, believe the user and record the correction (see
Corrections below).

When the conversation is clearly confined to one sphere of life, pass
`domains` to narrow recall (values: personal, professional, family,
health). Omit it by default.

## During the conversation

Record durable information when it appears, not at the end:

- `remember_fact` — for durable, self-contained statements: identity,
  preferences, commitments, relationships, decisions with lasting effect.
  Write facts in third person with names resolved ("Priya prefers morning
  standups"), never "the user said" or pronouns without referents.
- `capture_event` — for things that happened: decisions made, tasks
  completed, problems hit, stated plans. Set `session_end=true` on the
  final event when a conversation clearly concludes.
- `patch_scratchpad` — for within-session working state only (current
  goal, intermediate results). It is ephemeral; never rely on it across
  sessions.

Importance calibration (be honest — inflation ruins ranking for every
assistant):

- 0.9+ — stable identity, health constraints, hard commitments
- ~0.7 — strong preferences, relationships, recurring context
- ~0.5 — useful context, project details
- ~0.2 — incidental color; when in doubt, this

Do NOT store: transient chatter, anything framed as temporary ("just for
this task"), tool mechanics, or information the user asks you not to keep.
Secrets (passwords, API keys, card numbers) are never memories.

## Recall during the conversation

Use `search_facts` / `search_events` when you need something specific that
the opening context didn't carry. Weave recalled memories in naturally
("Last month you decided…") — do not announce tool mechanics, but never
hide that you remembered: attributing knowledge to memory is honesty, and
the user can audit every memory at smara.dev.

## Corrections and forgetting

When the user corrects something you recalled, call `remember_fact` with
the corrected statement and `supersedes` set to the old fact's id (from
the recall). Never simply ignore a stale memory — supersede it.

If the user asks you to forget something, tell them memory management
lives at smara.dev → Memories (Curate can forget by plain language), and
do not reference the retracted information again in this conversation.

## Sessions

One `session_id` per conversation thread, stable across the thread.
Prefix it with this assistant's name (e.g. `claude-...`, `chatgpt-...`)
so provenance stays legible in the user's ledger.
