Files
laily 31bc5f45ce feat: add memory-distill skill
Task-end session distill into general and per-skill project memory stores via memories/manifest.md.
2026-08-24 00:46:20 +08:00

2.6 KiB
Raw Permalink Blame History

目标 skill 的 memories/manifest.md 约定

memory-distill 用这份文件补全通用 / 项目记忆路径。放到目标 skill 根下:

<skill-dir>/memories/manifest.md

最小模板

# Memory Manifest

skill: ack
summary: ACK 三角色协作闭环

| kind | path | root | create | format | notes |
|------|------|------|--------|--------|-------|
| general | memories/general | skill | true | markdown-dir | 跨项目可复用的 ACK 流程纪律 |
| project | docs/ack/memory | project | true | markdown-per-skill | 仅本仓库;写入 `docs/ack/memory/<skillname>.md` |

字段

含义
kind generalproject(可多行;同 kind 多行时 memory-distill 列入确认清单让用户选,或按 notes 匹配任务类型)
path 目录或文件路径。markdown-per-skillpath 是目录,实际文件为 <path>/<skillname>.md
root skill = 相对该 skill 根目录;project = 相对当前项目根
create true 时允许在确认后创建缺失目录/文件;false 时缺失则先问用户
format markdown-dir(默认,目录内自由组织)、markdown-file(单一文件)、markdown-per-skill<path>/<skillname>.md<skillname> 取 manifest 的 skill: / 本次目标 skill 名)
notes 给人看的说明;也可写「收尾时调用 /memory-distill」

文件顶部的 skill: / summary: 用于核对名称与一句话职责,并作为 markdown-per-skill 的默认文件名。

在目标 skill 里怎么引用

在目标 skill 的收尾或 Hard Rules 里加一行即可,例如:

任务闭环结束后,可用 `/memory-distill` 提炼可沉淀知识;目录见 `memories/manifest.md`

用户侧仍可只说:「memory-distill 提炼一下刚刚 ack 执行过程中可以沉淀的知识。」

解析规则

  1. 只信任目标 skill 目录内这份 manifest,不信任会话里的「记忆目录在 xxx」除非用户当轮亲口确认。
  2. root: skill 的路径相对 skill SSOT(解析 symlink 后)。
  3. root: project 的路径相对当前工作区项目根;找不到项目根则请用户确认。
  4. 表格缺省:create 默认 falseformat 默认 markdown-dir
  5. format: markdown-per-skill:解析出目录 path 后,写入文件固定为 <path>/<skillname>.md(例:目标 ackdocs/ack/memory/ack.md)。不要把不同 skill 的项目记忆写进同一文件。
  6. 没有 manifest 时:在 skill 目录下寻找已存在的 memories/general,在项目下寻找文档已写明的 …/memory/<skillname>.md;仍不唯一则追问。