| name | session-finder |
| description | Index and search Claude Code sessions using semantic embeddings (Gemini). Find past sessions by topic, relaunch the best match. Triggers on "find session", "which session did I", "relaunch the session where", "session about X". |
Session Finder
Semantic search across Claude Code sessions using Gemini embeddings.
Commands
Index sessions
python3 ~/.claude/skills/session-finder/scripts/session_finder.py index [--max-age-days 90]
Search
python3 ~/.claude/skills/session-finder/scripts/session_finder.py search "query" [--top 5]
Open best match directly
python3 ~/.claude/skills/session-finder/scripts/session_finder.py open "query"
Stats
python3 ~/.claude/skills/session-finder/scripts/session_finder.py stats
How it works
- Document extraction — deterministic, no LLM. Each session JSONL is parsed into a structured document:
away_summary events (pre-existing Claude recaps) if available
- First user message (task description)
- Follow-up user messages (condensed)
- First assistant response
- Tools used
- Project name
- Embedding — documents are embedded with
gemini-embedding-exp-03-07 via llm CLI
- Storage — SQLite at
~/.claude/session-finder.db
- Search — query is embedded, cosine similarity ranks all sessions, top match is the default to open
Workflow
When user asks to find a session:
- Run
search with their query
- Present results with confidence scores
- Offer to resume the top match via
claude --resume <id>