Use when: User wants to persist information across sessions via memory blocks, compact scratch memory, or search memory.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
Use when: User wants to persist information across sessions via memory blocks, compact scratch memory, or search memory.
remember [something] - Add to memory/compact - Archive scratch, migrate facts/memory-search [query] - Semantic search via LanceDBMemory blocks are stored in .memory/ directory:
.memory/
├── core.md # Fundamental project facts (rarely changes)
├── user.md # User preferences, style, conventions
├── project.md # Project-specific context, architecture
└── scratch.md # Current session notes (volatile)
remember [fact]Add information to appropriate memory block.
Classification:
core.md (project name, primary language, critical constraints)user.md (coding style, tool preferences, workflow choices)project.md (architecture decisions, module purposes, integration patterns)scratch.md (current task context, WIP notes)Format:
## [Category]
- [YYYY-MM-DD] <fact>
Example:
User: remember that we use pnpm not npm
→ Adds to user.md:
## Package Manager
- [2024-01-15] Project uses pnpm, not npm
/compactArchive scratch memory and migrate durable facts.
Workflow:
scratch.mdhistory/memory-archive/scratch-{date}.mdscratch.mdArchive format:
# Scratch Archive - {date}
Session thread: {thread-id}
[archived content]
/memory-search [query]Semantic search across all memory blocks.
Implementation:
# Using lib/memory_search.py with LanceDB
python lib/memory_search.py --query "<query>" --index .memory-index/memory.lance
Returns:
Threshold warning at 80%:
When approaching threshold:
Session start (via hook):
1. Load all memory blocks as XML context
2. Check capacity thresholds
3. Warn if scratch.md is large
Session end:
1. Prompt for `/compact` if scratch.md has content
2. Update project.md with session learnings
Rebuild index after updates:
python lib/memory_search.py --rebuild --source .memory/ --index .memory-index/memory.lance
ADDED to [block]: <summary>
ARCHIVED: scratch.md → history/memory-archive/scratch-{date}.md
MIGRATED: <count> facts to core/user/project
CLEARED: scratch.md
RESULTS for "<query>":
1. [project.md:L42] <relevant text> (score: 0.89)
2. [user.md:L15] <relevant text> (score: 0.76)
...