skillify · git:20260817.d4dfa41 · 2026-08-17 · sha256 6cdb515b4a13cf3d
skillify git:20260817.d4dfa41A
Immutable. This exact content is served forever at /api/v1/blob/6cdb515b4a13cf3d.
--- name: skillify description: 把这次会话里摸索出来的可复用流程沉淀成一个技能。提炼步骤、完成判据和用户纠正过的点,和用户确认后写成 SKILL.md。目录与格式细节见 extend-riot 技能。 --- # 沉淀成技能 ## 什么值得沉淀 判据:**下次还会做,而且模型光靠常识做不对。** - 这次会话里用户纠正过你的地方——每处纠正都是一条「模型的默认做法 在这里不对」的证据,是技能正文里最值钱的原料; - 试错试出来的顺序、参数、坑(哪个命令要先跑、哪个 flag 不能省、 哪一步必须等前一步的产物); - 用户没有明说、但反复要求的偏好。 反例:模型本来就会的通用流程(「先读文件再改」)写成技能只是噪音, 还占技能清单的位置。 ## 提炼 从会话里回答这几个问题;答不出来的用提问工具问用户,一次问完, 不要挤牙膏: 1. **触发场景**是什么?这句话就是 description——模型全靠它决定 要不要加载这个技能,写不准等于技能不存在。 2. 步骤有哪几步?每步的**完成判据**是什么(产出什么、怎么算成了)? 3. 哪些是硬约束?顺序不能换的、某些文件不能碰的、必须先问用户的。 4. 放哪层:只跟这个项目有关 → 项目 `.riot/skills/`;跨项目通用 → 全局技能目录。 ## 写 - description 写「什么时候用」,不写做法,250 字符以内——超了会被 截断,模型只能在残句上做判断; - 正文只写**模型猜不到的**:判据、顺序、坑、约束。每句话问一遍 「删掉它,模型会做错吗」——不会就删; - 用户纠正过的点写成明确的「不要做 X,因为 Y」,别客气也别含糊; - **自由度跟着任务的脆弱程度走**:多解的任务写原则和判据就够 (审查指南),怕做错的操作写精确的命令和顺序(迁移、发布)。 给脆弱步骤留发挥空间,等于留 bug; - 别列一堆可选方案让模型现场挑。给**一个默认做法**,再写清什么 情况下换另一个; - 大段参考资料(表格、样例、脚本)放技能目录里的独立文件,正文 说明什么时候去读哪个。正文塞满资料,每次加载都是全价,用不用 都付; - 目录位置、frontmatter 字段、同名优先级这些机制,照 extend-riot 技能的说明来,不要凭记忆写。 ## 写完 把文件路径和 description 给用户过目,说明**下一轮对话生效**。 提醒一句:设置页能看到技能的解析结果,写坏了那里会显示原因。