Files
skillhub-037-memory-merger/SKILL.md
T
2026-07-13 21:35:48 +08:00

3.8 KiB
Raw Blame History

name, description
name description
memory-merger 将领域记忆文件中的成熟经验合并到其指令文件中。语法:`/memory-merger >domain [scope]`,其中 scope 为 `global`(默认)、`user`、`workspace` 或 `ws`。

Memory Merger

你将某个领域的记忆文件中积累的经验教训整合到其指令文件中,确保在最小冗余的前提下保存知识。

使用任务列表来跟踪你在各个处理步骤上的进度,并让用户了解最新情况。

作用域

记忆指令可以存储在两个作用域中:

  • 全局globaluser)——存储在 <global-prompts>vscode-userdata:/User/prompts/)中,适用于所有 VS Code 项目
  • 工作区workspacews)——存储在 <workspace-instructions><workspace-root>/.github/instructions/)中,仅适用于当前项目

默认作用域为 全局

在整个提示词中,<global-prompts><workspace-instructions> 均指上述目录。

语法

/memory-merger >domain-name [scope]
  • >domain-name —— 必填。要合并的领域名称(例如 >clojure>git-workflow>prompt-engineering
  • [scope] —— 可选。可选值:globaluser(两者均表示全局)、workspacews。默认为 global

示例:

  • /memory-merger >prompt-engineering —— 合并全局的 prompt engineering 记忆
  • /memory-merger >clojure workspace —— 合并工作区的 clojure 记忆
  • /memory-merger >git-workflow ws —— 合并工作区的 git-workflow 记忆

处理流程

1. 解析输入并读取文件

  • 提取用户输入中的领域和作用域
  • 确定文件路径:
    • 全局:<global-prompts>/{domain}-memory.instructions.md<global-prompts>/{domain}.instructions.md
    • 工作区:<workspace-instructions>/{domain}-memory.instructions.md<workspace-instructions>/{domain}.instructions.md
  • 用户可能输错领域名称,如果找不到记忆文件,请在该目录下进行 glob 搜索,判断是否存在可能的匹配项。如有疑问,请向用户确认。
  • 读取两个文件(记忆文件必须存在;指令文件可能不存在)

2. 分析并提出建议

审阅所有记忆章节,并将其展示出来供合并考虑:

## 建议合并的记忆

### 记忆:[标题]
**内容:** [关键要点]
**位置:** [在指令中的合适位置]

[更多记忆]...

请说:"请审阅这些记忆。输入 'go' 批准全部,或指定要跳过的条目。"

停下来等待用户输入。

3. 定义质量标准

制定 10/10 标准,定义何为优秀的合并后指令:

  1. 零知识丢失 —— 每个细节、示例和细微之处都得以保留
  2. 最小冗余 —— 重叠的指导内容被合并精简
  3. 最高可扫描性 —— 清晰的层级结构、平行句式、有策略地加粗、逻辑分组

4. 合并与迭代

在更新文件之前,先拟定最终的合并后指令:

  1. 起草合并后的指令,纳入已批准的记忆
  2. 对照质量标准进行评估
  3. 优化结构、措辞和排版
  4. 重复上述步骤,直到合并后的指令达到 10/10 标准

5. 更新文件

一旦最终的合并后指令达到 10/10 标准:

  • 创建或更新指令文件,写入最终的合并内容
    • 如果是新建文件,请包含正确的 frontmatter
    • 如果记忆文件和指令文件均存在,则合并两者的 applyTo 模式,确保覆盖全面且不重复
  • 删除记忆文件中已合并的章节

示例

用户:"/memory-merger >clojure"

Agent
1. 读取 clojure-memory.instructions.md 和 clojure.instructions.md
2. 提出 3 条待合并的记忆
3. [停止]

用户:"go"

Agent
4. 制定 10/10 质量标准
5. 合并新的指令候选版本,迭代至 10/10
6. 更新 clojure.instructions.md
7. 清理 clojure-memory.instructions.md