🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Memory Search

by @aigentic-net

Search and retrieve relevant information from your indexed memory files using semantic queries and direct file reads for context.

Versionv1.0.0
Downloads3,825
Stars⭐ 4
TERMINAL
clawhub install memory-search

πŸ“– About This Skill

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:

| Param | Type | Required | Description | |---|---|---|---| | query | string | yes | Natural language question or topic to search for | | maxResults | number | no | Max results to return (default: 6) | | minScore | number | no | Minimum 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:

    | Param | Type | Required | Description | |---|---|---|---| | path | string | yes | Relative path from workspace (e.g. MEMORY.md, memory/2026-02-07.md) | | from | number | no | Starting line number | | lines | number | no | Number 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.
  • πŸ“‹ Tips & Best Practices

  • 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.