A minimal, low-friction memory system for Claude Code
SaferSkills independently audited claude-memory-skill (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
╔══●══●══●══════════════════════════════════════════════╗
║ ║
║ > tree ~/.claude/memory ║
║ ║
║ ├── core.md claude-memory-skill ║
║ ├── topics/ ─────────────────── ║
║ │ └── *.md a skill is all you need ║
║ └── me.md ║
║ ║
╚═══════════════════════════════════════════════════════╝An embarrassingly simple and minimal implementation for agentic memory.
>
No databases. No embeddings. No semantic search. Just markdown files and a skill that teaches Claude when to read and write.
Claude Code forgets everything between sessions. Built-in auto-memory exists but:
A skill-based memory protocol with:
core.md summaries → topics/<topic>.md detailscurl -fsSL https://raw.githubusercontent.com/hanfang/claude-memory-skill/main/install.sh | bashOr clone and run locally:
git clone https://github.com/hanfang/claude-memory-skill.git
cd claude-memory-skill
./install.sh~/.claude/
├── CLAUDE.md # Hook added (or created)
├── commands/
│ └── mem.md # The memory skill
└── memory/
├── core.md # Summaries + pointers (always loaded)
├── me.md # About you (always loaded)
├── topics/ # Detailed entries by topic
│ └── <topic>.md
└── projects/ # Project-specific memories
└── <project>.md┌─────────────────────────────────────────────────────┐
│ Main Agent │
│ - Focuses on user's task │
│ - Spawns memory agent when needed │
│ - Doesn't wait (background) │
└─────────────────────┬───────────────────────────────┘
│ spawn (background)
▼
┌─────────────────────────────────────────────────────┐
│ Memory Agent │
│ - Reads core.md + relevant topics │
│ - Writes to topic files │
│ - Updates core.md summaries │
└─────────────────────────────────────────────────────┘These run automatically — you don't invoke them:
| Action | When | Blocking |
|---|---|---|
load | Session start | No |
save | Claude learns something useful | No |
recall | Claude needs context | No |
These are for you to inspect and manage memory:
| Command | Description |
|---|---|
/mem show | Display memory structure and contents |
/mem forget <topic> | Remove a topic or specific entries |
Just say it naturally:
Edit ~/.claude/memory/me.md with facts about yourself:
# About the User
- AI researcher, focus on agents and RL
- Prefer explicit code over clever abstractions
- Python, PyTorch, JAXcore.md (always loaded):
# Core Memory
## Debugging
Mostly async/timing issues. Prefer explicit logging.
→ topics/debugging.md
## RL Research
PPO tuning, reward shaping experiments.
→ topics/rl.mdtopics/debugging.md (loaded on demand):
## Async race condition fix [2024-01-15]
Added explicit locks around shared state access.
## Redis timeout debugging [2024-01-10]
Default timeout was too short for large payloads.## block = one memoryrm -rf ~/.claude/memory
rm ~/.claude/commands/mem.md
# Manually remove the memory hook from ~/.claude/CLAUDE.mdMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.