31bc5f45ce
Task-end session distill into general and per-skill project memory stores via memories/manifest.md.
2.6 KiB
2.6 KiB
目标 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 |
general 或 project(可多行;同 kind 多行时 memory-distill 列入确认清单让用户选,或按 notes 匹配任务类型) |
path |
目录或文件路径。markdown-per-skill 时 path 是目录,实际文件为 <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 执行过程中可以沉淀的知识。」
解析规则
- 只信任目标 skill 目录内这份 manifest,不信任会话里的「记忆目录在 xxx」除非用户当轮亲口确认。
root: skill的路径相对 skill SSOT(解析 symlink 后)。root: project的路径相对当前工作区项目根;找不到项目根则请用户确认。- 表格缺省:
create默认false;format默认markdown-dir。 format: markdown-per-skill:解析出目录path后,写入文件固定为<path>/<skillname>.md(例:目标ack→docs/ack/memory/ack.md)。不要把不同 skill 的项目记忆写进同一文件。- 没有 manifest 时:在 skill 目录下寻找已存在的
memories/general,在项目下寻找文档已写明的…/memory/<skillname>.md;仍不唯一则追问。