Topic-based automatic memory for Claude Code — never lose context across sessions or compactions.
> /plugin marketplace add hatawong/claude-recap> /plugin install claude-recap@claude-recap-marketplace
FAQ
claude-recap is a Claude Code plugin with 4 hand-picked skills for productivity work, indexed on Flowy. Install it with the command on its page. It includes ignore-topic, list-topics, remember. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Repo: hatawong/claude-recap
Claude Code forgets everything between sessions. Switch topics mid-conversation and the previous context is gone. Hit a context compaction and your working state evaporates. Start a new session and you're explaining the same project from scratch.
Two shell hooks that run automatically — zero manual effort:
/remember skill — Tell Claude to remember preferences across sessions: "always use bun", "never auto-commit". Stored in plain Markdown.Everything is stored locally as Markdown files in ~/.memory/. No database, no cloud, no dependencies beyond bash and Node.js.
# 1. Register the marketplace
/plugin marketplace add hatawong/claude-recap
# 2. Install the plugin (choose User scope for all projects)
/plugin install claude-recap@claude-recap-marketplace
# 3. Restart Claude Code to activate hooks
Note: After install, restart Claude Code for hooks to take effect.
/rememberworks immediately, but topic features (/save-topic,/list-topics, auto-archival) require the restart to inject the Topic Tag Rule.
git clone https://github.com/hatawong/claude-recap.git
cd claude-recap
./scripts/dev-register.sh /path/to/your/project
This writes hook entries directly into your project's .claude/settings.json.
SessionStart hook Stop hook
│ │
▼ ▼
Inject into session: Compare topic tag
• REMEMBER.md (preferences) with .current_topic
• Topic history │
• Topic Tag Rule ┌────────┴────────┐
│ │ │
▼ Same topic Topic changed
Claude responds with → pass → exit 2
topic tag: › `slug` → LLM writes summary
│ → script archives to
▼ ~/.memory/
Every response tagged
automatically ┌─────────────────────────┐
│ Compaction recovery: │
│ .compacted detected → │
│ cold-read from JSONL → │
│ accurate summary saved │
└─────────────────────────┘
| Feature | How |
|---|---|
| Topic-based archival | Stop hook detects topic changes, archives with summaries |
| Cross-session memory | SessionStart hook injects previous topics + preferences |
| Compaction recovery | Cold-reads JSONL transcripts when context is truncated |
/remember | Persist preferences globally or per-project |
/save-topic | Manually checkpoint current topic progress |
/list-topics | View all topics discussed in current session |
| Delayed archival | Background process archives topics from past sessions |
| 100% local | Plain Markdown in ~/.memory/, no cloud, no database |
All data lives in ~/.memory/ (configurable via MEMORY_HOME env var):
~/.memory/
REMEMBER.md # Global preferences
projects/
{project-path-encoded}/ # e.g. -Users-you-my-app
REMEMBER.md # Project preferences
{session-id}/
.current_topic # Active topic slug
01-setup-auth.md # Topic summary (auto-numbered)
02-fix-login-bug.md
| Claude-Recap | claude-mem | Manual CLAUDE.md | |
|---|---|---|---|
| Granularity | Per-topic | Per-session dump | Manual |
| Automation | Fully automatic | Automatic | Manual |
| Compaction survival | Yes (cold-read recovery) | No | N/A |
| Storage | Local Markdown | ChromaDB | Local Markdown |
| Dependencies | bash, Node.js | Python, ChromaDB | None |
| Topic separation | Automatic | None | Manual |
| Variable | Default | Description |
|---|---|---|
MEMORY_HOME | ~/.memory | Root directory for all memory data |
/plugin uninstall claude-recap@claude-recap-marketplace
Your data in ~/.memory/ is preserved — uninstalling does not delete memory files. Reinstalling restores full functionality with existing data.
# Pull latest and update plugin cache
/plugin marketplace update claude-recap-marketplace
Or enable auto-update via /plugin → Marketplaces → "Enable auto-update".
See CONTRIBUTING.md.
.claude-plugin/
marketplace.json
plugin.json
.github/
ISSUE_TEMPLATE/
bug_report.md
feature_request.md
.gitignore
CHANGELOG.md
CONTRIBUTING.md
demo.gif
docs/
advanced-usage_cn.md
advanced-usage.md
architecture_cn.md
architecture.md
design-decisions_cn.md
design-decisions.md
faq_cn.md
faq.md
hooks/
hooks.json
session-start.sh
stop.sh
LICENSE
README_CN.md
README.md
scripts/
archive-pending.sh
cold-summarize.sh
dev-register.sh
dev-unregister.sh
extract-topic.js
ignore-topic-utils.sh
ignore-topic.sh
remember.sh
save-topic.sh
set-topic.sh
topic-tmpl.md
skills/
ignore-topic/
SKILL.md
list-topics/
SKILL.md
remember/
SKILL.md
save-topic/
SKILL.md
tests/
test-e2e.js
test-scripts.js© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic