From bopen-tools
Searches and recalls previous Claude Code conversation sessions by querying a local SQLite FTS5 index or JSONL log files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bopen-tools:remindThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Recall and search previous Claude Code conversation sessions to find past discussions, decisions, solutions, and context.
Recall and search previous Claude Code conversation sessions to find past discussions, decisions, solutions, and context.
This skill searches conversation history using two backends:
~/.scribe/scribe.db with 141K+ indexed messages across all AI coding tool sessions. BM25-ranked results, grouped by session.~/.claude/projects/ JSONL conversation files when Scribe isn't available.The search script at scripts/search.py handles both backends automatically.
Run the search script with the user's query:
python3 "SKILL_DIR/scripts/search.py" "<query>" [options]
Options:
| Flag | Purpose |
|---|---|
--project <path> | Filter by project path (substring) |
--recent <days> | Only search last N days |
--limit <n> | Max results (default: 10) |
--full | Force JSONL search (skip Scribe DB) |
--json | Machine-readable output |
--session <id> | Read a specific session's messages |
--recency-weight <f> | Recency weight factor (default: 0.2) |
--half-life <days> | Recency half-life in days (default: 30) |
--no-recency | Disable recency weighting |
Results are ranked by a blend of BM25 relevance and recency. Recent conversations get a boost that decays exponentially (30-day half-life). Use --no-recency to disable.
Crafting good queries:
"stripe webhook", "bap identity", "deploy railway"--project or --recent filters--full for deeper searchSummarize what you found in a clear format:
If the user wants more detail from a specific session:
python3 "SKILL_DIR/scripts/search.py" --session <session-id> --json
This returns the full conversation transcript. Summarize the relevant portions — don't dump the whole thing.
If neither search backend returns results, you can read the JSONL files directly:
# List all project directories
ls ~/.claude/projects/
# List sessions in a specific project
ls ~/.claude/projects/-Users-satchmo-code-myapp/*.jsonl
# The JSONL format has one JSON object per line with these types:
# user — message.content is the user's input
# assistant — message.content is Claude's response (array of text/tool_use blocks)
# progress — tool execution progress
# system — system messages
Session index files (where available) provide quick metadata:
# Check for pre-built session index
cat ~/.claude/projects/<project-dir>/sessions-index.json
# Contains: sessionId, firstPrompt, summary, created, modified, gitBranch, messageCount
cd ~/code/scribe && bun run packages/cli/src/index.ts scan chat --provider claude--project to narrow.69ad65a8-7499-4fd1-9bae-a3f0fcbb11ed. When presenting results, include session IDs so the user can ask for deep dives.npx claudepluginhub b-open-io/claude-plugins --plugin bopen-toolsSearches across Claude Code and OpenClaw session history to find past conversations, decisions, code snippets, and resume previous sessions.
Searches Claude Code conversation history by topic or date filters, returning session IDs and project paths for resumption via 'claude --resume'. For queries like 'find conversation about X' or 'what did we do yesterday'.
Searches past Claude Code/Codex sessions via the recall CLI to retrieve past decisions, recurring mistakes, and vague back-references.