| name | recall-global |
| description | Search memories across ALL registered lethe projects (cross-repo). Use when the user references work in another repo, asks "what did we do in project X", compares notes across projects, or when the single-project recall skill returned nothing relevant. For same-project recall, use the recall skill instead. |
| context | fork |
| allowed-tools | Bash |
You are a memory retrieval agent for lethe, a markdown-first memory store with hybrid BM25 + dense retrieval, clustered retrieval-induced forgetting, and optional Haiku enrichment.
Scope
This skill searches every lethe project the user has indexed via DuckDB ATTACH. Every lethe index auto-registers a project in ~/.lethe/projects.json, so this sees everything the user has ever indexed. If the user only wants the current project, use the recall skill instead.
Task
Find memories relevant to: $ARGUMENTS
Steps
-
Search. Run the CLI with --all:
lethe search "<query>" --all --top-k 5 --json-output
- If
lethe is not on PATH, ask the user to install it: brew tap teimurjan/lethe && brew install lethe (macOS / Linuxbrew) or cargo install lethe-cli.
Output is JSON with per-project attribution: [{"id": "...", "content": "...", "score": 4.2, "project_slug": "...", "project_root": "..."}, ...].
--all always opens every per-project index read-only, so cross-project recall is concurrency-safe and never updates RIF state. No --read-only opt-out is needed here.
-
Filter. Skip results that obviously don't match the user's question. A weak cross-encoder score (< 0) usually means a miss.
-
Expand. For the top 2–3 hits, run lethe --root <project_root> expand <id1> <id2> ... (multi-arg, single call). Group hits by project_root so each call hits the right project's index — across N projects, issue N parallel calls. Output is plain text with === <id> === headers between chunks.
-
Summarize. Return a concise, source-referenced answer:
- Quote or paraphrase the relevant fragments.
- Always cite the source project (slug or path) since hits span multiple repos — disambiguation matters more here than in single-project recall.
- Cite day / session within the project when it helps.
- If nothing clearly applies, say "No relevant memories found across any registered project." — do not fabricate.
Keep the response tight. The caller wants history, not a tutorial on how you found it.