Back to skills
extension
Category: AI Agent CapabilitiesNo API key required

recall-conversations

This skill should be used when the user asks to recall, search, or continue past conversations. Triggers on "what did we discuss", "continue where we left off", "remember when", "as I mentioned", "you suggested", "we decided", "search my conversations", "find the conversation where", "what did we work on". Also triggers on implicit signals like past-tense references ("the bug we fixed"), possessives without context ("my project"), or assumptive questions ("do you remember").

personAuthor: jakexiaohubgithub

Tools

Two scripts retrieve data. For full option catalogs, load references/tool-reference.md.

recent_chats.py — retrieve recent sessions:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/recall-conversations/scripts/recent_chats.py --n 3

search_conversations.py — keyword search across all sessions:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/recall-conversations/scripts/search_conversations.py --query "keyword"

Workflow

  1. Identify the lens from user intent:

| User Says | Lens | |-----------|------| | "where were we", "recap" | restore-context | | "what I learned", "reflect" | extract-learnings | | "gaps", "struggling" | find-gaps | | "mentor", "review process" | review-process | | "retro", "project review" | run-retro | | "decisions", "CLAUDE.md" | extract-decisions | | "bad habits", "antipatterns" | find-antipatterns |

Load references/lenses.md for per-lens parameters, core questions, and supplementary search patterns.

  1. Gather context using lens-appropriate tools:

    • For recent context: recent_chats.py --n N
    • For keyword search: search_conversations.py --query "keywords"
  2. Apply lens questions to analyze the retrieved conversations.

  3. Deepen the search if initial results are insufficient:

    • Retrieve more sessions: --n 20
    • Search for specific terms that surfaced
    • Filter by project: --project projectname
    • If 2 rounds of deepening yield no new relevant sessions, synthesize from available data.

Query Construction

Search terms should be content-bearing words that discriminate between sessions — high information value words that are rare enough to rank relevant sessions above irrelevant ones. BM25 ranking (when FTS5 is available) weights rare terms higher automatically.

Include: specific nouns, technologies, concepts, project names, domain terms, unique phrases. More terms improve ranking precision.

Exclude: generic verbs ("discuss", "talk"), time markers ("yesterday"), vague nouns ("thing", "stuff"), meta-conversation words ("conversation", "chat") — these appear in nearly every session and add noise rather than signal.

Algorithm:

  1. Extract substantive keywords from user request
  2. If 0 keywords, ask for clarification ("Which project specifically?")
  3. If 1+ specific terms, search with those terms; use --project to narrow scope

Synthesis

Principles

  1. Prioritize significance — 3-5 key findings, not exhaustive lists
  2. Be specific — file paths, dates, project names
  3. Make it actionable — every finding suggests a response
  4. Show evidence — quotes or references
  5. Keep it scannable — clear structure, no walls of text

Structure

## [Analysis Type]: [Scope]

### Summary
[2-3 sentences]

### Findings
[Organized by whatever fits: categories, timeline, severity]

### Patterns
[Cross-cutting observations]

### Recommendations
[Actionable next steps]

Length

Default: 300-500 words. Expand only when data warrants it.