mcpField
D
dreaming

dreaming

github.com/davidleeAgent 工作流2135 次安装4 天前更新
代码仓库

关于 dreaming

dreaming 是用于维护项目记忆语料的技能,适合需要让 Agent 记忆保持准确、关联清晰的维护工作。它将验证、清理、关联、事实核查和交接报告整合为可按变更范围或全库执行的流程。

主要功能

  1. 01验证记忆内容并分类处理问题
  2. 02归档过期或不可靠的记忆
  3. 03查找孤立记录并补充关联
  4. 04将待处理发现整理进待办
  5. 05对高优先级记忆进行事实核查
  6. 06生成维护与待跟进事项报告

适用场景

  1. 01代码路径或命令变更后更新相关记忆
  2. 02定期清理项目记忆语料
  3. 03交接前核查记忆内容并记录未决事项

安装

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

$npx skills add https://github.com/davidlee/doctrine --skill dreaming

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

详细介绍

Dreaming

记忆会衰退。文件会移动,命令会改变,不变量会发生变化,重复项也会不断累积。此技能是维护循环,确保语料库值得信赖——无论从哪个方向进入,都执行同一套流程。

响应式入口。 有内容发生了变化:文件被重命名、命令标志被移除、ADR 改变了某个子系统的边界,或代码审查发现有过时记忆引用了旧路径。针对受影响的范围运行此流程。

主动式入口。 空闲时间、阶段结束时的收尾,或计划好的维护时段。对整个语料库运行此流程。

流程

  1. 验证。 对整个语料库运行 doctrine memory validate(响应式处理:使用 --path-scope/--glob 将范围限制在发生变化的区域)。对每项发现进行分流:

    • 如果问题很简单(更新路径、刷新范围),立即修复
    • 如果问题不简单(风险、杂务或改进),记录为待办事项
    • 如果影响较小且不紧急,记录并暂缓处理
  2. 清理。 找出过时的记忆:

    • 超过 review_by 日期 → 标记为待审查或归档
    • 已超过有效期且未经验证的线程 → 归档(memory status <REF> archived)
    • 已存在几天以上、寿命类型为 working 的记忆 → 撤回,或提升为持久类型
    • 对过时条目运行 doctrine memory status <REF> archived;对于本身就错误的记忆,使用 retracted。
  3. 链接。 加强图谱:

    • 审查近期记录或编辑的记忆中建议的关系(检查 memory show <REF> 中的关系行)
    • 检查孤立项——没有入边也没有出边的记忆 memory list --orphans
    • 如果存在孤立项,本轮重点处理这些条目——链接 20-30 条记录
    • 如果不存在,则探索语料库并加强 / 修剪现有记忆之间的连接
      • 使用 memory search <keyword> 查找适合建立链接的候选记忆; 它只返回一页,因此要通过 --limit / --page 遍历
    • 对高置信度的匹配运行 doctrine link
  4. 梳理待办事项。 本轮无法修复的问题,记录为待办事项:

    • 对尚未显现的问题记录为 风险(例如,某条记忆指向已弃用的 API)
    • 对清理工作记录为 杂务(例如,合并重复的记忆)
    • 对增强工作记录为 改进(例如,将模式记忆提升为规范)
  5. 核查事实。 按严重程度 × 过时程度(自 updated 起的天数)抽查排名靠前的 N 条记忆。对于每条记忆:

    • 对照当前代码树检查所引用的来源(代码路径、文档、ADR)
    • 如果内容正确,无需操作
    • 如果内容已偏离,使用 doctrine memory edit <REF> 更正
    • 如果内容已过时,将其标记为被取代(memory status <REF> superseded --by <SUCCESSOR>)或隔离(memory status <REF> quarantined)
    • 如果无法验证,降低其可信度(memory edit <REF> --trust low)
  6. 报告。 生成简短的交接摘要:

    • 已采取的操作(已验证 N 条、已清理 M 条、已链接 L 条、已核查事实 F 条)
    • 暂缓处理并转入待办事项的发现(如已登记,附上 ID)
    • 标记为需要人工关注的事项(高严重程度、存在歧义、需要决策)
    • 将内容写入 notes.md 或当前交接文档,以便下一个 Agent 不会重复进行相同的检查。

评论

支持 Markdown