The Problem
Every conversation with Claude Code starts from zero. 700 sessions in 3 weeks β no memory of what happened when.
Mid-session context limit hits at 60% β compact β half the decisions lost. Next day? Don't remember what was happening.
The current paradigm of grepping over files doesn't scale.
Grep vs BM25 vs Semantic
Benchmark for "sleep":
- β’Grep: 200 files, including
sleep()code β noise
- β’BM25: Sleep quality reflection, sleep fragmentation experiment β relevant
- β’Semantic: "couldn't sleep, bad night" β Bedtime discipline goal from years ago β finds meaning without keywords
QMD: Local Search Engine
[QMD](https://github.com/tobi/qmd) by Tobias LΓΌtke (Shopify CEO) β local search engine for your Obsidian vault. Finds anything in under a second.
Setup:
- β’One QMD collection per vault folder (notes, daily, sessions, transcripts)
- β’Focused search per collection
The /recall Pattern
Three modes:
# 1. Temporal β `/recall yesterday`
Reconstructs 39 sessions from one day. Timeline, message counts, what was done when.
# 2. Topic β `/recall topic graph`
BM25 search across sessions and notes. Returns dashboard, production plan, to-do list in under a minute.
# 3. Graph β `/recall graph last week`
Interactive visualization: sessions as colored blobs, files clustered by type.
Our Compound Skill
The Compound skill implements this pattern:
1. Extracts patterns from each session
2. Stores as instincts (not raw transcripts)
3. Hybrid search (70% BM25 + 30% semantic) for retrieval
4. Temporal decay (30-day half-life) keeps memory fresh
Your agent learns. Every session.