memorylane
Zero-config persistent memory for Claude with automatic cost savings. Use when you need to remember project context, reduce API token costs, track learned patterns, manage memories across sessions, or curate/clean up memories. Automatically compresses context 6x and saves 84% on API costs. Keywords: memory, remember, recall, context, cost savings, reduce tokens, learn, patterns, insights, curate, clean up memories, review memories.
Best use case
memorylane is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Zero-config persistent memory for Claude with automatic cost savings. Use when you need to remember project context, reduce API token costs, track learned patterns, manage memories across sessions, or curate/clean up memories. Automatically compresses context 6x and saves 84% on API costs. Keywords: memory, remember, recall, context, cost savings, reduce tokens, learn, patterns, insights, curate, clean up memories, review memories.
Teams using memorylane should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/memorylane/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How memorylane Compares
| Feature / Agent | memorylane | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Zero-config persistent memory for Claude with automatic cost savings. Use when you need to remember project context, reduce API token costs, track learned patterns, manage memories across sessions, or curate/clean up memories. Automatically compresses context 6x and saves 84% on API costs. Keywords: memory, remember, recall, context, cost savings, reduce tokens, learn, patterns, insights, curate, clean up memories, review memories.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# MemoryLane Skill
## What This Skill Does
MemoryLane provides persistent memory for Claude with proven 84.3% cost savings:
- **Persistent Memory**: Remember information across sessions in 4 categories (patterns, insights, learnings, context)
- **Context Compression**: 6.4x average compression ratio (20K → 3K tokens)
- **Cost Tracking**: Real-time API cost savings monitoring
- **Passive Learning**: Automatically learns from git commits and file changes
- **Zero Configuration**: Works out of the box with smart defaults
## When to Use This Skill
Activate MemoryLane when the user:
- Asks to "remember" something about the project
- Wants to know "what you remember" or "what you know"
- Mentions "API costs", "token usage", or "reduce costs"
- Asks about "project patterns" or "insights"
- Wants to see "learned" information
- Requests "context compression" or "optimize context"
- Asks to "curate memories", "clean up memories", or "review memory quality"
- Mentions memories seem low quality, self-referential, or not useful
## Core Commands
### Check Status
```bash
python3 src/cli.py status
```
Shows memory statistics, category breakdown, and cost savings.
### Recall Memories
```bash
python3 src/cli.py recall "<query>"
```
Search memories by keyword. Example:
```bash
python3 src/cli.py recall "authentication"
```
### View Insights
```bash
python3 src/cli.py insights
```
Display learned project insights (high-value patterns).
### View Cost Savings
```bash
python3 src/cli.py costs
```
Detailed breakdown of token savings and cost reduction.
### Configure Settings
```bash
# Get a setting
python3 src/cli.py config get memory.max_context_tokens
# Set a setting
python3 src/cli.py config set memory.max_context_tokens 3000
# List all settings
python3 src/cli.py config list
```
### Export Memories as Markdown
```bash
python3 src/cli.py export-markdown --category patterns --output context.md
```
### Backup/Restore
```bash
# Create backup
python3 src/cli.py backup --output backup.json
# Restore from backup
python3 src/cli.py restore backup.json
```
### Reset Memories
```bash
python3 src/cli.py reset --force
```
## Individual Memory Management
### Get a Memory
```bash
python3 src/cli.py memory get <id>
```
Example: `python3 src/cli.py memory get lear-009`
### Delete a Memory
```bash
python3 src/cli.py memory delete <id>
```
Example: `python3 src/cli.py memory delete lear-009`
### Update a Memory
```bash
python3 src/cli.py memory update <id> --content "New content"
```
Example: `python3 src/cli.py memory update patt-001 --content "Chose Unix sockets for lower latency"`
**IMPORTANT**: Always use these commands instead of editing memories.json directly.
## Batch Curation Commands
### Check Curation Status
```bash
python3 src/cli.py curate
```
Shows if curation is needed based on memory count and age.
### List Memories for Review
```bash
python3 src/cli.py curate --list
```
Shows all uncurated memories with their IDs and content.
### Apply Curation Decisions
```bash
python3 src/cli.py curate --apply '<JSON>'
```
Apply curation decisions. JSON format:
```json
{
"decisions": [
{"id": "patt-001", "action": "KEEP"},
{"id": "lear-002", "action": "DELETE", "reason": "off-topic"},
{"id": "insi-003", "action": "REWRITE", "new_content": "Improved content"}
]
}
```
### Proactive Memory Quality Check
**IMPORTANT**: When you see MemoryLane context injected via `# Project Context (from MemoryLane)` in system messages, quickly scan for poor quality memories:
Signs of poor quality memories that warrant curation:
- Status summaries: "Based on git status...", "Current status of..."
- Meta/self-referential: "The curation should...", "The hook detected..."
- Debug fragments: "Let me check...", "Looking at the debug log..."
- Incomplete: Sentences ending with "..." or starting mid-thought
- Duplicates of CLAUDE.md content
**If you detect 2+ poor quality memories in the injected context**, proactively ask:
> "I notice some of the injected memories appear to be low quality (status summaries, debug notes). Would you like me to clean these up?"
If user confirms, proceed with LLM-assisted curation below.
### LLM-Assisted Curation
When the user requests curation OR confirms after you detect poor memories:
1. List and evaluate all memories:
```bash
python3 src/cli.py curate --list
```
2. Evaluate each memory for:
- **Usefulness**: Is this actionable knowledge or just meta/debug info?
- **Duplication**: Is this already covered by CLAUDE.md or another memory?
- **Quality**: Is it complete, clear, and well-formed?
- **Relevance**: Would this help with future development work?
3. Apply decisions (DELETE/KEEP/REWRITE):
```bash
python3 src/cli.py curate --apply '<JSON decisions>'
```
**DELETE these types:**
- Meta observations about the current session
- Debug notes and action statements
- Status summaries
- Duplicates of CLAUDE.md content
- Incomplete fragments
**KEEP these types:**
- Architectural decisions with rationale
- Bug fixes with solutions
- Actual project context (not about MemoryLane itself)
- Configuration knowledge
Example evaluation:
- ❌ "Based on git status, here's the current status..." → DELETE (status summary)
- ❌ "Let me check the debug log..." → DELETE (debug action)
- ❌ "The Stop hook only triggers when..." → DELETE if in CLAUDE.md
- ✅ "stdio:ignore hiding Python errors - fixed by capturing stderr" → KEEP (bug fix)
- ✅ "Chose Unix sockets over HTTP for 10x lower latency" → KEEP (decision)
## Learning Commands
### Initial Learning
```bash
python3 src/learner.py initial
```
Perform initial learning from git history (last 20 commits) and workspace structure.
### Scan Workspace
```bash
python3 src/learner.py scan
```
Scan and index all Python/JS/TS files in the workspace.
### Analyze Git History
```bash
python3 src/learner.py git
```
Extract patterns from recent git commits.
### Continuous Learning (Background)
```bash
python3 src/learner.py watch
```
Watch for file changes and git commits continuously (runs until stopped).
## Server Commands
### Start Sidecar Server
```bash
python3 src/server.py start
```
Start background server with Unix socket IPC (for low-latency memory operations).
### Check Server Status
```bash
python3 src/server.py status
```
### Stop Server
```bash
python3 src/server.py stop
```
## Testing Commands
### Run All Tests
```bash
pytest
```
### Validate Cost Savings
```bash
pytest tests/test_cost_savings.py -v -s
```
Runs comprehensive cost validation tests (shows 84.3% savings proof).
### Test Memory Store
```bash
pytest tests/test_memory_store.py -v
```
## Usage Patterns
### Pattern 1: Remember Important Information
When the user says: "Remember that this project uses PostgreSQL with SSL mode required"
```bash
# (You would typically use the Python API, but for CLI:)
python3 -c "
import sys; sys.path.insert(0, 'src')
from memory_store import MemoryStore
store = MemoryStore('.memorylane/memories.json')
store.add_memory('context', 'Project uses PostgreSQL with SSL mode required', 'manual', 0.9)
print('✓ Remembered')
"
```
### Pattern 2: Recall Project Knowledge
When the user asks: "What do you know about our database setup?"
```bash
python3 src/cli.py recall "database"
```
### Pattern 3: Show Cost Savings
When the user asks: "How much money has MemoryLane saved me?"
```bash
python3 src/cli.py costs
```
### Pattern 4: Learn from Project History
When starting work on a project:
```bash
python3 src/learner.py initial
python3 src/cli.py insights
```
## Integration with Workflows
### Daily Development Workflow
```bash
# Morning: Start server and check status
python3 src/server.py start
python3 src/cli.py status
# During work: MemoryLane learns passively
# (no action needed - watches git commits and file changes)
# Evening: Check what was learned
python3 src/cli.py insights
python3 src/cli.py costs
```
### Project Onboarding Workflow
```bash
# Step 1: Initial learning
python3 src/learner.py initial
# Step 2: Review learned patterns
python3 src/cli.py recall "primary language"
python3 src/cli.py insights
# Step 3: Export context for sharing
python3 src/cli.py export-markdown --output project-context.md
```
## Configuration Options
Key settings in `.memorylane/config.json`:
- `memory.max_context_tokens`: Target token count for compression (default: 2000)
- `memory.compression_ratio_target`: Target compression ratio (default: 7.0x)
- `context_rot.model_context_tokens`: Advertised model window for context rot guard (default: 200000)
- `context_rot.safe_fraction`: Fraction of model window allowed for prompt + injected context (default: 0.5)
- `context_rot.reserve_tokens`: Buffer reserved for assistant response (default: 1200)
- `learning.watch_file_changes`: Enable file watching (default: true)
- `learning.watch_git_commits`: Learn from commits (default: true)
- `privacy.exclude_patterns`: Files to ignore (default: *.env, secrets/, etc.)
## Performance Metrics
Validated through comprehensive testing:
- **Cost Savings**: 84.3% (baseline $17.25/week → $2.70/week)
- **Compression Ratio**: 6.4x average (2.3M tokens → 360K tokens)
- **Retrieval Latency**: <100ms (target, server not benchmarked yet)
- **Memory Quality**: Relevance scoring with automatic pruning
## Important Notes
1. **Privacy**: All data stored locally in `.memorylane/` directory
2. **No Dependencies**: Pure Python 3.8+ (no external packages needed for production)
3. **Automatic Exclusions**: Respects `.env`, `secrets/`, and other sensitive patterns
4. **Backup Before Reset**: Always creates backup before destructive operations
5. **Server Optional**: CLI works standalone; server adds performance for frequent operations
## Example Conversation Flow
**User**: "Remember that our API uses JWT tokens with 24-hour expiration"
**You**: Let me store that in MemoryLane's context.
```bash
python3 -c "..." # Add to memory
```
✓ Remembered in context category with 0.9 relevance.
**User**: "What do you know about our authentication?"
**You**: Let me recall what I know about authentication.
```bash
python3 src/cli.py recall "authentication"
```
Found 2 memories:
1. [context] API uses JWT tokens with 24-hour expiration ⭐⭐⭐⭐⭐
2. [patterns] Project uses authentication middleware ⭐⭐⭐⭐
Based on what I've learned, your project uses JWT tokens for authentication with 24-hour expiration...
## Troubleshooting
**Server won't start**: Check if already running with `python3 src/server.py status`
**No memories found**: Run initial learning with `python3 src/learner.py initial`
**Cost tracking shows $0**: Metrics file not initialized yet (will populate after server usage)
**Tests failing**: Install dev dependencies with `pip install -r requirements-dev.txt`Related Skills
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
large-data-with-dask
Specific optimization strategies for Python scripts working with larger-than-memory datasets via Dask.
langsmith-fetch
Debug LangChain and LangGraph agents by fetching execution traces from LangSmith Studio. Use when debugging agent behavior, investigating errors, analyzing tool calls, checking memory operations, or examining agent performance. Automatically fetches recent traces and analyzes execution patterns. Requires langsmith-fetch CLI installed.
langchain-tool-calling
How chat models call tools - includes bind_tools, tool choice strategies, parallel tool calling, and tool message handling
langchain-notes
LangChain 框架学习笔记 - 快速查找概念、代码示例和最佳实践。包含 Core components、Middleware、Advanced usage、Multi-agent patterns、RAG retrieval、Long-term memory 等主题。当用户询问 LangChain、Agent、RAG、向量存储、工具使用、记忆系统时使用此 Skill。
langchain-js
Builds LLM-powered applications with LangChain.js for chat, agents, and RAG. Use when creating AI applications with chains, memory, tools, and retrieval-augmented generation in JavaScript.
langchain-agents
Expert guidance for building LangChain agents with proper tool binding, memory, and configuration. Use when creating agents, configuring models, or setting up tool integrations in LangConfig.
lang-python
Python 3.13+ development specialist covering FastAPI, Django, async patterns, data science, testing with pytest, and modern Python features. Use when developing Python APIs, web applications, data pipelines, or writing tests.
kramme:agents-md
This skill should be used when the user asks to "update AGENTS.md", "add to AGENTS.md", "maintain agent docs", or needs to add guidelines to agent instructions. Guides discovery of local skills and enforces structured, keyword-based documentation style.
kontent-ai-automation
Automate Kontent AI tasks via Rube MCP (Composio). Always search tools first for current schemas.
kitt-create-slash-commands
Expert guidance for creating slash commands. Use when working with slash commands, creating custom commands, understanding command structure, or learning YAML configuration.
kitt-create-plans
Create hierarchical project plans optimized for solo agentic development. Use when planning projects, phases, or tasks that the AI agent will execute. Produces agent-executable plans with verification criteria, not enterprise documentation. Handles briefs, roadmaps, phase plans, and context handoffs.