mcpField
S
save-mem

save-mem

github.com/brilliantroughAgent 工作流1085 次安装2 天前更新
代码仓库

关于 save-mem

save-mem 是一项指导 Agent 为后续工作整理项目记忆的技能,面向需要跨会话保留背景与决策的项目。它说明如何结合 StrictDoc、Magic Context 和 claude-mem,并区分当前规范与历史记录。

主要功能

  1. 01结合文档、持久记忆与活动记录
  2. 02查找并更新已有记忆
  3. 03区分当前规范和历史信息
  4. 04提供 StrictDoc 记录与验证指引

适用场景

  1. 01记录项目规则及其决策理由
  2. 02查找既有知识并补充讨论背景
  3. 03在规则变更时保留旧决策历史

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/brilliantrough/agent-skills --skill save-mem

安装后在 Claude Code 中输入/save-mem确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/docs-skeleton/
strictdoc_config.py
assets/docs-skeleton/handbook/
.gitkeep
assets/docs-skeleton/project_memory/
decisions.sdoc
journal.sdoc

详细介绍

保存记忆

意图

留下有助于下一位 Agent 和人类读者了解当前适用的内容、原因,以及项目如何发展至此的记忆。保存有用的知识,而不是复述对话。判断哪些内容值得保存,以及应保存到哪里;以下内容仅为指导,并非存储流程,也不是每次保存都要遵循的检查清单。

一起使用各存储

存储有用的功能
StrictDoc docs/易于阅读的当前规则和决策、理由、项目历史、规范和运行手册
Magic Context ctx_memory可跨会话使用的持久事实、规则、决策、经验教训和上下文
Magic Context ctx_search / ctx_expand查找现有知识并还原其背后的讨论
Magic Context ctx_note留给日后处理的提醒和后续事项
claude-mem已捕获的活动和可搜索的观察记录(如已安装并正在捕获)
  • 在 StrictDoc 和 Magic Context 中存储相同的知识是合理的,而且通常很有用。数据库条目可以包含实质性知识,而不只是文档指针。
  • 根据有助于后续工作的需要,决定重叠内容和细节的多少。并非每条记忆都必须有对应文档,也并非每份文档都必须在数据库中留存副本。
  • 现有记忆和相关源文件有助于避免意外重复和过时的说法。ctx_memory 支持写入、更新、合并和归档;请使用适合的操作。路径和 UID 可用作交叉引用,但不是保存记忆的前提。
  • 缺少某些工具不应妨碍其他存储发挥作用。请明确说明仍未保存或验证的重要知识。
  • 项目的词汇和领域模型也是记忆:domain-modeling 技能用于修改它们(审视术语、词汇表条目和难以撤销的决策)。将其产出纳入本项目自身的层:将词汇表放入 StrictDoc 的手册(或项目已有使用 CONTEXT.md 时放入其中),将难以撤销的决策作为 project_memory/decisions.sdoc 节点,而不是另建一套并行的决策树。

区分当前事实与历史

当记录相互矛盾时,StrictDoc 是当前项目规范的事实来源。 Magic Context 和 claude-mem 中可能合理地存在较早或相互冲突的说法;内容有所重叠,并不意味着每条历史陈述都具有同等权威性。

  • 让当前规则及其适用范围易于识别。在随附的语法中,决策使用 Active、Proposed、Deprecated 或 Superseded;带日期的日志条目记录经历,而不是政策。
  • 当前规范可以维护,但历史节点不会被删除。 当用户更改决策,或对话与证据清楚表明某项变更已确定时,在有用的情况下添加后续节点,将旧节点标记为 Superseded,并简要告知用户。不要基于猜测、临时实验或每项任务更改规范。普通说明文档和非规范性记忆可以更自由地修改。
  • 让有意义的决策变更易于理解。日志备注、修订背景或后续决策都可以保留旧方法的重要信息;选择最精简且合适的形式,无需每次修改都新建节点。遵循项目特定的历史保留规则。
  • 在已知原因时记录下来:证据、约束、备选方案或用户意图。承认原因未知,胜过凭空编造。
  • 区分已接受的决策、观察到的行为、待办工作和未经验证的说法。当前的实现可能仍与预期规则不同。
  • 在有用时,协调已知的过时数据库说法并关联相关记录。这并不意味着每次保存都要审查所有存储。

面向人类的写作

起草或修订记忆文档前,请加载 readable-docs,以遵循项目统一的写作风格。该风格适用于所有面向人类的技术记录,而不仅限于记忆文档:默认使用中文,以短语、列表和紧凑的表格呈现,同时不遗漏事实或条件。

  • 记录历史时,应保留结果、证据、经验教训和待解问题,而不是按工具逐项记流水账。必要时链接到原始细节。
  • 提炼清晰易读的当前指引;保留原始证据和历史节点,不要仅为了调整风格而改写它们。

StrictDoc 实用参考

  • 附带的目录结构是 docs/ 下的一个项目:strictdoc_config.py、project_memory/{decisions,journal}.sdoc 和 handbook/。应根据现有项目的目录结构调整,而不是假设目录为空。

  • 相对于此技能的 assets/docs-skeleton/ 提供了起始模板。添加缺失内容时,不要覆盖现有文档或配置。migrate-mem 用于为已开发的项目接入该结构。

  • 决策语法支持 UID、STATUS、TITLE、STATEMENT、可选的 RATIONALE 以及关系。纯日志 [TEXT] 节点不会自动支持 STATUS 等决策字段。

  • 需要后续决策时,可以添加以下关系,指向旧 UID;并将旧决策标记为 Superseded。反向关系为 SupersededBy:

    RELATIONS:
    - TYPE: Parent
      VALUE: DEC-TOPIC-001
      ROLE: Supersedes
    
  • 通过 OPTIONS: 后跟缩进的 MARKUP: Markdown 启用 Markdown 渲染。章节使用 [[SECTION]] / [[/SECTION]];稳定的 UID 应放在内容节点上,而不是 [DOCUMENT] 标题中。添加字段时,请检查项目实际使用的语法。

  • 从 docs 根目录运行 strictdoc export .,以验证 .sdoc、语法或配置更改。使用可用的可执行文件或项目环境;不假定特定环境管理器或固定版本。若验证工具缺失或导出失败,请如实说明,并在将文档更新标记为完成前解决问题。

  • 不要在存储或导出的内容中保留机密;通常只需记录名称和机密所在位置的引用。遵守项目现有的版本控制规则,并保留历史节点。

评论

支持 Markdown