From context-memory
Saves and searches past Claude Code sessions so context, decisions, and code persist across conversations. Use when user says 'remember this', 'save this session', 'recall', 'search past sessions', 'what did we discuss about', or 'find previous work on'. Do NOT use for general file storage, note-taking, or bookmark management.
How this skill is triggered — by the user, by Claude, or both
Slash command
/context-memory:context-memoryThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Saves and searches past Claude Code sessions so context, decisions, and code persist across conversations.
references/schema-reference.mdscripts/__init__.pyscripts/auto_save.pyscripts/dashboard.pyscripts/db_init.pyscripts/db_prune.pyscripts/db_save.pyscripts/db_search.pyscripts/db_utils.pyscripts/mcp_server.pyscripts/pre_compact_save.pyscripts/static/css/dashboard.cssscripts/static/index.htmlscripts/static/js/api.jsscripts/static/js/app.jsscripts/static/js/components/charts.jsscripts/static/js/components/code-block.jsscripts/static/js/components/modal.jsscripts/static/js/components/session-card.jsscripts/static/js/components/toast.jsSaves and searches past Claude Code sessions so context, decisions, and code persist across conversations.
Activate this skill when the user says:
Do NOT activate for:
~/.claude/context-memory/context.db~/.claude/skills/context-memory/scripts/Save the current session with an optional annotation.
Search past sessions.
--project: Limit to current project--detailed: Include full message content and code snippets--limit N: Maximum results (default: 10)User says: /remember "Fixed the JWT refresh bug"
Actions:
debugging, jwt, authentication--json
Result: "Session saved. Summary: Fixed JWT refresh token expiration bug by adding clock skew tolerance. Topics: debugging, jwt, authentication. Messages: 8 saved. Snippets: 1 saved. Note: Fixed the JWT refresh bug."User says: "what did we discuss about database migrations?" Actions:
db_search.py "database migrations" --format markdown--detailed for full context.User says: /recall authentication --detailed
Actions:
db_search.py "authentication" --detailed --format markdownWhen the user wants to save/remember the current session:
Generate a structured summary:
Extract 3-8 relevant topics (lowercase, e.g., "authentication", "react", "debugging")
Identify significant code snippets worth preserving
Select 5-15 key messages that capture the problem, decisions, and solutions
Pipe the JSON via stdin using --json -:
python "~/.claude/skills/context-memory/scripts/db_save.py" --json - << 'ENDJSON'
{
"session_id": "<UNIQUE_ID>",
"project_path": "<PROJECT_PATH>",
"messages": [
{"role": "user", "content": "..."},
{"role": "assistant", "content": "..."}
],
"summary": {
"brief": "One-line summary",
"detailed": "Full 2-3 paragraph summary...",
"key_decisions": ["Decision 1", "Decision 2"],
"problems_solved": ["Problem 1"],
"technologies": ["python", "sqlite"],
"outcome": "success"
},
"topics": ["topic1", "topic2"],
"code_snippets": [
{
"code": "def example(): pass",
"language": "python",
"description": "What this does",
"file_path": "src/example.py"
}
],
"user_note": "User's note or null"
}
ENDJSON
Important: Always use --json - (stdin) for /remember saves. This avoids temp file issues on Windows. The CLI args path (--brief, --topics) only saves a subset of fields and leaves --detailed recall empty.
When the user wants to recall/search past sessions:
python "~/.claude/skills/context-memory/scripts/db_search.py" "<QUERY>" --format markdown [--project "$(pwd)"] [--detailed] [--limit N]
Present results in a clear, scannable format.
If results are insufficient, offer to:
--project filter--detailed for deeper content# Context Memory Results
**Query**: "authentication"
**Results**: 3 sessions
---
## 1. 2026-01-15 | my-app (Match #1)
**Summary**: Implemented JWT auth with refresh token rotation
**Topics**: authentication, JWT, security, Node.js
**Decisions**:
- Use RS256 for token signing
- 15-minute access token expiry
<details><summary>Full Context</summary>
[Detailed content here]
</details>
python ~/.claude/skills/context-memory/scripts/db_init.py~/.claude/context-memory/. The directory must be writable.--project filter, or try related keywords.--json for full data. Always ask user if they want to add a note/annotationThe plugin saves a full conversation checkpoint before Claude Code compacts context, preventing loss of detail.
pre_compact_save.py) — Triggered automatically before compaction. Reads the transcript and saves all messages to the context_checkpoints table without truncation or sampling.context_load_checkpoint MCP tool — Restores the full conversation after compaction. Accepts session_id, project_path, and optional last_n_messages parameters.db_prune.py prunes old checkpoints (per-session and age-based) alongside regular session pruning.The context_checkpoints table (schema v4) stores:
session_id, project_path, project_hash — checkpoint identitycheckpoint_number, trigger_type — sequencing and trigger source (auto or manual)messages — full JSON message arraymessage_count, created_at — metadataAfter compaction, call the context_load_checkpoint MCP tool with the current project path to restore full conversation detail. Only use this when the compaction summary is missing information you need.
The optional MCP server (mcp_server.py) exposes these tools:
context_search — Search past sessions (FTS5 + BM25 ranking)context_save — Save a session with messages, summary, topics, snippetscontext_stats — Database statistics (table counts, DB size)context_init — Initialize or verify the database schemacontext_load_checkpoint — Load a pre-compact context checkpointcontext_dashboard — Launch the web dashboard in the backgroundRequires Python >= 3.10 and pip install mcp.
scripts/ directorynpx claudepluginhub erebusenigma/context-memorySearches and recalls previous Claude Code conversation sessions by querying a local SQLite FTS5 index or JSONL log files.
Manages cross-session learning and memory persistence by recording session logs, decisions, patterns, and project context in .claude/memory/. Invoked automatically for session handoff and history queries.