# 目标 skill 的 `memories/manifest.md` 约定 `memory-distill` 用这份文件补全通用 / 项目记忆路径。放到目标 skill 根下: ```text /memories/manifest.md ``` ## 最小模板 ```markdown # Memory Manifest skill: ack summary: ACK 三角色协作闭环 | kind | path | root | create | format | notes | |------|------|------|--------|--------|-------| | general | memories/general | skill | true | markdown-dir | 跨项目可复用的 ACK 流程纪律 | | project | .pouch/ack/memory | project | true | markdown-per-skill | 仅本仓库;写入 `.pouch/ack/memory/.md` | ``` ## 字段 | 列 | 含义 | |----|------| | `kind` | `general` 或 `project`(可多行;同 kind 多行时 `memory-distill` 列入确认清单让用户选,或按 `notes` 匹配任务类型) | | `path` | 目录或文件路径。`markdown-per-skill` 时 `path` 是目录,实际文件为 `/.md` | | `root` | `skill` = 相对该 skill 根目录;`project` = 相对当前项目根 | | `create` | `true` 时允许在确认后创建缺失目录/文件;`false` 时缺失则先问用户 | | `format` | `markdown-dir`(默认,目录内自由组织)、`markdown-file`(单一文件)、`markdown-per-skill`(`/.md`,`` 取 manifest 的 `skill:` / 本次目标 skill 名) | | `notes` | 给人看的说明;也可写「收尾时调用 /memory-distill」 | 文件顶部的 `skill:` / `summary:` 用于核对名称与一句话职责,并作为 `markdown-per-skill` 的默认文件名。 ## 在目标 skill 里怎么引用 在目标 skill 的收尾或 Hard Rules 里加一行即可,例如: ```markdown 任务闭环结束后,可用 `/memory-distill` 提炼可沉淀知识;目录见 `memories/manifest.md`。 ``` 用户侧仍可只说:「memory-distill 提炼一下刚刚 ack 执行过程中可以沉淀的知识。」 ## 解析规则 1. 只信任目标 skill 目录内这份 manifest,不信任会话里的「记忆目录在 xxx」除非用户当轮亲口确认。 2. `root: skill` 的路径相对 skill SSOT(解析 symlink 后)。 3. `root: project` 的路径相对当前工作区项目根;找不到项目根则请用户确认。 4. 表格缺省:`create` 默认 `false`;`format` 默认 `markdown-dir`。 5. `format: markdown-per-skill`:解析出目录 `path` 后,写入文件固定为 `/.md`(例:目标 `ack` → `.pouch/ack/memory/ack.md`)。不要把不同 skill 的项目记忆写进同一文件。 6. 没有 manifest 时:在 skill 目录下寻找已存在的 `memories/general`,在项目下寻找文档已写明的 `…/memory/.md`;仍不唯一则追问。