From GSD Core
Recalls decisions, patterns, and surprises from MemPalace before planning a phase. Reads config, resolves wing/mode/transport, and performs a read-only search to surface relevant memories.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gsd-core:gsd-mempalace-recall [phase-slug][phase-slug]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by the command system. Using the Read tool on this file wastes tokens. Begin executing Step 0 immediately.**
STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by the command system. Using the Read tool on this file wastes tokens. Begin executing Step 0 immediately.
Before ANY tool calls, display this banner:
GSD > MEMPALACE RECALL
Then proceed to Step 1.
Check whether the MemPalace capability is enabled by reading .planning/config.json directly with the Read tool.
DO NOT use gsd-tools config get-value -- it hard-exits on missing keys.
.planning/config.json with the Read tool.config.mempalace && config.mempalace.enabled === true and config.mempalace.recall_on_plan !== false. Otherwise display the disabled message and STOP (recall_on_plan: false turns plan-time recall off while leaving the rest of the capability enabled).Disabled message:
GSD > MEMPALACE RECALL
MemPalace memory is disabled. To activate:
node <runtime-home>/gsd-core/bin/gsd-tools.cjs config-set mempalace.enabled true
Recall is opt-in; the loop proceeds normally without it.
This step is onError: skip at plan:pre -- recall never blocks planning.
config.mempalace.wing if non-empty; otherwise derive from config.project_code; otherwise fall back to the repository directory name.config.mempalace.memory_mode (augment | kg_backend | replace, default augment). Only augment is wired today, so recall always treats the palace as additive; kg_backend/replace are forward-declared and behave as augment.mempalace_*) in interactive runs when your MemPalace MCP server is registered and your runtime permits those tools. Otherwise — headless/cron/autonomous runs, or runtimes that don't grant the MemPalace MCP tools — use the CLI (mempalace wake-up, mempalace search), which this skill's Bash allow-tool always covers. If neither is reachable, go to Step 4.CONTEXT.md (the consumed artifact). Derive a short search query from its title, goal, and key decisions.All calls in this step are side-effect-free. On any error or timeout, stop retrieving and write whatever was gathered (or the stub) -- never raise.
mempalace_search.mempalace wake-up --wing <wing>.mempalace_search(query=<topic>, wing=<wing>).mempalace search "<topic>" --wing <wing>.config.mempalace.mirror_kg is true): mempalace_kg_query / mempalace_kg_timeline for decisions relevant to the topic and their validity windows. Only augment is currently wired, so the palace KG supplements GSD's native .planning/graphs/ — do not treat it as the sole source. (kg_backend/replace are forward-declared and behave as augment today.)Write MEMORY-RECALL.md in the current phase directory. The planner consumes it.
When recall succeeded, structure it as:
# Memory Recall (MemPalace)
_Wing: <wing> · Mode: <mode> · Transport: <mcp|cli>_
## Prior decisions
- <decision> — <provenance: drawer id / kg fact, valid_from>
## Patterns
- <pattern> — <provenance>
## Surprises / gotchas
- <surprise> — <provenance>
When MemPalace is unreachable, write the stub and continue:
# Memory Recall (MemPalace)
_MemPalace unavailable at recall time — proceeding without recalled memory._
onError: skip.npx claudepluginhub open-gsd/gsd-coreSearches the user's MemPalace before answering questions about past work, people, projects, or decisions. Apply when recalling prior sessions, decisions, or facts.
Files phase artifacts (CONTEXT.md, PLAN.md, SUMMARY.md) into a MemPalace knowledge graph with dedup and KG mirroring. Useful for persisting decision records across planning loops.
Searches and surfaces relevant memories from past sessions to inform current work with decisions, patterns, and learnings. Supports hybrid, vector, and text search modes with namespace filtering.