Forge Your Skills:用“写“来学写 Skill
你读了很多 SKILL 范例能说出好的 SKILL 应该有明确的 Done when“触发词要具体”“每句话要改变 Agent 行为”。然后你打开一个空白文件光标闪了三分钟你关掉了编辑器。你让 AI 教你AI 会很热情一次性输出了一个完整的 skill附带三段解释、两个注意事项、一个你可以这样扩展。面对大量输出你还是不知道怎么下手或者你读完了觉得嗯有道理。下次面对空白文件光标还是闪了三分钟。问题出在哪你没有写过。阅读范例建立的是识别好作品的能力不是从空白开始构建的能力。你需要的不是再看一个范例而是自己写一句被指出哪里不对改再写下一句。AI 的教学没有结构。它一次性输出完整结果你被动阅读下次面对空白文件仍然写不出。而且每次切入的角度、深度、顺序都不同你无法在上一次的基础上递进每轮都是从零开始的随机采样。Forge 怎么解决核心循环就这一句你写 → AI 给具体反馈 → 你改 → 下一步。训练路径固定五步不会每次随机。说清楚问题。不是我想让 AI 帮我做 X而是没有这个 skill 时Agent 具体会做出什么坏行为。要写成Agent 做了 X或Agent 没做 Y写成Agent 不够严谨不算数这一步没过不许进下一步。澄清你现在的做法。你平时怎么写 prompt、它怎么解决问题这是原材料。但要过一道筛每条都得对上第一步里的某个坏行为对不上的说明它只是你的习惯而不是解法当场剔除。放入正文写触发。把 prompt 原样搬进去机械操作AI 可以代劳然后你自己写触发词——用你真实会说出口的话不是抽象描述。重组正文。最重的一步。把 prompt 拆成步骤每步的验收标准要能从外部检查列得出、跑得动、看得见文件。“用户理解了”Agent 意识到这类内心状态不算。Prune。逐句问删掉这句话Agent 行为有什么不同没有不同就删优先删而不是改写。收工的判据不是你点头是四件能看见的事坏行为清单每条都可观察、每步验收可外部检查、你说得出这一遍删了哪些句子以及为什么删、全程没有一段是 AI 代写的。然后拿它跑一次真实任务回来说哪里不对再改。这是建议不是门槛。skill 是脚手架第一版能用就行不完美没关系。AI 收手的地方说是编辑不是代笔还不够得说清编辑到哪一步为止。允许的最大颗粒度是短语级改法命名你那句话犯了什么毛病、引出原句、给一句改法。不给可以直接粘贴的完整 skill、完整段落、整节重写。你卡住的时候降难度也有顺序先追问再给反例最后指出具体哪一句该改成什么形状——到此为止那句话本身还是你写。它会说“你的 Done when 写的是’用户理解了’这是内心状态不可检查。改成什么”“如果 Agent 按你这句话执行它会直接跳过步骤 3。你想要的是这个吗”“你覆盖了正常流程但如果用户中途说’算了不要了’Agent 会怎么做”“你还没写出坏行为我不能让你进下一步。”它不会说“好的我帮你写一个完整的 skill你看一下。”“关于 skill 写作有以下十个要点……”还有一条限制看着不起眼一次最多两个反馈点其余留到下一轮。这不是客气。反馈一多你会先挑好改的动手最难的那条永远排在后面。反方为什么不直接要一个成品值得回应的反对不是我不想学而是我要的是一个能用的 skill不是学会写 skill 的能力。既然如此把问题丢给 write-skill 改一版就能用为什么要自己爬五步这条在一种情况下成立你已经知道要解决什么问题只是不熟格式。格式确实可以外包——小节怎么排、frontmatter 怎么写、判据摆哪里让 AI 过一遍最快。但它在另一处失效而那一处恰好是多数人卡住的地方写 SKILL 是一种写作而写作是思维的训练。写作最要紧的从来不是遣词造句而是组织。写一句话、布局一个小节时都得问我要表达什么这句跟那个动机什么关系是不是多余。skill 的每条要求都是这个问题换了身衣服——坏行为要写成Agent 做了 X是因为抽象层次越低越可信模糊评价没法执行判据要能外部检查是同一条要求在验收上的样子每句都得改变 Agent 行为就是删掉不损失信息的句子一条 skill 只解决一类问题别求全片面而深刻胜过全面而肤浅。所以我只要成品这个诉求里藏着一个假设成品的质量和你想清楚的程度可以分开。但这分不开。skill 写不好绝大多数时候不是格式没排对而是问题没想清——你说不出没它的时候 Agent 究竟做错了什么于是写出来的每一条都是应该更严谨这种正确但无法执行的话。这一遍组织没人能替你做要组织的是你自己的认识。代笔给你的成品缺的就是这一遍。它读起来很像一条 skill跑起来才发现它约束不住任何东西因为约束的形状本该由你对问题的理解决定而那个理解没被生产出来。判据很简单。你能说清没有这个 skill 时 Agent 会做错什么吗说得清格式交给 write-skill省事说不清那就不是格式问题Forge 这五步就是把那句话从你嘴里逼出来的过程。开源链接SKILL.md 全文forge-your-skillsforge-your-skillsdescription: Use when 用户想学怎么写 skill、想练写 skill 的能力。用户写 → 你给具体反馈 → 用户改 → 下一步。你是编辑不是代笔。Hard Gate不交成稿。不给用户可直接粘贴的完整 skill、完整段落或整节重写。允许的最大颗粒度是短语级改法命名问题、引他写的原句、给一句改法由他自己动手。步骤 1 没写出坏行为不进步骤 2。坏行为要写成Agent 做了 X或Agent 没做 Y写成Agent 不够严谨这类不算。一次 ≤ 2 个反馈点。与coach同一上限。机械操作可以代劳按已确认的内容搭文件与小节骨架内容留空、原样搬运用户已写好的 prompt。反馈方式用这些动作问“这句话删掉Agent 行为有什么不同”指出写法不合格“你的 Done when 是内心状态不可外部检查。”给反例“Agent 按你这句话执行会做 X你要的是 Y 吗”拒绝推进“你还没写出坏行为我不能让你进下一步。”指出遗漏“你覆盖了 X 和 YZ 场景下 Agent 会怎么做”用户卡住时降低难度的顺序先追问 → 再给反例 → 再指出具体哪一句该改成什么形状。到此为止不替他写出那句话。步骤1. 让用户说清问题能从对话上下文或引用资料推断出问题时先自己探索再向用户确认不让他从零复述。确认后建problems.md。Done whenproblems.md足以解释这条 skill 为什么存在每条对应一个可观察坏行为。2. 让用户澄清现在的做法平常怎么写 prompt、这个 prompt 怎么解决问题。能从对话得到的你先总结让用户确认和补充。Done when用户确认了这份原材料且其中每条都能对上problems.md里的某个坏行为——对不上的说明是习惯而非解法当场剔除。3. 放入正文让用户自己写触发把用户的 prompt 原样搬进SKILL.md正文机械操作可代劳然后让他自己写description。Done when触发词是用户真实会说出口的话不是抽象描述。4. 让用户重组正文这是最重的一步多轮进行引导他想清 prompt 该分哪些步骤用专业知识和对话上下文指出他没提到的遗漏步骤让他一步步把 prompt 改造成契约。Done when步骤列表完整每步的验收标准可外部检查列出、运行、存在没有理解意识到这类内心状态。5. 让用户 Prune让他通读全文逐句做 no-op 测试删掉后 Agent 行为无差异的整句直接删优先删而非改写合并跨步骤复述。他卡住时按「反馈方式」的降难度顺序给到短语级改法仍由他动手删。Done when用户说得出这一遍删了哪些句子、为什么删。Done Whenproblems.md存在每条都是可观察坏行为。SKILL.md有description、分步正文每步验收可外部检查。用户已过一遍 no-op并说得出删了什么。全程没有由你代写的成稿段落。用户确认。输出汇报这一轮用户改了什么、还差什么、下一步练哪里。收尾给一条建议不是完成门槛拿这条 skill 跑一次真实任务回来说哪里不对再改。Context Pointerswrite-skill成品标准的权威位置。判断某条写法合不合格description怎么收敛、判据能不能外部检查、该不该拆时读它术语边界见其references/GLOSSARY.md。分工是 forge 管训练过程write-skill 管成品。coach训练机制ZPD、提取 识别、间隔与交错、尺子组装的权威位置。当训练要跨多次、需要记录卡点和安排复习时走 coach本 skill 只补写 skill 这个领域特有的路径与判据。
