Claude Code 的記憶系統 | A memory system built with hooks + markdown. Zero dependencies.
Repo: HelloRuru/claude-memory-engine
What's inside
Memory tools can help it "remember." But remembering is not the same as learning.
Memory Engine doesn't just help Claude remember — it teaches Claude to learn like a student:
Think of it like exam prep. I'm trying to make Claude Code act like a student cramming for finals — take notes after every class, organize them, review for patterns, build an error notebook, and do a big end-of-term review. Each cycle, it gets a little better.
In class (automatic, runs every session)
There is no real "end" to a Claude Code conversation — it might close, idle out, or get compressed. So Memory Engine doesn't rely on any single moment. Instead, it saves at three different points:
mid-session-checkpoint) — saves a checkpoint + mini analysis. The most reliable save point, because it counts messages itselfpre-compact) — fires right before context is compressed. Saves a snapshot, detects pitfalls, runs backup. This is when context is fullest, so pitfall detection is most accurate heresession-end) — saves a final summary + backup. Nice to have, but not guaranteed to fire (window might just close)You don't need to remember to run any command before closing — your important stuff is already saved before you close.
On top of that, Claude also:
Final exam review (manual, run /reflect)
After a few days of notes, run /reflect and Claude will:
This isn't a one-time thing. Each cycle makes the notes sharper, the patterns clearer, the mistakes fewer. It's a loop that keeps improving.
Some mistakes don't show up in error logs. You correct its output, and only then does it realize — "oh, that was wrong." These mistakes don't get remembered automatically. Unless someone builds it an error notebook.
Record (/analyze, manual — run right after you correct something)
/analyzeReview (automatic: before each task / manual: type /correct anytime)
/correct — no need to wait for a task or a cycleClean up (/reflect step 6, manual)
But you know that from here on, your AI has grown a little more.
Can I just type /correct directly?
Yes. /correct works anytime — no need to wait for a task or a cycle. It simply opens the error notebook and shows you what's active.
How often should I run /reflect?
There's no fixed schedule. A good rhythm is once a week, or whenever the notebook feels cluttered. Step 6 of /reflect handles cleanup — upgrading repeat offenders to hard rules and clearing ones you've already internalized.
Do I have to run /analyze first before /correct works?
No. /analyze records new mistakes; /correct reviews existing ones. They're independent. Even if you never run /analyze, /correct still shows whatever is already in the notebook.
Smart Context (automatic, no config needed)
Auto Learn (automatic, on session end)
Memory and learning are the core, but day-to-day work needs more:
| Feature | Description |
|---|---|
| Health | /check daily scan + /full-check weekly audit to keep the memory system healthy |
| Tasks | /todo tracks pending items across all projects |
| Backup | /backup /sync connect to GitHub — bidirectional sync, safe even if your machine dies |
| Cross-device | Set up a GitHub memory repo, and your memory works across machines. New device? Run /recover and it's all there |
| Recovery | /recover restores lost memory from GitHub backup |
| Search | /memory-search keyword search across all memory files |
| Bilingual | Every command has an English + Traditional Chinese version (36 files) |
Not sure what commands are available? Type
/overview(/全覽) to see them all.
Daily Operations
| EN | ZH | Function |
|---|---|---|
/save | /存記憶 | Save memory across sessions — auto-dedup and route to the right file |
/reload | /讀取 | Load memory into the current conversation |
/todo | /待辦 | Cross-project task tracking |
/backup | /備份 | Push local memory to GitHub |
/sync | /同步 | Bidirectional sync — push local, pull remote |
Reflection & Learning
| EN | ZH | Function |
|---|---|---|
/diary | /回顧 | Generate a reflection diary |
/reflect | /反思 | Analyze pitfall records and find recurring patterns |
/learn | /學習 | Manually save a pitfall experience |
Health Checks
| EN | ZH | Function |
|---|---|---|
/check | /健檢 | Quick scan — capacity, broken links, orphan files |
/full-check | /大健檢 | Full audit — commands, git repos, environment config |
/memory-health | /記憶健檢 | Memory file line counts, update dates, capacity warnings |
Search & Maintenance
| EN | ZH | Function |
|---|---|---|
/memory-search | /搜尋記憶 | Keyword search across all memory files |
/recover | /想起來 | Restore memory from GitHub backup |
/compact-guide | /壓縮建議 | Guide for when to compress and when not to |
/overview | /全覽 | List all available commands |
Collaboration
You have three Claude Code windows open. One's fixing a bug, one's writing docs, one's cleaning up code. You switch over — and that window has zero clue what you were just doing.
/save is for things you want to remember long-term. /backup pushes everything to GitHub. /handoff is for right now — what you were working on, what's done, what's not.
| EN | ZH | Function |
|---|---|---|
/handoff | /交接 | Generate a handoff file so another session can pick up where you left off |
How it works: Run /handoff in window A. It saves a handoff file with your progress, decisions, and unfinished tasks. Window B picks it up automatically — no command needed on the receiving end. If B is already mid-conversation, it detects the new handoff in real time. If B starts a new conversation, it loads the handoff on startup. Either way, B sees it once and moves on.
Engine maintenance (new in v2.0)
| EN | ZH | Function |
|---|---|---|
/bb-pause | /暫停同步 | Pause SessionEnd auto-commit while refactoring engine internals |
When you're editing memory-backup.sh, hooks/*.js, or CLAUDE.md, the SessionEnd hook might auto-commit a half-finished version. /bb-pause on creates a .bb-pause lock file that makes the script exit early. Run /bb-pause off when you're done.
| Hook | Trigger | What it does |
|---|---|---|
session-start | New conversation | Load last summary + project memory + pending handoffs |
session-end | Conversation ends | Save summary + backup (best-effort, may not fire) |
pre-compact | Context compression (auto or manual) | Save snapshot + pitfall detection + backup — the real safety net |
memory-sync | Every message sent | Detect cross-session memory changes + new handoffs |
write-guard | Before file writes | Sensitive file interception |
pre-push-check | Before git push | Safety check |
mid-session-checkpoint | Every 20 messages | Save checkpoint + mini analysis |
Memory Engine supports cross-device sync through a GitHub repo. Set it up once, and your memory works on every machine.
How it works:
/backup pushes local memory to your private GitHub repo (memory-backup.sh push)/sync does bidirectional sync — pull remote updates, then push local changes (memory-backup.sh sync)/recover on a new device pulls everything back and distributes to all local projects (memory-backup.sh pull)What this means: Switch laptops, reinstall your OS, set up a new workstation — run /recover and Claude picks up right where you left off. No re-explaining your preferences, no lost context.
FAQ
claude-memory-engine is a Claude Code plugin with hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it