Review Claude Code auto memory accumulated during a task and promote valuable findings to shared project config (CLAUDE.md, .claude/rules/, or global CLAUDE.md). Use this skill when finishing a branch, completing a task, wrapping up work, or anytime you want to review what Claude learned and decide what the team should know. Also use when the Stop hook reminds you about pending memory entries. Triggers on "triage memory", "review memory", "promote memory", "memory triage", "what did we learn", "clean up memory", "share learnings", "anything worth keeping", or when the user asks about knowledge accumulated during a session.
100
100%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Find the auto memory directory for the current project. Use the /memory
slash command output or resolve it directly:
git rev-parse --show-toplevel (or use cwd if
not in a git repo)/, replace remaining / with -,
prepend -~/.claude/projects/<encoded-path>/memory/Read MEMORY.md and every other .md file in that directory.
If the directory doesn't exist or contains no .md files with content:
"No auto memory found for this project. Nothing to triage."
Stop here.
Parse each file into distinct entries using markdown headers (#, ##,
###) and top-level bullet groups as boundaries.
Classify each entry as either a promote candidate or ephemeral. The core question: would a different developer benefit from knowing this?
See classification examples for detailed examples of each category.
When uncertain, classify as promote candidate. A false positive costs the user one "discard" decision. A false negative buries useful knowledge.
Before presenting, scan each candidate for secrets: API keys, tokens,
passwords, connection strings, credentials, or any string matching
common secret patterns (e.g., sk-..., ghp_..., Bearer ...,
-----BEGIN). Replace values with [REDACTED]. Never surface raw
secrets in conversation history.
Present candidates grouped by theme with rationale. See output formats for format.
If there are no promote candidates:
"All N entries look task-specific. Nothing to promote. Say 'show filtered' if you want to review them anyway."
For each promote candidate, ask: promote or discard?
When promoting, ask where it should go:
./CLAUDE.md or ./.claude/CLAUDE.md
(whichever exists; prefer .claude/CLAUDE.md if neither exists).claude/rules/<topic>.md (suggest a topic name
based on the entry's theme, e.g., debugging.md, ci.md)~/.claude/CLAUDE.md (for rules that apply
across all projects on this machine)Support batch decisions: if the user says "promote all debugging entries to rules/debugging.md", do it in one pass.
If the user asks to "show filtered", present the ephemeral entries with the same promote/discard options.
For each promoted entry:
Report a summary of promoted, discarded, and unchanged entries. See output formats for format.