memory-management
Skill34 starsChanged 4 months agoISCView on GitHub
Use when auditing, extracting, pruning, or writing Claude Code memory files. Triggers: "memory management", "记忆管理", "记忆格式", "MEMORY.md", "记忆文件", "how to save memories", "how to organize memories", "记忆归档". Covers memory file format, MEMORY.md index conventions, staleness scoring, claim extraction heuristics, destination routing, mutation rules, archive conventions, and auto-generated memory from `remember.py`.
23 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- composio-community/opencode-skillstheir own version, first seen Nov 1, 2026
- ruvnet/ruflotheir own version, first seen Oct 21, 2026
- anthropics/knowledge-work-pluginstheir own version, first seen Oct 13, 2026
- shahbazaliofficial/Claude-Skillstheir own version, first seen Oct 13, 2026
- bocodes1/claude-skillstheir own version, first seen Oct 11, 2026
- edu6565/claude-skillstheir own version, first seen Oct 11, 2026
Used with
Projects with it also use agent-agent, agent-analyze-code-quality and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ZekiogSkillagent-agent
Agent skill for agent - invoke with $agent-agent
Also in 5 projects that use this
ZekiogSkillagent-analyze-code-quality
Agent skill for analyze-code-quality - invoke with $agent-analyze-code-quality
Also in 5 projects that use this
- +10 more from Zekiog
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- xiaolai/echo-sleuth-for-claude★ 995% same
Wrote their own version · 22
- ruvnet/claude-flow★ 80ksame name
- ruvnet/ruflo★ 79ksame name
- anthropics/knowledge-work-plugins★ 35ksame name
- composio-community/opencode-skills★ 14same name
- opencue/cuecards★ 6same name
- DojoCodingLabs/claude-code-waypoint★ 4same name
- grandamenium/claude-code-memory-skill★ 4same name
- hajekim/agentic-design-patterns-skills★ 4same name
- jau123/claude-memory-manager★ 4same name
- Zekiog/ruflo★ 2same name
12 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- session-diggerSkill
- deep-analysisSkill
- env-doctorSkill
- env-masterSkill
- env-radarSkill
- experience-synthesisSkill
- git-miningSkill
- jsonl-coreSkill
- native-diagSkill
- skill-insightSkill
- skill-searchSkill
- wechat-diggerSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 22 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 46
All values are plain strings, no quoting needed unless value contains :
- Distinctive: line 47
No nested structures, no lists, no multi-line values
- Distinctive: line 56
When writing: create individual .md file first, then append entry
- Distinctive: line 109
Rule: Always target the session's originating project, not the current shell cwd.
“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Memory Management
Auto-Generated Memory (remember.py)
scripts/remember.py reads the SQLite unified index and writes structured memory files:
| Output | Content | Type |
memory/auto-stats.md | Session count, message count, tool calls, error rate | project |
memory/auto-env-habits.md | Per-environment session count, error rate, avg message count | reference |
memory/auto-skill-usage.md | Top domain tools, unused skill list | reference |
memory/auto-errors.md | Cross-environment error rate comparison | reference |
memory/MEMORY.md | Index linking all auto-generated files | — |
Usage:
python3 scripts/remember.py # write all
python3 scripts/remember.py --dry-run # preview only
python3 scripts/remember.py --only skill # single categoryAuto-generated files follow the same frontmatter format, respect dedup rules, and are rebuilt from scratch on each run (no stale data from partial updates).
Memory File Format
Frontmatter schema (simple key: value, NOT general YAML):
---
name: <string, required> # short identifier
description: <string, required> # one-line summary for relevance matching
type: <enum, required> # value | user | feedback | project | reference | insight
---- All values are plain strings, no quoting needed unless value contains
: - No nested structures, no lists, no multi-line values
- Body follows after the closing
---delimiter as markdown
MEMORY.md Index Format
- Plain markdown file, no frontmatter
- Contains links to individual memory files with brief descriptions
- Lines after 200 are truncated by Claude Code's loader — keep concise
- Entry format:
- [filename.md](filename.md) — brief description - When writing: create individual .md file first, then append entry
Staleness Scoring
Exponential decay: score = 100 * (1 - exp(-age_days * ln(2) / half_life))
| Type | Half-life | Score 50 at | Score 90 at |
| value | 365 days | 365d | ~1213d |
| insight | 180 days | 180d | ~598d |
| user | 180 days | 180d | ~598d |
| feedback | 90 days | 90d | ~299d |
| reference | 60 days | 60d | ~199d |
| project | 14 days | 14d | ~47d |
| unknown | 30 days | 30d | ~100d |
insight 类型用于经验合成(experience-synthesis)产生的跨会话模式:
- "X 模式下 Y 工具效率最高"
- "反复出现 Z 模式,应提取为 skill"
- 有效期同 user 类型,但 deep verification 不适用(insight 无法验证文件/URL 是否存在)
Score-to-action: 0-50 = keep, 50-75 = review, 75-100 = prune.
Deep verification modifiers (additive, capped at 100):
- +20 if referenced file is missing
- +30 if referenced function/class not found
- +10 if URL returns non-200
- +15 if referenced branch doesn't exist
Claim Extraction Heuristics (Deep Audit)
| Claim Type | Detection Pattern | Verification |
| File path | Contains /, ends with file extension | Glob for existence |
| Function/class | Backtick identifier in camelCase/PascalCase/snake_case | Grep in project |
| URL | Starts with http:// or https:// | curl HEAD request |
| Branch | After "branch" keyword or git pattern in backticks | git branch -a |
| Package | In dependency/package context | Grep in manifest files |
Skip generic descriptions that aren't verifiable (e.g., "use a database" vs "uses PostgreSQL 15").
Destination Routing
| Destination | When to Use | Target Path |
| Memory file (value) | Learned value choices — "X is better than Y" | Session's project memory/ dir, type=value |
| Memory file | Knowledge for Claude's future behavior | Session's project memory/ dir |
| CLAUDE.md | High-impact instructions for every conversation | Session's project root CLAUDE.md |
| Knowledge file | Human-readable notes, decision logs | docs/knowledge/ in project root |
| Skip | Session-specific, not worth preserving | — |
Priority: Value choices are the most durable memories. When extracting, surface them first. Facts decay (files move, APIs change); values persist (readability > cleverness survives any rewrite).
Rule: Always target the session's originating project, not the current shell cwd.
Mutation Rules
| Layout | How to Write |
| Index + files | Create .md file with frontmatter, append to MEMORY.md |
| Standalone MEMORY.md | Convert to index layout: create first .md file, rewrite MEMORY.md as index |
| No memory dir | Create memory/, create MEMORY.md, create .md file |
| Malformed frontmatter | Read as type=unknown. Never corrupt existing files. |
Archive Convention
- Location:
memory/archive/subdirectory - Files preserved intact (frontmatter + content)
- MEMORY.md entry removed on archive
iter_memories()skipsarchive/— invisible to dashboard/audit/tokens- Standalone MEMORY.md: archiving not supported (offer delete or keep)
- Restore: manual move from
archive/+ re-add to MEMORY.md
下游协作
| 触发条件 | 推荐 |
| 需要解析会话数据补充记忆 | jsonl-core |
| 需要从历史会话提炼经验再写入 | experience-synthesis |
| 需要结合 git 提交交叉引用 | git-mining |
Dedup Heuristics
写入记忆前,先检查是否已存在相似内容:
- 同名文件已存在: 对比 body,若 Same → 跳过;若 Superset → 更新旧文件
- 不同名但内容相似: 用 keyword overlap (>60% shared rare words) 检测,合并为单一文件
- 同一 insight 被 multiple sessions 重复提取: 只保留最近一次(timestamp 最新),追加 source 行到 body 末尾
CLI History Recovery
当 ~/.claude/history.jsonl 中的 sessionId 在 ~/.claude/projects/ 找不到对应 JSONL 时:
- 该会话已被 Claude Code 压缩/清理,但
display字段保留了用户原始 prompt - 从 history.jsonl 提取 display + timestamp,可用于:
- 识别反复出现的 prompt 模式(用户在问什么)
- 估算会话丢失率(本环境 60%)
- 工具:
sd-recall.py schema ~/.claude/history.jsonl查看可用字段
DO NOT
- 从零创建新 skill →
skill-creator - 需要提炼经验模式 →
experience-synthesis(先提炼再写入) - 需要解析原始会话数据 →
jsonl-core - 重复写入相同 insight → 先检查同名文件和内容 overlap
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

