By skymanbp
Persistent memory for Claude Code — automatic save/restore across compactions and sessions. Anti-patch reconcile-on-write, forced PROGRESS.md handoff, live PLAN.md anchor with plan-refiner / plan-guardian subagents, FTS5 search, AI-judged extraction with Haiku + local Ollama fallback.
Drift check for the active cc-memory plan. Read memory/PLAN.md + memory/PROGRESS.md, compare against recent activity, and report whether the live work is still aligned with the plan. Read-only — do not edit files or write to the DB.
Normalise a raw plan (markdown or freeform text from ExitPlanMode or a user) into the canonical cc-memory JSON schema. Use this exactly once per new plan; do not invoke for re-syncing TodoWrite (that's mechanical) or for drift checks (use plan-guardian instead).
Load cc-memory for this project — verify the plugin is globally enabled, ensure the project's memory/ directory is initialized, and report end-to-end health. The cc-memory equivalent of "make sure I'm wired up here".
Save important memories from this conversation to the cc-memory database via the anti-patch upsert path (merge / supersede / insert based on similarity to existing memories).
Matches all tools
Hooks run on every tool call, not just specific ones
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Claude Code persistent memory plugin (v2.2) — anti-patch reconcile-on-write, forced PROGRESS.md handoff, live PLAN.md anchor with plan-refiner / plan-guardian subagents, FTS5 search, AI-judged extraction with Haiku + local Ollama fallback.
Claude Code compresses (compacts) conversations when the context window fills up, causing information loss: decisions, results, todos, and project knowledge disappear. Conversations that end normally (terminal closed) also lose context.
cc-memory captures structured memories at every conversation boundary AND forces the next session to read a handoff document before it starts work.
llm.memory_writer.upsert_smart,
which MERGES (overwrites a similar memory in place), SUPERSEDES (archives the
old, links the new via supersedes_id), or INSERTS — chosen by trigram-Jaccard
similarity. No more stacked duplicates. See docs/MEMORY_RULES.md.memory/PROGRESS.md is the single source
of truth for session handoff, always full-rewritten from a SQL row, never
appended. SessionStart emits a <system-reminder> block that requires the
next Claude to Read it before responding. See docs/HANDOFF_PROTOCOL.md.cc_memory/{core,hooks,llm,cli,mcp,ui}/..claude/skills/
duplicate, removed the third copy of save-memories, removed dual installers.memory/PLAN.md). Captures ExitPlanMode output
(or user-supplied raw plans) into a structured, step-tracked document
that survives session boundaries. TodoWrite syncs step statuses
mechanically; sensitive Bash calls (git push, deploys, ...) flag
drift. See docs/PLAN_PROTOCOL.md.plan-refiner normalises raw plans into
JSON; plan-guardian checks alignment when drift counters trip.
Definitions live in agents/ and are auto-discovered after install./cc-mem dashboard subcommand: launches the Tkinter GUI without
needing to know the plugin install path.claude /plugin marketplace add skymanbp/cc-memory
claude /plugin install cc-memory
claude /plugin marketplace add /path/to/cc-memory
claude /plugin install cc-memory
cc-memory-installer.exe from Releasesgit clone https://github.com/skymanbp/cc-memory.git
python cc-memory/cc_memory/ui/installer.py # GUI
# or
python cc-memory/cc_memory/ui/installer.py --cli # CLI
The installer:
~/.claude/hooks/cc-memory/.~/.claude/settings.json.Per-project initialization is automatic — the first user message creates
<project>/memory/ and the SQLite DB.
Hooks (registered in ~/.claude/settings.json):
UserPromptSubmit ─► turn count + first-prompt seeding of PROGRESS.md
auto-init memory/ on first contact
PostToolUse ─► insert one observation row per tool call (no LLM)
Stop ─► Haiku observer extracts memories from this turn
patch_progress(files_touched=...)
idle reorg every 5 turns
PreCompact ─► Haiku extracts memories from the full transcript
ALL writes go through llm.memory_writer.upsert_smart
FULL-REWRITE memory/PROGRESS.md from SQL row
archive session, regen MEMORY.md, maybe LLM-consolidate
SessionStart ─► inject context (topics + critical + timeline + PROGRESS preview)
emit FORCED <system-reminder>: "Read PROGRESS.md FIRST"
retroactive save of unsaved prior JSONLs
Per-project state lives at <project>/memory/:
memory/
├── memory.db SQLite WAL, see core/db.py for schema
├── MEMORY.md auto-generated index, refreshed every write
├── PROGRESS.md full-rewrite from `progress` row at every Stop+PreCompact
├── .last_save.json status from last PreCompact
├── .gitignore excludes DB + sessions
├── sessions/YYYY/MM/ per-session archives
└── topics/ reserved for future per-topic exports
npx claudepluginhub skymanbp/cc-memory --plugin cc-memoryA Claude Code plugin and LLM-agnostic rule pack that enforces systematic thinking, verified citations, and root-cause analysis — eliminating reactive, lazy AI behavior. v0.20 collapses the agent's reply skeleton into a fixed YAML schema (cc-enslaver: block whose field names ARE the existing Stop-hook detection markers, so no detector changed) and adds Stop layer (h): a hard-enforced one-sentence plain-language TL;DR (大白话总结) required on every done-claim reply, plus a 大白话 line on every block reason. v0.19 adds cwd-fallback for project edicts path resolution when CLAUDE_PROJECT_DIR fails to propagate.
Universal radial-tree exploration engine for Claude Code. One `tree` skill + swappable presets (brainstorm / attack / design / code-audit) for divergent ideation, adversarial critique, and design-space exploration. 12 framings × hard-ban-on-incomplete-leaves × stable convergence. See CHANGELOG.md for per-version history.
Scientific paper writing + review + ideation pipeline for top-tier journals (ApJ/MNRAS/PRD/JCAP-class). Ships 8 skills (paper, paper-review, figure-review, paper-style, brainstorm, mainline, paper-attack-tree, final-review) and 7 corpus-driven style tools. See CHANGELOG.md for per-version history.
Persistent memory for Claude Code. Capture work across sessions and recall relevant context.
Persistent memory system for Claude Code with SQLite, FTS5, and vector search
Persistent local memory for Claude Code. Cross-session recall with vector search, automatic archiving, zero cloud dependencies.
Searchable conversation memory - auto-syncs sessions to SQLite with full-text search
Persistent long-term memory for Claude Code via MCP — captures coding decisions, bugfixes, and context across sessions. Hybrid FTS5 + TF-IDF search with episode batching. Single SQLite DB, no external services. A lighter, lower-cost alternative to claude-mem (episode batching + a smaller model; cost savings are an internal estimate, not a measured benchmark).
Curated persistent memory for Claude Code. Write gate prevents bloat — only behavior-changing facts get saved. Tiered architecture: daily logs, structured registers, and auto-loaded working memory.