用途:memory-clean 审计并修复已有的记忆文件,检查结构性问题与相对近期会话历史的过期内容,给出带证据的报告,且只在用户确认后修改。它不负责从会话信号创建新记忆(由 memory-update 负责),也不做 PII 或凭据脱敏(疑似凭据会建议改用 memory-sanitize)。
主要能力:结构审计可识别 orphans(目录中无 MEMORY.md 索引条目的文件)、dangling(指向缺失文件的索引条目)、near_duplicates(内容重叠超过 70% 的文件对)、structural(缺少 frontmatter、缺少 Why:/How to apply:、索引行超过 150 字符、MEMORY.md 超过 200 行、类型不匹配、包含修复配方内容)以及 staleness(所述规则与近期会话证据冲突)。
使用方式:脚本位于技能自身 scripts/ 目录,常规安装路径为 $HOME/.claude/claude/skills/memory-clean/,可用 MEMORY_CLEAN_SKILL_SCRIPTS 覆盖。解析路径: SKILL_SCRIPTS="${MEMORY_CLEAN_SKILL_SCRIPTS:-$HOME/.claude/claude/skills/memory-clean/scripts}" MEMORY_DIR=$("$SKILL_SCRIPTS/resolve-paths.sh" memory_dir) SESSION_HISTORY_GLOB=$("$SKILL_SCRIPTS/resolve-paths.sh" session_history_glob) 解析器返回非零时中止,也可通过 MEMORY_DIR、SESSION_HISTORY_GLOB 环境变量覆盖。
流程:任何修复前先快照:cp -r "$MEMORY_DIR" /tmp/memory-snapshot-$(date +%s)。运行 ./scripts/audit-memory.sh "$MEMORY_DIR" "$SESSION_HISTORY_GLOB" > /tmp/memory-audit-$(date +%s).json,按严重级别分组渲染报告(CRITICAL/WARN/INFO);过期项须展示具体 turn ID 与矛盾证据片段。随后按组展示 diff 预览并等待用户明确确认,绝不自动修复。确认后应用修复:孤儿追加索引条目;悬空删除索引行;近似重复展示合并草稿并写入合并文件、移除被取代文件、更新索引;结构问题用 Edit 工具定点编辑;过期项提供更新规则、归档或删除选项。最后重跑审计确认零严重问题,残余 warn/info 留给用户处理。
限制与禁止行为:不得未经确认自动修复;不得在无 /tmp/ 快照时改动原文件;不得在未先向用户展示内容前删除文件;不得尝试凭据脱敏,只标记严重级并建议运行 memory-sanitize。各分类完整检测规则见 references/AUDIT-CHECKLIST.md。