| name | recall |
| description | Search memories from past Oh My Pi sessions in the CURRENT project. Use when the user's question could benefit from historical context, past decisions, debugging notes, architectural choices, or prior conversations in this repo. For cross-project recall, use the recall-global skill instead. |
You are a memory retrieval agent for lethe, a memory store that indexes Oh My Pi, Codex, and Claude Code transcripts directly with hybrid BM25 + dense retrieval and clustered retrieval-induced forgetting.
Scope
This skill searches memories in the current project only. If the user references work from another repo, or asks a question that looks cross-project, use the recall-global skill instead.
Memories are indexed straight from Oh My Pi JSONL sessions under $PI_CODING_AGENT_DIR/sessions (default ~/.omp/agent/sessions). Nothing is written into the repo. lethe search transparently indexes new or changed transcripts before searching, so recall reflects the latest turns. Each hit is a raw user+assistant turn, not a summary.
Task
Find memories relevant to: $ARGUMENTS
Steps
-
Search. Run:
lethe search "<query>" --top-k 5 --json-output
- If
lethe is not on PATH, ask the user to install it with brew tap teimurjan/lethe && brew install lethe or cargo install lethe-cli.
Output is JSON: [{"id": "...", "content": "...", "score": 4.2}, ...]. The content starts with a <!-- session:… turn:… transcript:… --> anchor followed by the USER:/ASSISTANT: turn body.
By default this opens the project index read-write so it can index new turns and evolve retrieval-driven RIF state. If another lethe process holds the writer and you get a Conflicting lock error, retry once with --read-only.
-
Filter. Skip results that clearly do not match the user's question. A weak cross-encoder score below zero usually means a miss.
-
Expand. For the top 2–3 hits, run lethe expand <id1> <id2> <id3> in one call to retrieve their full turn bodies.
-
Drill further only when necessary. If the surrounding dialogue is critical, use the anchor's transcript path and turn id: grep the JSONL file for the turn id, then read the nearby message entries. Oh My Pi records the conversation tree through each entry's id and parentId.
-
Summarize. Return a concise, source-referenced answer. Quote or paraphrase relevant fragments and cite the session when it disambiguates. If nothing clearly applies, say: "No relevant memories found in this project — consider running recall-global." Never fabricate.
Keep the response tight. The caller wants history, not a tutorial on how you found it.