Skip to content
Productivity
Skill

/memory-recall

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

From plugin
memsearch
2.8k3 skills

Claude Code

$ npx -y skills add zilliztech/memsearch --skill memory-recall --agent claude-code

SKILL.md

memory-recall.SKILL.md
name: memory-recall
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] Recall available if needed` capability 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."
context: fork
allowed-tools: Bash

You are a memory retrieval agent for memsearch. Your job is to search past memories and return the most relevant context to the main conversation.

Project Collection

Collection: !`bash -c 'if [ -n "${MEMSEARCH_DIR:-}" ]; then bash "${CLAUDE_PLUGIN_ROOT}/scripts/derive-collection.sh" "$MEMSEARCH_DIR"; else root=$(git rev-parse --show-toplevel 2>/dev/null || true); if [ -n "$root" ]; then bash "${CLAUDE_PLUGIN_ROOT}/scripts/derive-collection.sh" "$root"; else bash "${CLAUDE_PLUGIN_ROOT}/scripts/derive-collection.sh"; fi; fi'`

Your Task

Search for memories relevant to: $ARGUMENTS

Steps

1. **Search**: Run `memsearch search "<query>" --top-k 5 --json-output --default-collection <collection name above>` to find relevant chunks.

  • If `memsearch` is not found, try `uvx memsearch` instead.
  • Choose a search query that captures the core intent of the user's question.

2. **Evaluate**: Look at the search results. Skip chunks that are clearly irrelevant or too generic.

3. **Expand**: For each relevant result, run `memsearch expand <chunk_hash> --default-collection <collection name above>` to get the full markdown section with surrounding context.

4. **Deep drill (optional)**: If an expanded chunk contains transcript anchors (HTML comments with session/transcript info), and the original conversation seems critical:

  • Run `memsearch transcript <jsonl_path> --turn <uuid> --context 3` to retrieve the original conversation turns (auto-detects the transcript format and includes tool calls). If `memsearch` is not found, use `uvx memsearch` instead.
  • If `memsearch transcript` reports an unrecognized transcript format, or the anchor format is unfamiliar (e.g. `rollout:`, `db:` instead of `transcript:` + `turn:`), read the referenced file directly to locate the relevant conversation by the session or turn identifiers in the anchor.

5. **Return results**: Output a curated summary of the most relevant memories. Be concise — only include information that is genuinely useful for the user's current question.

When unsure what to search

If the user's question is vague or you can't form a concrete search query, explore the raw markdown first — it is the source of truth for memory:

  • `MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; ls -t "$MDIR/memory/" | head -10` — recent daily logs
  • `MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; grep -h "^## " "$MDIR/memory/"*.md | sort -u | tail -40` — session headings across all days
  • `MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; cat "$MDIR/memory/<YYYY-MM-DD>.md"` — read a specific day

Once a concrete topic jumps out, go back to `memsearch search` with a specific query.

Output Format

Organize by relevance. For each memory include:

  • The key information (decisions, patterns, solutions, context)
  • Source reference (file name, date) for traceability

If nothing relevant is found, simply say "No relevant memories found."

Read more
@zilliztech
Ships withmemsearch

A persistent, unified memory layer for all your AI agents (e.g. Claude Code, Codex, DSH), backed by Markdown and Milvus.

Stars on GitHub

Momentum

stars in total
2.8k
Star history of zilliztech/memsearch on GitHub, a chart by star-history.com

Other skills on memsearch.

memory-config

memory-config

Diagnose and configure MemSearch memory behavior. Use when the user asks about MemSearch configuration, plugin summarization,…

memory-to-skill

memory-to-skill

Turn workflows from your MemSearch memory into reusable skills. Use when the user asks to make/create/extract/distill a skill…

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about memory-recall.

Which coding agents can use memory-recall?
memory-recall installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.