用途:保持 <repo-root>/MEMORY.md 健康,作为仓库级持久事实的索引。工作区 CONTEXT.md 与 docs/adr/ 位于 <artifacts-root>,本技能不把领域术语搬进 MEMORY。
路径解析:活动仓库根为 cwd 的 git 根,或正在编辑项目的 Project Matrix Path;绝不用元工作区文件夹(path: ".")存放 MEMORY.md。<artifacts-root> 为含 *.code-workspace 的目录,否则为 CONTEXT-MAP 上下文根,否则为单一仓库根;ADR 位于 <artifacts-root>/docs/adr/。若活动仓库根缺少 MEMORY.md 且 recall 有帮助,可脚手架一个仅索引的最小 MEMORY.md(约 300 行内,每条持久事实一行,不含机密)。
会话开始轻量检查:读取仓库 MEMORY.md 后自动运行,输出简短。统计行数;扫描 ## Promotion queue 与 ## Decisions (short) 中的 ADR-NNNN: 标签;若行数超约 300、队列非空或用户上条消息暗示记忆工作,提示建议完整检查,仅在队列非空或超 300 行时执行完整检查;否则只输出一行状态,不写文件,不阻塞用户实际请求。
完整检查:在用户要求 remember/sync/compact/promote、显式 /memory-steward 或轻量检查触发压缩/提升时运行。读取活动仓库 MEMORY.md、<artifacts-root>/CONTEXT.md(若存在)、相关 docs/adr/ 及打开的 PRD issue(已知 PRD 编号时用 gh issue view)。术语冲突时 CONTEXT.md 优先,修正 MEMORY 措辞,未经用户批准不改 CONTEXT。提升:对每个关联已关闭 PRD(或已接受 ADR)的 ADR-NNNN: 条目,确保 <artifacts-root>/docs/adr/NNNN-*.md 含该决策,从 MEMORY 移除已提升细节,保留 - See ADR-NNNN for <topic>. 索引行。压缩:超约 300 行时去重、删除过时 WIP、把长文移入 ADR,目标约 300 行内、仅索引;不把 UA 图正文复制进 MEMORY,只留指针。同步私有存储(尽力):Claude 的 ~/.claude/projects/<project>/memory/MEMORY.md 合并新持久事实并裁剪重复私有条目;Codex 的 ~/.codex/memories/ 属个人,团队事实只放仓库 MEMORY/ADR;Copilot 未经用户批准不把 GitHub 仓库记忆复制进 MEMORY。仅在变更时写仓库 MEMORY.md,绝不存机密。
预期章节:## Stable preferences、## Decisions (short)(关联 ADR 时用 ADR-NNNN: 前缀)、## Promotion queue、## Gotchas、## Where things are、## Active ADR pointers。
输出:轻量检查输出 Memory steward (light): <repo>/MEMORY.md — <n> lines; promotion queue <empty|N items>。完整检查输出 Repo、Promoted、Synced、Skipped 等行,非平凡时可选建议后续技能(如 /grill-with-docs、/release-notes;ADR 提升后若装了 UA 可建议 /understand,仅建议)。
禁止:自动调用 caveman 等可选技能;在 MEMORY 存机密、令牌或凭据;把完整术语表放 MEMORY(用 CONTEXT.md);在 <artifacts-root>/元工作区脚手架 MEMORY。