by HelloRuru
Claude Code 的記憶系統 | A memory system built with hooks + markdown. Zero dependencies.
# Add to your Claude Code skills
git clone https://github.com/HelloRuru/claude-memory-engineGuides for using ai agents skills like claude-memory-engine.
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.
No comments yet. Be the first to share your thoughts!
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