session-finder
Installation
SKILL.md
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_summaryevents (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-07viallmCLI - 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
searchwith their query - Present results with confidence scores
- Offer to resume the top match via
claude --resume <id>