# Memory Recall

Search and recall relevant memories from past sessions via memsearch.

- Repository: https://github.com/zilliztech/memsearch (2815 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-10-27
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add zilliztech/memsearch --skill memory-recall -g -a claude-code -y`
Codex: `npx skills add zilliztech/memsearch --skill memory-recall -g -a codex -y`
Cursor: `npx skills add zilliztech/memsearch --skill memory-recall -g -a cursor -y`
Gemini CLI: `npx skills add zilliztech/memsearch --skill memory-recall -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add zilliztech/memsearch`

## Description

Search and recall relevant memories from past sessions via memsearch. Use when the user's question could benefit from historical context, past decisions, debugging notes, previous conversations, or project knowledge -- especially questions like 'what did I decide about X', 'why did we do Y', or 'have I seen this before'. Also use when you see `[memsearch] Memory available` hints injected via SessionStart or UserPromptSubmit. Typical flow: search for 3-5 chunks, expand the most relevant, optionally deep-drill into original transcripts via the anchor format. Skip when the question is purely about current code state (use Read/Grep), ephemeral (today's task only), or the user has explicitly asked to ignore memory.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

You have three memory tools for progressive recall. Start with search, go deeper only when needed.

## Tools (use progressively)

### 1. memory_search, Start here
Semantic search across all past conversation memories.
- Returns: chunk summaries with dates, topics, chunk_hash identifiers
- Use for: "What did we discuss about X?", "Have I asked about Y before?"

### 2. memory_get, When search results aren't detailed enough
Expands a specific chunk_hash to show the full markdown section with surrounding context.
- Input: chunk_hash from memory_search results
- Returns: full section text, may include transcript anchors (<!-- session:UUID transcript:PATH -->)
- Use for: "Show me the details", "I need more context on that result"

### 3. memory_transcript, When you need the exact original conversation
Parses the original session transcript to retrieve the raw dialogue.
- Input: transcript_path from the anchor comment in memory_get results
- Returns: formatted conversation with [User]/[Assistant] labels and tool calls
- Use for: "What exactly did I say?", "Show me the original conversation"
- If the anchor format is unfamiliar (e.g. `rollout:`, `turn:`, `db:` instead of `transcript:`), try reading the referenced file directly to explore its structure and locate the relevant conversation by the session or turn identifiers in the anchor.

## Decision guide

| User intent | Tools to use |
|---|---|
| Quick recall ("did we discuss X?") | memory_search only |
| Need details ("what was the solution?") | memory_search → memory_get |
| Need original dialogue ("show me the exact conversation") | memory_search → memory_get → memory_transcript |

## Tips
- memory_search returns chunk_hash, pass it to memory_get for expansion
- memory_get may reveal `<!-- session:UUID transcript:PATH -->` anchors, pass the path to memory_transcript
- If memory_search returns no results, try rephrasing with different keywords
- Results are sorted by relevance (hybrid BM25 + vector search)

The rest: https://github.com/zilliztech/memsearch/blob/HEAD/plugins/openclaw/skills/memory-recall/SKILL.md
