Files
undeadindustries 24ad98df8c feat: add mempalace-recall skill and optional Cursor recall rule
Ports the OpenClaw "search before answering" protocol to the Cursor and
Claude plugin surfaces so the agent reads the palace before answering
about past work, people, projects, or prior decisions instead of
guessing from model memory.

- integrations/shared/recall-protocol.md: single source of truth for the
  recall protocol, referenced by the skill and the rule so they cannot
  drift.
- skills/mempalace-recall/SKILL.md: recall-only skill (the mempalace
  skill keeps setup/mine/status); cross-linked from the ops skill.
- rules/mempalace-recall.mdc: plugin recall rule, alwaysApply: false so
  it only fires on recall-relevant turns and never adds MCP latency to
  greenfield work.
- examples/cursor/rules/: opt-in copies for non-plugin users, including
  an aggressive alwaysApply: true variant documented with its latency
  tradeoff.
- .claude-plugin/skills/mempalace-recall/SKILL.md: Claude plugin parity.
- tests: assert the recall skill and rules/ discovery layout; the
  shipped rule must be alwaysApply: false.
- docs: .cursor-plugin/README.md and the cursor-hooks guide now describe
  the three layers of recall (hook + skill + rule).

The Antigravity plugin mirror lands as a follow-up on the antigravity
branch, where .antigravity-plugin/ exists.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 15:40:35 +10:00
..

Cursor Rules — MemPalace recall

Optional Cursor rules that make the agent search MemPalace before answering questions about past work, people, projects, or prior decisions.

These are for users who install MemPalace without the Cursor plugin (or who want recall behaviour in a specific project). If you installed the Cursor plugin, it already ships the alwaysApply: false rule at the plugin root — you do not need to copy anything.

Which file to use

File alwaysApply Fires when Use when
mempalace-recall.mdc false Cursor's matcher decides the turn is recall-relevant (from the rule description) Recommended. Recall without paying for the rule on unrelated work.
mempalace-recall-always.mdc true Every conversation in scope, every turn You want recall guaranteed in context and accept the cost.

The always-on variant is heavier: it sits in context on every turn and makes the agent more eager to call mempalace_search, which adds MCP latency and works against MemPalace's "memory should feel instant" budget. Prefer the false variant unless you specifically want recall forced into every conversation. Pick one of the two — do not install both.

Install

User scope (every workspace) — copy into ~/.cursor/rules/:

mkdir -p ~/.cursor/rules
cp examples/cursor/rules/mempalace-recall.mdc ~/.cursor/rules/

Project scope (this repo only) — copy into .cursor/rules/:

mkdir -p .cursor/rules
cp examples/cursor/rules/mempalace-recall.mdc .cursor/rules/

For the aggressive variant, copy mempalace-recall-always.mdc instead (only one of the two). Then reload Cursor: Cmd-Shift-PDeveloper: Reload Window.

How recall is delivered

Recall ships in three orthogonal layers — install any combination:

Layer What it does Where
sessionStart hook Injects wing-scoped recall context once per new chat hooks/cursor/
mempalace-recall skill Full search-before-answer protocol, model-invoked or attached skills/mempalace-recall/
Recall rule (these files) Nudges search-before-answer on recall-relevant turns here, or the plugin root rules/

All three reference the same canonical protocol in integrations/shared/recall-protocol.md.