zmm-skillifylisted
Install: claude install-skill iamzifei/zmm
# zmm-skillify:把跑通的做法固化成技能
先读 `config.yaml`(读不到 → 明说配置缺失并停下,不用示例值假装是用户的设定),再读 `zmm/references/交互规范.md`(🔴 **不是读一遍就算**:收尾按 §四 三件套 —— Recap · Before/After · **下一步给编号选项**;缺信息按 §四 用**选择题**问,**一次只问一个**;不适用的情况见 §五),再读 `zmm/references/家族公约.md`,再读记忆 `{config.paths.memory}/zmm-skillify/` + `_通用/`。
本技能内置判据在 `references/规则卡.md`(判据 / 为什么 / 怎么查 / 强度),开工前读一遍;`{vault}` 里有对应的规则文件时以 vault 为准、规则卡为底。
---
## 🔴 门禁:没跑通过的,不许固化
**本技能只从「已经产生过正确结果的过程」提炼。** 进来先查三件事,缺任一 → 说明缺什么,停下:
| 查什么 | 不满足时 |
|---|---|
| **这次会话里真的做完了一件事吗** | 只有讨论、没有产出 → 「还没有可固化的东西,先把这件事做完」 |
| **结果被验证过吗**(用户认可 / 有数据 / 有可检查的产出) | 没验证 → 「这套做法还没被证明有效,固化了等于把没验证的经验写成规则」 |
| **它会再次发生吗** | 一次性的 → 「这件事不太会重来,固化的收益是负的」——可以只留一份记录,不做技能 |
⚠️ **不许因为用户说「做成技能」就跳过门禁。** 用户想要的是下次省事,不是多一个不准的技能。
---
## 从哪提炼:三个源,按可信度排序
1. **本次会话的实际过程** —— 最可信。真做过、有产出、有反馈。
2. **`{config.paths.memory}` 里的技能记忆** —— 之前沉淀过的纠正与有效方法。
3. **用户口述的「我一般怎么做」** —— 🔴 **可信度最低**。人对自己流程的描述和实际做法经常不一样。
只能当线索,必须回到 ① 或 ② 找证据;找不到就在成品里标「未验证」。
**三者冲突时以 ① 为准**,并把冲突本身写进技能(「他说的是 X,实际做的是 Y,以 Y 为准」往往就是最值钱的那条规则)。
---
## 五步
### Step 1 · 写出问题契约
```markdown
反复出现的问题:
什么情境下会遇到:
这次是怎么解决的(按实际发生的顺序,不是理想顺序):
产出物是什么:
凭什么算做完了(可检查的证据,不是「感觉good」):
明确不处理的邻近问题:
```
🔴 **「凭什么算做完了」写不出可检查的证据 → 停下。** 一个没有完成判据的技能,下次没人知道它跑对没有。
### Step 2 · 把「好用」翻译成可观察的行为
用户会说「要写得自然」「要判断准」。**这些不能进技能**,必须翻成能被检查的:
```markdown
必须做到(可观察):
禁止出现(可观察):
允许它自己发挥的部分:
最容易出的那个错:
出错时应该怎样(停下问 / 降级 / 明说做不到):
```
对照:「判断准」❌ → 「候选必须从实际列出的清单里选,没列出来的不许编」✅
### Step 3 · 定判据的可信度等级
家族公约要求每条结论标来源。**新技能里的每条规则都要带一个等级**:
| 等级 | 什么时候用 | 写法