返回 Skill 列表
extension
分类: AI Agent 能力无需 API Key

remind

搜索并回忆之前的Claude Code对话会话。每当用户要求记住、回想、查找或查询过去的对话或会话中的内容时,请使用此技能。触发短语包括:'记得当我们...的时候','我们对...是怎么处理的','找到那次关于...的对话','我上次工作于...是什么时候','我们用于...的那个命令/方法/解决方案是什么','查找我过去关于...的会话'。当用户提到当前会话中未提及的先前工作背景、要求继续之前会话的工作,或是想要从他们的对话历史中找到特定的讨论、决定或代码片段时,也应使用此技能。即使是对于过去工作的模糊引用(如'我们做的那个事情','上周的方法')也应该触发此技能。

person作者: jakexiaohubgithub

Remind

Recall and search previous Claude Code conversation sessions to find past discussions, decisions, solutions, and context.

How It Works

This skill searches conversation history using two backends:

  1. Scribe DB (preferred) — SQLite FTS5 full-text index at ~/.scribe/scribe.db with 141K+ indexed messages across all AI coding tool sessions. BM25-ranked results, grouped by session.
  2. JSONL fallback — Direct search through ~/.claude/projects/ JSONL conversation files when Scribe isn't available.

The search script at scripts/search.py handles both backends automatically.

When to Use

  • User asks about something from a previous conversation
  • User wants to continue or reference prior work
  • User asks "when did we..." or "remember when..."
  • User needs to find a specific past decision, approach, or code snippet
  • User wants to see what they worked on for a project/timeframe

Workflow

Step 1: Search

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:

  • Use 2-3 specific keywords, not full sentences
  • Technical terms work best: "stripe webhook", "bap identity", "deploy railway"
  • If too many results, add --project or --recent filters
  • If too few results, try broader terms or --full for deeper search

Step 2: Present Results

Summarize what you found in a clear format:

  • Which sessions matched and when they occurred
  • What project each session was in
  • Key snippets showing the relevant context
  • Offer to dive deeper into specific sessions

Step 3: Deep Dive (if needed)

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.

Step 4: Read Raw JSONL (last resort)

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

Tips

  • Scribe reindex: If Scribe DB exists but results seem stale, the user can rescan with cd ~/code/scribe && bun run packages/cli/src/index.ts scan chat --provider claude
  • Cross-project: Searches span all projects by default. Use --project to narrow.
  • Session IDs: These are UUIDs like 69ad65a8-7499-4fd1-9bae-a3f0fcbb11ed. When presenting results, include session IDs so the user can ask for deep dives.
  • Privacy: Conversation data stays local. Never output sensitive content (keys, tokens) from search results.