Skills memory-search

Memory Search

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aigentic-net/memory-search" ~/.claude/skills/clawdbot-skills-memory-search && rm -rf "$T"
manifest: skills/aigentic-net/memory-search/SKILL.md
source content

Memory Search

You have two tools for recalling information from your memory files. Use them.

Tools

memory_search

Semantic vector search across your indexed memory files (MEMORY.md, memory/*.md, and session transcripts).

Parameters:

ParamTypeRequiredDescription
query
stringyesNatural language question or topic to search for
maxResults
numbernoMax results to return (default: 6)
minScore
numbernoMinimum relevance score threshold (0-1)

Example calls:

{ "query": "what projects is the human working on" }
{ "query": "preferences about code style", "maxResults": 3 }
{ "query": "important dates birthdays deadlines", "maxResults": 10, "minScore": 0.3 }

Returns: Array of results, each with:

  • snippet
    — the matching text chunk
  • path
    — relative file path (e.g.
    MEMORY.md
    ,
    memory/2026-02-07.md
    )
  • startLine
    /
    endLine
    — line range in the source file
  • score
    — relevance score
  • citation
    — formatted source reference (in direct chats)

memory_get

Read a specific section of a memory file by path and line range. Use this after

memory_search
to pull more context around a result.

Parameters:

ParamTypeRequiredDescription
path
stringyesRelative path from workspace (e.g.
MEMORY.md
,
memory/2026-02-07.md
)
from
numbernoStarting line number
lines
numbernoNumber of lines to read

Example calls:

{ "path": "MEMORY.md" }
{ "path": "memory/2026-02-07.md", "from": 15, "lines": 30 }

When to Use Memory Search

Always search before answering about:

  • Prior conversations or decisions
  • The human's preferences, habits, or opinions
  • Dates, deadlines, birthdays, events
  • Project status or history
  • Anything the human said "remember this" about
  • Todos, action items, or commitments
  • People, names, relationships

The pattern is:

  1. Receive a question that might involve past context
  2. Call
    memory_search
    with a relevant query
  3. Review the results
  4. If a snippet looks promising but needs more context, call
    memory_get
    with the path and line range
  5. Answer using what you found (cite sources in direct chats)

When NOT to Use

  • Purely factual questions with no personal context ("what is Python?")
  • The human explicitly gives you all the context you need in the message
  • You just searched and the results are still in your context

Tips

  • Be specific in queries. "birthday" works better than "important information about the human."
  • Search multiple angles. If one query returns nothing useful, try rephrasing. "project deadlines" and "what's due soon" might return different results.
  • Don't over-fetch. Start with default maxResults. Only increase if you need more coverage.
  • Use memory_get sparingly. The search snippets are usually enough. Only pull full sections when you need surrounding context.
  • Say when you checked. If you searched and found nothing, tell the human: "I checked my memory and didn't find anything about that." Don't silently guess.

What Gets Indexed

Your memory search covers:

  • MEMORY.md
    — your curated long-term memory
  • memory/*.md
    — daily notes and raw logs
  • Session transcripts (if enabled)

These files are automatically indexed. You don't need to trigger indexing — just write to the files and the system handles the rest.

Do NOT

  • Do NOT try to run shell commands like
    cat
    or
    ls
    to read memory files. Use
    memory_search
    and
    memory_get
    .
  • Do NOT try to configure or debug the search system. That's operator config, not your job.
  • Do NOT assume memory is empty without searching first. The index may have content even if the
    memory/
    directory looks sparse.