用途:Claude Code 按 cwd 编码(非字母数字字符替换为 -)在 ~/.claude/projects/{encoded-cwd}/ 下存放每个项目的会话记录与持久记忆。同一项目若存在真实目录与符号链接、外部挂载路径与快捷方式、用户目录迁移等两种 cwd,就会产生两个互不可见的命名空间,导致 /resume 会话列表变少、记忆目录为空、[[记忆链接]]失联。本技能用于识别并合并这些重复目录。
主要能力:Phase 1 用 scripts/inventory.sh <project-token> 列出匹配目录的 jsonl 数量、大小、最新修改时间与 memory 条目数;Phase 2 以当前系统提示中声明的 canonical 路径为准选定主目录;Phase 3 用 mv 合并 memory,同名文件(常见 MEMORY.md)需手工读取合并,不覆盖;Phase 4 将失败目录的 jsonl 与会话 UUID 子目录归档到 ~/.claude/archive/;Phase 5 在主目录写入 dual-cwd 经验记忆并加 MEMORY.md 指针;Phase 6 用计数对账确认无丢失;Phase 7 建议用户自行运行 /compact。旧版孤立记忆不盲目合并,而是逐文件分类为并入仓库、并入本地记忆、密钥位置、过时内容并做 tombstone。
使用方式与限制:需在 Claude Code 环境中调用,命令保持原样,如 mkdir -p "$WINNER/memory"、mv "$LOSER/memory/"* "$WINNER/memory/"。技能不删除任何内容,只归档;不合并两份 jsonl 记录,不修改代码或 CLAUDE.md;仅当存在重复目录时才执行,否则应提前退出。若当前会话正位于非规范目录,不应归档其 jsonl。