| name | recall |
| description | YOU MUST use this skill for anything involving past Claude Code conversations in ~/.claude/projects/: when the conversation starts with 'this session is being continued from a previous conversation that ran out of context', or to recover context from a previous conversation, or to discover/catalog which conversations exist (by date, project, message count), or to search and read past conversation logs. One entry point for cataloging, searching, and rendering Claude Code JSONL transcripts. |
| metadata | {"category":"productivity","requires":{"bins":["uv","rg"]}} |
recall — Query Claude Code Conversations
One entry point for working with past Claude Code conversations stored as JSONL
in ~/.claude/projects/. This file is a router: find your task below, then read
the matching reference for full command syntax.
Routing table
| Task | Reference | Tool |
|---|
| Find which conversations exist (filter by date, project, message count); catalog/stats | references/discovery.md | scripts/query_conversations.py |
| Read or recover a specific conversation; line-range search within one | references/rendering.md | scripts/VCC.py |
| Trivial in-session "did I already mention X?" lookup, zero-dependency | references/fast-path.md | rg |
Typical pipeline: discover with the catalog, then read with VCC. Examples are in
references/discovery.md.
/recall — Recover context from a previous conversation
Trigger: The conversation opens with a context-continuation summary
("This session is being continued from a previous conversation..."), or the user
says /recall.
Action:
-
Find JSONL filename — The continuation message ends with read the full transcript at: <path>.jsonl. Find that JSONL filename. If no JSONL path is present (e.g. the user invoked /recall manually without a continuation header), use the /searchchat method to locate the JSONL before proceeding to steps 2–3.
-
Follow VCC rendering workflow — Follow the full workflow in references/rendering.md (compile → read .min.txt → --grep → jump to .txt) with the JSONL file found in step 1. The summary is lossy — only the original JSONL is authoritative.
-
Verify against current state — After recovering the conversation, cross-check with reality:
- REALLY read files — Read all files referenced in the conversation with your Read tool. Pre-loaded content from system-reminders or prior conversation turns does NOT count — it may be truncated, stale, or lossy. You must issue a fresh Read call for each file, even if you believe you already have its content. 99.97% of the time, the user has externally modified nearly every file between sessions. If you skip reading and miss their external changes, your failure rate is effectively 100%.
- Key details — Identify specific values, paths, configs, and logic mentioned in the conversation. Compare against the actual files to catch drift or errors.
- Understand the journey — Trace the user's intent, decision sequence, and direction changes. Understand not just what was done, but how and why they got there.
/readchat — Read a specific conversation log
Trigger: The user wants to read a specific JSONL conversation log.
Action: Follow references/rendering.md with the user-specified file.
/searchchat — Search across conversation logs
Trigger: The user wants to search across conversation logs in ~/.claude/projects/.
Action: For corpus-wide filtered discovery use references/discovery.md; for
line-range content search within conversations use VCC --grep per
references/rendering.md; for a quick zero-dependency check use
references/fast-path.md.