From session-cartographer
Recall past work across all Claude Code sessions. Finds decisions, research, fixes, and conversations by intent.
How this skill is triggered — by the user, by Claude, or both
Slash command
/session-cartographer:rememberThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Recall past work from Claude Code session history. The user is trying to recover context — a decision, a fix, a paper, an approach — not run a database query.
Recall past work from Claude Code session history. The user is trying to recover context — a decision, a fix, a paper, an approach — not run a database query.
Hooks determine what's in the searchable index:
CARTOGRAPHER_LOG_TOOL_USE=true)Results include faceted summaries (project, source, event type, time range). Use these to narrow searches:
--project <name> — filter to a specific projectfeature, fix, refactor, enhancement, docs, test, chore, perf, ci, style, revert, or other. These appear in summaries as [feature] Commit abc1234: ... and are searchable as keywords.git_commit, research_fetch, research_search, milestone_session_end_*, milestone_compaction_*, tool_file_edit, tool_bashDo NOT freestyle grep or jq commands. Always use the unified search script.
Think about what the user is trying to recall, then translate to search terms.
bash ~/Documents/dev/session-cartographer/scripts/cartographer-search.sh "<search terms>"
If the user mentioned a specific project, add --project <name>:
bash ~/Documents/dev/session-cartographer/scripts/cartographer-search.sh "<terms>" --project scrutinizer
For more results, add --limit 25 or --limit 50. If the user says "more" or "keep going" after seeing results, re-run with a higher limit:
bash ~/Documents/dev/session-cartographer/scripts/cartographer-search.sh "<same terms>" --limit 30
Wildcard prefix search works: shader* matches shader, shaders, shaderlab, etc.
Show results as-is from the script output. Keep it scannable.
Search results are summaries. When you need full context, read the transcript file directly — don't wait for the user to ask.
Find the transcript path — it's in the search result as transcript:. If missing, resolve from session::
find ~/.claude/projects -name "<session-id>.jsonl" 2>/dev/null
Then read around the relevant moment:
jq -c 'select(.type == "user" or .type == "assistant") | select(.message.content | type == "string") | {type, timestamp, content: .message.content[:500]}' <transcript_path> | grep -A5 -B5 "<keyword>"
Or jump to a specific message by UUID:
jq 'select(.uuid == "<uuid>" or .parentUuid == "<uuid>")' <transcript_path>
The search result is the map. The transcript is the territory.
/remember that paper about foveated rendering
/remember what we decided about the shader approach
/remember the commit that fixed blur
/remember Blauch collaboration notes
/remember recent feature commits --project scrutinizer
/remember what was I working on last session
npx claudepluginhub andyed/session-cartographer --plugin session-cartographerSearches past Claude Code/Codex sessions via the recall CLI to retrieve past decisions, recurring mistakes, and vague back-references.
Searches and recalls previous Claude Code conversation sessions by querying a local SQLite FTS5 index or JSONL log files.
Searches across Claude Code and OpenClaw session history to find past conversations, decisions, code snippets, and resume previous sessions.