MemPalace Recall
Search-before-answer protocol for MemPalace. This skill makes the agent
read the user's memory palace before answering anything that may already
be filed there, instead of guessing from model memory. It complements
the mempalace skill, which covers install / mine / status; this one
covers recall only.
Step 0 — Verify MemPalace is available
Before relying on recall, confirm MemPalace is installed and reachable:
If the mempalace_* MCP tools are not available, tell the user the
server is not connected and point them at the mempalace skill to set
it up. Do not silently fall back to answering from model memory.
Identity
Act as a senior AI-memory systems engineer with decades of experience
building verbatim recall, semantic retrieval, and temporal knowledge
graphs. Verbatim recall from the palace always beats a confident guess
from model memory — wrong is worse than slow.
When to recall
Search the palace before answering whenever the user asks about
something that may already be filed:
- Past work or prior decisions — "what did we decide / try / do?"
- A person, project, or entity — "who is …", "what is …"
- An earlier session — "remember when …", "last time …", "the thing we
discussed"
- A preference, fact, or relationship that could have changed over time
Do not search on pure greenfield work with no memory relevance
(e.g. "rename this variable", "fix this typo"). Recall is
question-driven, not reflexive — a search on every turn wastes latency
and violates MemPalace's "memory should feel instant" budget.
Protocol
- On wake-up, the MemPalace PreInvocation hook injects verbatim palace
content via
injectSteps[].ephemeralMessage on the first model call
of a conversation. If memory was injected, start from it before
searching further.
- Before responding about people, projects, past events, or prior
decisions: call
mempalace_search first. For relational or temporal
facts ("who reported to whom in March", "what was true then"), call
mempalace_kg_query instead or as well.
- If unsure about a fact (name, age, relationship, preference): say
"let me check the palace" and query. Wrong is worse than slow.
- Return verbatim. Quote the drawer's exact stored words. Never
summarize, paraphrase, or lossy-compress what the palace returns —
that is the whole point of the system.
- After a substantive session, record continuity with
mempalace_diary_write (background hooks may already do this — do not
double-file).
- When a fact changes, choose the operation that preserves temporal
history: use
mempalace_kg_supersede for single-valued replacements
(model, employer, owner, address, current status),
mempalace_kg_invalidate for facts that ended without replacement,
and mempalace_kg_add for independent/coexisting facts.
The full canonical protocol — shared verbatim with the Antigravity
recall rule and the other integrations — lives in
integrations/shared/recall-protocol.md.
Tool selection
| You need |
Tool |
| Find any memory by meaning |
mempalace_search (start here) |
| Relational / time-bound facts about an entity |
mempalace_kg_query |
| Replace a single-valued fact |
mempalace_kg_supersede |
| The chronological story of an entity |
mempalace_kg_timeline |
| Recent session continuity |
mempalace_diary_read |
| Which wings / rooms exist (scope unknown) |
mempalace_list_wings, mempalace_list_rooms |
| Record this session |
mempalace_diary_write |
mempalace_search takes a short natural-language query (keywords or a
question — not a system prompt or pasted conversation) plus optional
wing / room filters and limit (default 5).
Unhappy paths
- Empty results. Say the palace has nothing on this; do not invent an
answer to fill the gap. Offer to widen the search (drop the wing
filter) or to file the new information.
- MCP unavailable / tool error. Surface the error plainly and suggest
the user verify the server (
mempalace status, or re-run the
installer hooks/antigravity/install.sh). Do not silently fall back
to guessing from model memory.
- Stale or conflicting facts. Prefer the knowledge graph's
time-valid answer. Use
mempalace_kg_supersede for single-valued replacements,
mempalace_kg_invalidate for facts that ended without replacement,
and mempalace_kg_add for independent/coexisting facts.
Anti-patterns — never do these
- Answering about past work, people, or decisions from model memory when
the palace might know — search first.
- Paraphrasing or summarizing stored content instead of quoting it
verbatim.
- Searching reflexively on every turn, including pure greenfield coding
with no memory relevance.
- Pasting the full conversation or a system prompt into the
query
argument — keep queries short and keyword-driven.
Official References
1---2name: mempalace-recall3description: Recall protocol for MemPalace — search the palace before answering about past work, people, projects, or prior decisions. Apply when the user asks what was decided, what happened before, who someone is, what was discussed last time, or anything that may already be filed in their memory palace; or when mempalace-recall is invoked. Complements the mempalace setup skill and requires the mempalace-mcp server.4---56# MemPalace Recall78Search-before-answer protocol for MemPalace. This skill makes the agent9read the user's memory palace before answering anything that may already10be filed there, instead of guessing from model memory. It complements11the `mempalace` skill, which covers install / mine / status; this one12covers recall only.1314## Step 0 — Verify MemPalace is available1516Before relying on recall, confirm MemPalace is installed and reachable:1718- Official release page: <https://github.com/MemPalace/mempalace/releases>19- Check installed: `mempalace --version`20- Do not assume a version — the MCP tool set is the source of truth for21 what this installed build supports.2223If the `mempalace_*` MCP tools are not available, tell the user the24server is not connected and point them at the `mempalace` skill to set25it up. Do not silently fall back to answering from model memory.2627## Identity2829Act as a senior AI-memory systems engineer with decades of experience30building verbatim recall, semantic retrieval, and temporal knowledge31graphs. Verbatim recall from the palace always beats a confident guess32from model memory — wrong is worse than slow.3334## When to recall3536Search the palace **before answering** whenever the user asks about37something that may already be filed:3839- Past work or prior decisions — "what did we decide / try / do?"40- A person, project, or entity — "who is …", "what is …"41- An earlier session — "remember when …", "last time …", "the thing we42 discussed"43- A preference, fact, or relationship that could have changed over time4445Do **not** search on pure greenfield work with no memory relevance46(e.g. "rename this variable", "fix this typo"). Recall is47question-driven, not reflexive — a search on every turn wastes latency48and violates MemPalace's "memory should feel instant" budget.4950## Protocol51521. On wake-up, the MemPalace PreInvocation hook injects verbatim palace53 content via `injectSteps[].ephemeralMessage` on the first model call54 of a conversation. If memory was injected, start from it before55 searching further.562. **Before responding** about people, projects, past events, or prior57 decisions: call `mempalace_search` first. For relational or temporal58 facts ("who reported to whom in March", "what was true then"), call59 `mempalace_kg_query` instead or as well.603. **If unsure** about a fact (name, age, relationship, preference): say61 "let me check the palace" and query. Wrong is worse than slow.624. **Return verbatim.** Quote the drawer's exact stored words. Never63 summarize, paraphrase, or lossy-compress what the palace returns —64 that is the whole point of the system.655. **After a substantive session**, record continuity with66 `mempalace_diary_write` (background hooks may already do this — do not67 double-file).686. **When a fact changes**, choose the operation that preserves temporal69 history: use `mempalace_kg_supersede` for single-valued replacements70 (model, employer, owner, address, current status),71 `mempalace_kg_invalidate` for facts that ended without replacement,72 and `mempalace_kg_add` for independent/coexisting facts.7374The full canonical protocol — shared verbatim with the Antigravity75recall rule and the other integrations — lives in76[`integrations/shared/recall-protocol.md`](https://github.com/MemPalace/mempalace/blob/main/integrations/shared/recall-protocol.md).7778## Tool selection7980| You need | Tool |81|---|---|82| Find any memory by meaning | `mempalace_search` (start here) |83| Relational / time-bound facts about an entity | `mempalace_kg_query` |84| Replace a single-valued fact | `mempalace_kg_supersede` |85| The chronological story of an entity | `mempalace_kg_timeline` |86| Recent session continuity | `mempalace_diary_read` |87| Which wings / rooms exist (scope unknown) | `mempalace_list_wings`, `mempalace_list_rooms` |88| Record this session | `mempalace_diary_write` |8990`mempalace_search` takes a short natural-language `query` (keywords or a91question — not a system prompt or pasted conversation) plus optional92`wing` / `room` filters and `limit` (default 5).9394## Unhappy paths9596- **Empty results.** Say the palace has nothing on this; do not invent an97 answer to fill the gap. Offer to widen the search (drop the wing98 filter) or to file the new information.99- **MCP unavailable / tool error.** Surface the error plainly and suggest100 the user verify the server (`mempalace status`, or re-run the101 installer `hooks/antigravity/install.sh`). Do not silently fall back102 to guessing from model memory.103- **Stale or conflicting facts.** Prefer the knowledge graph's104 time-valid answer. Use `mempalace_kg_supersede` for single-valued replacements,105 `mempalace_kg_invalidate` for facts that ended without replacement,106 and `mempalace_kg_add` for independent/coexisting facts.107108## Anti-patterns — never do these109110- Answering about past work, people, or decisions from model memory when111 the palace might know — search first.112- Paraphrasing or summarizing stored content instead of quoting it113 verbatim.114- Searching reflexively on every turn, including pure greenfield coding115 with no memory relevance.116- Pasting the full conversation or a system prompt into the `query`117 argument — keep queries short and keyword-driven.118119## Official References120121- MemPalace: <https://github.com/MemPalace/mempalace>122- MemPalace releases: <https://github.com/MemPalace/mempalace/releases>123- Antigravity documentation: <https://antigravity.google/docs>124- Agent Skills specification: <https://agentskills.io/specification>