f3cd56b78e
Use ~/.pouch, the pouch CLI, and .pouch.yaml as the SSOT container. Keep the inner skills/ packages, and store ACK project state in .pouch/ack instead of docs/ack.
54 lines
2.6 KiB
Markdown
54 lines
2.6 KiB
Markdown
# 目标 skill 的 `memories/manifest.md` 约定
|
||
|
||
`memory-distill` 用这份文件补全通用 / 项目记忆路径。放到目标 skill 根下:
|
||
|
||
```text
|
||
<skill-dir>/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/<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 里加一行即可,例如:
|
||
|
||
```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` 后,写入文件固定为 `<path>/<skillname>.md`(例:目标 `ack` → `.pouch/ack/memory/ack.md`)。不要把不同 skill 的项目记忆写进同一文件。
|
||
6. 没有 manifest 时:在 skill 目录下寻找已存在的 `memories/general`,在项目下寻找文档已写明的 `…/memory/<skillname>.md`;仍不唯一则追问。
|