conversation-memory
Skill1 starsChanged 9 months agoMITView on GitHub
Use this skill when you need to recall something from a previous conversation session. This includes finding past debugging sessions, remembering architectural decisions, locating code changes from earlier work, or continuing a task you started days ago. Works with both Claude Code (~/.claude/history.jsonl) and Cursor (~/.cursor/projects/*/agent-transcripts/). Claude Code saves every conversation in two locations: Cursor stores full conversation transcripts per workspace: Never read an entire history file. They can be massive. Then read only the matching session transcript. Claude Code…
4 other projects use a version of this.
Adopted by
Most recently taken up by
- lauren-framework/lauren-aitheir own version, first seen Nov 1, 2026
- xfstudio/skillstheir own version, first seen Oct 13, 2026
- Fandry96/k3-agentic-skillstheir own version, first seen May 12, 2026
- ai4brands-design/claude-skillstheir own version, first seen Mar 22, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- Fandry96/k3-agentic-skills★ 27same name
- xfstudio/skills★ 9same name
- ai4brands-design/claude-skills★ 2same name
- lauren-framework/lauren-ai★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 15 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Use this skill when you need to recall something from a previous conversation session.
- Distinctive: line 27
Use this for searching across all projects by keyword
- Very specific: line 37
Search ~/.claude/history.jsonl by keyword/date to find the session ID
- Very specific: line 38
Read the full session from ~/.claude/projects/<project>/<session-id>.jsonl
- Distinctive: line 61
Don't try to read the entire file at once for large conversations
- Distinctive: line 62
Search for specific keywords, error messages, or file paths mentioned
- Distinctive: line 68
Never read an entire history file.
- Distinctive: line 114
When you find a relevant past conversation, extract only the key decisions, code changes, and conclusions.
- Distinctive: line 145
When a search returns multiple sessions, present them as options:
- Distinctive: line 159
Only search history for the current user's home directory
- Distinctive: line 160
Don't expose full session contents unprompted — summarize first
- Distinctive: line 161
If a session contains sensitive data (API keys, passwords visible in logs), note that without repeating the values
- Distinctive: line 169
Search history by keyword and approximate date
- Distinctive: line 171
Read the relevant portion (last 50-100 lines, or grep for specific terms)
- Distinctive: line 178
Search for the decision point in history
- Distinctive: line 185
Search history for git commands: "checkout -b", "branch", "pr create"
- Distinctive: line 187
Verify it still exists with git/gh commands in the current session
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
When to use
Use this skill when you need to recall something from a previous conversation session. This includes
finding past debugging sessions, remembering architectural decisions, locating code changes from
earlier work, or continuing a task you started days ago. Works with both Claude Code
(~/.claude/history.jsonl) and Cursor (~/.cursor/projects/*/agent-transcripts/).
How Conversation History is Stored
Claude Code
Claude Code saves every conversation in two locations:
- Global index —
~/.claude/history.jsonl- One JSON object per line, each representing a single user prompt
- Fields: prompt text, timestamp, project path, session ID
- Grows indefinitely, never auto-deleted
- Use this for searching across all projects by keyword
- Full session transcripts —
~/.claude/projects/<project-path>/- Project directory names use dashes replacing path slashes (e.g.,
-Users-me-Code-myproject/) - Each session is a
.jsonlfile named by session ID - Contains the complete conversation: user messages, assistant responses, tool calls, results
sessions-index.jsonhas metadata: summaries, message counts, git branches, timestampsmemory/MEMORY.mdholds auto-memory
- Project directory names use dashes replacing path slashes (e.g.,
- Session lookup flow:
- Search
~/.claude/history.jsonlby keyword/date to find the session ID - Read the full session from
~/.claude/projects/<project>/<session-id>.jsonl - Or read
sessions-index.jsonfor summaries without loading full transcripts
- Search
Cursor
Cursor stores full conversation transcripts per workspace:
- Agent transcripts —
~/.cursor/projects/<workspace-path>/agent-transcripts/- Workspace path uses dashes replacing slashes (e.g.,
Users-me-Code-myproject/) - Each conversation is a directory named by UUID
- Inside:
<uuid>.jsonlwith full conversation data - Messages alternate between
"role":"user"and"role":"assistant" - User prompts are inside
<user_query>tags in the message content - Tool calls appear as
[Tool call]and[Tool result]blocks
- Workspace path uses dashes replacing slashes (e.g.,
- Finding the right workspace:
- List
~/.cursor/projects/to see all workspace directories - Match by project name in the directory name
- List the
agent-transcripts/subdirectory to see all conversations - Sort by modification time to find recent ones
- List
- Reading transcripts:
- Files can be large — search with grep/rg first, then read relevant chunks
- Don't try to read the entire file at once for large conversations
- Search for specific keywords, error messages, or file paths mentioned
Critical Rules
1. Search Before Reading
Never read an entire history file. They can be massive.
Wrong:
Read ~/.claude/history.jsonl
(loads thousands of lines, blows context window)Correct:
grep -i "authentication bug" ~/.claude/history.jsonl | tail -20Then read only the matching session transcript.
2. Use the Right Search Strategy per Tool
Claude Code — keyword search across all projects:
grep -i "search term" ~/.claude/history.jsonl | tail -20Claude Code — find sessions for a specific project:
ls ~/.claude/projects/-Users-me-Code-myproject/
cat ~/.claude/projects/-Users-me-Code-myproject/sessions-index.jsonCursor — find recent conversations in a workspace:
ls -lt ~/.cursor/projects/Users-me-Code-myproject/agent-transcripts/Cursor — search across all workspaces:
rg -l "search term" ~/.cursor/projects/*/agent-transcripts/*/*.jsonl3. Extract Context, Don't Dump Transcripts
When you find a relevant past conversation, extract only the key decisions, code changes, and conclusions. Don't paste the entire transcript into current context.
Wrong:
Here's the full previous conversation (4000 lines)...Correct:
From session on Feb 18 (project: myapp):
- We found the auth bug was caused by expired JWT refresh tokens
- Fix: added token rotation in middleware/auth.ts
- Branch: fix/jwt-refresh (PR #47, merged)
- Open follow-up: rate limiting on the refresh endpoint4. Match User Intent to Search Scope
| User says... | Search strategy |
| "yesterday we looked at..." | Filter by date in history.jsonl or sort transcripts by mtime |
| "we had a bug in the auth..." | Keyword search for "auth" + "bug" across history |
| "continue what we started on feature X" | Find session by feature name, extract last state |
| "what branch did we create for..." | Search for "branch" or "git checkout" in transcripts |
| "remember when we discussed..." | Broad keyword search, then read matching sessions |
5. Handle Multiple Matches Gracefully
When a search returns multiple sessions, present them as options:
Found 3 sessions mentioning "auth":
1. Feb 18, 15:30 — myapp — "Debug JWT refresh token expiry"
2. Feb 12, 09:15 — myapp — "Add OAuth2 Google login"
3. Jan 28, 14:00 — api-service — "Auth middleware refactor"
Which one are you referring to?6. Respect Privacy Boundaries
- Only search history for the current user's home directory
- Don't expose full session contents unprompted — summarize first
- If a session contains sensitive data (API keys, passwords visible in logs), note that without repeating the values
Patterns
Resuming a Previous Task
- User mentions something from a past session
- Search history by keyword and approximate date
- Find the session ID / transcript UUID
- Read the relevant portion (last 50-100 lines, or grep for specific terms)
- Summarize: what was done, what was the conclusion, what's left
- Continue the work in the current session
Cross-Referencing Decisions
- User asks "why did we do X?"
- Search for the decision point in history
- Find the conversation where X was discussed
- Extract the reasoning and alternatives considered
- Present the rationale without loading the full transcript
Finding a Lost Branch or PR
- Search history for git commands: "checkout -b", "branch", "pr create"
- Extract the branch name and PR number
- Verify it still exists with git/gh commands in the current session
Anti-Patterns
- Reading entire history files into context (context window explosion)
- Searching without date/keyword constraints (too many results)
- Dumping raw JSONL into the conversation (unreadable)
- Assuming conversation history exists for all tools (only Claude Code and Cursor store it)
- Searching other users' history directories
- Treating history as authoritative (code may have changed since the conversation)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

