About memory
Memory is a project memory skill that stores durable decisions and daily notes in files, then finds relevant passages through semantic search. It is intended for people who need to recall project context across sessions.
Key features
- 01Separate long-term and daily notes
- 02Semantic search across memory files
- 03Results include paths, line ranges, scores, and snippets
- 04Sync files to update the search index
Use cases
- 01Recall a past database decision
- 02Find a previously noted coding pattern
- 03Save session progress and temporary context
- 04Retrieve user preferences from project notes
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ rjyo/ memory-search --skill memoryAfter installing, type/memoryin Claude Code to confirm it loaded.
Details
From the project READMEMemory
A hybrid search memory system for your project. Save important information and find it later using semantic search.
First run: If slow on first use, run
bunx memory-search --warmupto pre-download the embedding model (~300MB).
Memory File Structure
project/
├── MEMORY.md # Long-term: preferences, patterns, decisions
└── memory/
└── YYYY-MM-DD.md # Daily: session notes, context, progress
Searching Memory
When the user asks about past decisions, preferences, or wants to recall information:
bunx memory-search "QUERY_HERE"
Search Examples
bunx memory-search "database choice decision"
bunx memory-search "error handling pattern"
bunx memory-search "user preferences coding style"
bunx memory-search "authentication implementation"
Output Format
Returns matching snippets with:
- path: File where the match was found
- lines: Line range (startLine-endLine)
- score: Relevance score (0-1)
- snippet: The matching text
After Searching
- Present the relevant results to the user
- If they want more detail, use
Readto get the full file content - If no results found, offer to search with different terms
Saving to Memory
When the user says "remember this", "save this", "note that", or wants to store information:
Decide Which File
MEMORY.md (Permanent):
- User preferences ("I prefer TypeScript")
- Project decisions ("We chose PostgreSQL for X reason")
- Coding patterns ("Always use async/await")
- Architecture decisions
- Important URLs, contacts, credentials references
memory/YYYY-MM-DD.md (Daily):
- What was worked on today
- Bugs found and fixed
- Ideas to explore later
- Meeting notes
- Temporary context
How to Save
- Read existing file first (if it exists) to avoid overwriting
- Append new content with a timestamp or section header
- Use clear, searchable language (will be vector-searched later)
- Run sync after saving to update the search index
bunx memory-search --sync
Example: MEMORY.md
## User Preferences
- Prefers Bun over Node for TypeScript projects
- Uses pnpm as package manager
- Likes minimal dependencies
## Project Decisions
### 2024-01-15: Database Choice
Chose SQLite over PostgreSQL because:
- Single-user application
- No need for concurrent writes
- Simpler deployment
Example: memory/2024-01-15.md
# 2024-01-15
## Session Notes
### 10:30 - Authentication Setup
- Implemented JWT auth flow
- Added refresh token rotation
- TODO: Add rate limiting
### 14:00 - Bug Fix
- Fixed race condition in user creation
- Root cause: missing transaction wrapper
Tips
- Use descriptive queries, not single keywords
- The search is semantic (understands meaning, not just exact words)
- If unsure which file to use, ask the user
- Always sync after saving new content