---
name: memory-recall
description: "Search and recall relevant memories from past sessions. Use when the user's question could benefit from historical context, past decisions, debugging notes, previous conversations, or project knowledge."
metadata:
  openclaw:
    emoji: "🧠"
---

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 [Human]/[Assistant] labels and tool calls
- Use for: "What exactly did I say?", "Show me the original conversation"

## 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)
