<!-- title: 让模型听话：SKILL.md句式七式 -->

# 让模型听话：SKILL.md句式七式

## 概述

本系列第8轮，设计模式提炼。前几轮已把「写什么条款」讲透——总图八格管条款清单，正文七段管段落供给，控制流八式管流程逻辑。本期下探最后一层，也是初学者最容易空手而归的一层：**同样的条款，写成什么样模型才肯听**。标本四件：本周热榜头名 superpowers（09-13 快照 285,801 星，此前有框架件专期，本期只取句式不重复计分）、装机榜常青官方件 pdf 与 xlsx、网页测试件 webapp-testing，以及守门件 stop-that-shit（09-11 快照 1,906 星）。核心发现一句话：**服从度是预算问题——强调是货币、理由是利息、重复是税率；好件的正文都在做预算，坏件的正文都在超发**。

## 一、条款不等于服从

先立靶子：SKILL.md 里写了「禁止 X」，模型就会不做 X 吗？三条证据说不会。

其一，stop-that-shit 的存在本身就是行业供词。这件 45 天内从零涨到 1,900+ 星的守门件，干的事是把纪律从提示词层挪到 Hook 层硬拦截——如果白纸黑字的规矩够用，市场不需要为「拦住 agent」再造一层闸门。本刊 09-10 横评的原话提醒照旧有效：规则型件「重规则轻执行，落地效果取决于宿主 harness 的遵守程度」。

其二，官方 skill-creator 规范自己承认大写词会失效，专门立了一条黄牌规则（见第三式）。

其三，把官方常青件逐行看完会发现一个统一特征：它们的正文远比初学者想象得「吵」——该吼的地方吼得极重，其余部分平铺直叙到近乎寡淡。**语气不是风格，是预算**。下面七式，就是这份预算表的七个科目。

## 二、七式总览

```mermaid
mindmap
  root((服从度七式))
    预算类
      一式 强调预算制
      三式 三击锤
    理由类
      二式 大写要赎身
      四式 理由代币
    位置类
      五式 路由三写
      六式 双重编码
    兜底类
      七式 散文天花板
```

## 三、逐式拆解

### 第一式：强调预算制——一件只发一张黄牌

官方 pdf 件正文覆盖读、拆、合、造、OCR 五大场景，通篇平铺直叙，全文唯一的加粗警告只给了一条：

> Never use Unicode subscript/superscript characters (₀₁₂₃…⁰¹²³…) in ReportLab PDFs. The built-in fonts do not include these glyphs, causing them to render as solid black boxes.

不要在 reportlab 里用 Unicode 上下标——内置字体没有这些字形，渲染出来是实心黑块。此前拆它时给过一句定评：稀缺的强调权限，花在唯一必然翻车的点上。对照初学者的常见写法——「重要」「注意」「必须」满篇都是——答案就反过来了：**强调不稀缺的正文里，强调等于零**。写第一件 Skill 前先问自己：这条正文里，如果只能加粗一处，加给谁？其余全部降回平述。

### 第二式：大写要赎身——大写词必须带原因

skill-creator 规范里有一条容易被读歪的军规，大意是：如果你发现自己在用全大写的 ALWAYS 或 NEVER，那是个黄牌信号，应该改为解释原因。注意黄牌禁的不是大写，是**不解释的大写**。pdf 那条 NEVER 之所以能赎身，恰恰因为它带了完整的因果链：字体缺字形→渲染成黑块，还附了替代方案（`<sub>`/`<super>` 标签）。webapp-testing 的同名手法更短：`page.wait_for_load_state('networkidle')` 后面跟一句 CRITICAL: Wait for JS to execute——大写词钉住的是「动态页面没等 JS 执行完就断言元素不存在」这个具体死法。

公式三段：**大写词 + 物理原因 + 改用什么**。缺最后一段的禁令会逼着模型现场发明更糟的绕路。

### 第三式：三击锤——重复预算花在本能错误上

官方 xlsx 件为一条规矩动用了整个章节：独立章节、CRITICAL 级标题、三组反例、三组正例。那条规矩是：

> Always use Excel formulas instead of calculating values in Python and hardcoding them.

反例三连全是同一件事的变体：在 Python 里算好总和写进 B10、算好增长率写进 C5、算好平均写进 D20——全部打叉；正例对应一行 `sheet['B10'] = '=SUM(B2:B9)'`。为什么一件事配这么大阵仗？因为它纠正的不是「不会」，是「太勤快」——算数是模型的本能，看到表格会下意识把答案算出来填进去，而填死的表一改源数据就作废。**模型的坏本能只有几条，重复预算全部押在这里**；其余规矩写一遍就够，平摊重复等于没有重复。

### 第四式：理由代币——给模型一句说服它自己的话

xlsx 那个章节在禁令后面还给了半句：This ensures the spreadsheet remains dynamic and updateable——保证表格保持动态、可更新。这句话不是写给文档读者的，是写给模型的：下一轮对话里当模型又开始手痒算数时，它上下文里躺着的是一条**有理由的禁令**，不是一个任性的禁令。对讲道理的执行者，理由就是复利。本式的成本几乎为零，是七式里性价比最高的一式：给每条中等强度的规矩后面补半句 why，正文只多几行，服从率的收益是全局的。

### 第五式：路由三写——指路信息写三遍

pdf 件正文里，「填表单请看 FORMS.md」这扇门出现了三次：Overview 一次、Quick Reference 速查表里一次、Next Steps 里又一次。同一指路信息重复三遍不是笔误，是下注：模型读长文时经常跳读，无论落在哪一段都能撞见这扇门。凡是被依赖的入口——附属文档、脚本、另一个件——都适用本式：**入口信息按「开头、速查表、结尾」三点布防**。反面写法是只在第一章提一嘴，然后指望模型记得。

### 第六式：双重编码——把规矩写进代码注释

webapp-testing 的示例代码里有这么两行：

```python
browser = p.chromium.launch(headless=True) # Always launch chromium in headless mode
page.goto('http://localhost:5173')
page.wait_for_load_state('networkidle') # CRITICAL: Wait for JS to execute
```

Always 和 CRITICAL 没写在散文里，写在行内注释里。这是双重编码：模型抄这段代码模板时，规矩跟着代码一起被抄走；就算模型跳过散文直接看代码，约束也还在原地。凡是你希望「永远跟着模板走」的规则——启动姿势、等待时机、目录约定——都可以用本式押一道保险。散文管读正文的人（和模型），注释管抄代码的模型，两份保单互为备份。

### 第七式：散文天花板——服从的尽头是脚本和钩子

强度阶梯爬到顶，剩下的差距散文补不了。官方 xlsx 的做法是给关键步骤配脚本：重算这一步标着 MANDATORY IF USING FORMULAS，但真正兜底的是 `python scripts/recalc.py`——把算术整体外包给 LibreOffice，模型想偷懒都没有接口。stop-that-shit 更进一步，直接上 Hook 硬拦截。superpowers 把纪律拆成 verification-before-completion 这样的独立子件——「干完必须验」不是一句口号，是一个会被单独触发的流程。

本式的判据只有一条：**当一条规矩的违规代价高到「忘了就是事故」，就别再调句式了，把它下沉成脚本或钩子**。SKILL.md 负责指路，闸门负责拦人。

## 四、强度阶梯与选档

七式其实是一条从软到硬的阶梯：平述句 → 大写词加原因 → 正反例锤 → 代码注释编码 → 脚本 → 钩子。选档只看两个变量：这条规矩管什么类型的事，违规代价有多大。

```mermaid
flowchart TD
  A["写下一新规矩"] --> B{"这条规矩管什么"}
  B -->|导航指路| C["五式 路由三写"]
  B -->|物理限制| D["二式 大写加原因"]
  B -->|本能错误| E["三式 三击锤"]
  B -->|模板姿势| F["六式 双重编码"]
  B -->|必然翻车点| G["一式 唯一黄牌"]
  C --> H{"违规代价多大"}
  D --> H
  E --> H
  F --> H
  G --> H
  H -->|低| I["平述句即可"]
  H -->|高到忘了即事故| J["七式 脚本或钩子"]
```

注意一式的位置：它在阶梯顶端而不是开头。一件 Skill 通常只有一两个「必然翻车点」，黄牌只发给它们。

## 五、两种病：黄牌通胀与全文哑火

预算制会得两种病。

**黄牌通胀**：全文十处 IMPORTANT、八处 NEVER、五处 CRITICAL。每处都在吼等于没有一处在吼，模型的注意力预算会把它们全部拉平成背景噪音。自检办法很笨但有效：数一遍大写词，超过三处就开始拆——每处问「这条忘了我真的会翻车吗」，答不上来的降回平述加理由。

**全文哑火**：另一种极端，通篇平铺直叙，最要命的那条规矩和「输出前记得换行」一个语气。判别办法：把你的正文给一个新人看，问他哪条最不能违反——他指不出的那条，就是你欠一张黄牌的地方。两种病的根子相同：**写正文时按「内容重要性」分配语气，而模型按「语气强度」分配注意力**。语气是给模型的路标，不是给你自己的抒情。

## 六、改写工作台：同一句话的五个强度档

以下为自拟教学示例（非任何仓库原文），假设你在写一件「周报导出」Skill，其中一条规矩是：导出前必须跑校验脚本。看同一句话在阶梯上的五档写法：

```markdown
档0 平述：导出前请运行 scripts/check.py。
档1 理由：导出前运行 scripts/check.py，
     它能提前抓住空列和断链，避免用户拿到打不开的周报。
档2 赎身：NEVER skip scripts/check.py before export.
     Missing columns pass silently and break the file for readers.
档3 三击：反例——直接 os.rename 旧文件交差；
     反例——跳过校验只改文件名；反例——校验报错后继续导出。
     正例——check.py 退出码 0 后再执行 export.py。
档4 编码：示例代码里写 export() # ALWAYS run check.py first
档5 兜底：把校验焊进 export.py 入口，模型想跳过都没有入口。
```

第一件 Skill 的练习方法：把你自己正文里的每条规矩都按这五档各写一遍，然后删到只剩合适的档位。删的过程就是学预算的过程。

## 七、安装与对照阅读命令

```bash
# 本周热榜头名框架件：按需取子件看句式
git clone https://github.com/obra/superpowers
cp -r superpowers/skills/verification-before-completion ~/.claude/skills/
cp -r superpowers/skills/brainstorming ~/.claude/skills/

# 或整包安装（Claude Code 内执行）
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace

# 守门对照件：Hook 硬闸门（装前先读源码，确认行为边界再启用）
git clone https://github.com/lennney/stop-that-shit ~/.claude/skills/stop-that-shit

# 官方常青对照组：pdf / xlsx / webapp-testing 句式原文所在
git clone https://github.com/anthropics/skills
# 克隆后在仓库内按目录名取各件的 SKILL.md 对照阅读
```

## 八、推荐排行榜

**性价比最高的三式**（收益/成本比）：
1. 第四式 理由代币——半句话的成本，全局服从率收益
2. 第二式 大写要赎身——把已有的禁令补上原因和出路，改十个字的事
3. 第五式 路由三写——入口信息三点布防，专治跳读

**最容易写砸的三个坑**：
1. 黄牌通胀——大写词超过三处，强调购买力归零
2. 无因禁令——裸 NEVER 既压不住模型，还会把替代方案逼成现场发明
3. 平摊重复——每条规矩都强调一遍，等于把重复预算从本能错误上挪走

**一条总纪律**：写完正文数一数语气词。一件好的 Skill，读起来应该是「平铺直叙里嵌着一枚钉子」，而不是「满纸感叹号里找不到钉子」。

## 参考来源

1. [anthropics/skills](https://github.com/anthropics/skills) — 官方 Skills 仓库，pdf / xlsx / webapp-testing 等件句式原文所在
2. [obra/superpowers](https://github.com/obra/superpowers) — 本周热榜头名框架件（09-13 快照 285,801 星），verification-before-completion 等子件所在
3. [lennney/stop-that-shit](https://github.com/lennney/stop-that-shit) — Hook + Skill Guard 守门件（09-11 快照 1,906 星）
4. [skills.sh](https://skills.sh) — Skills 生态榜单站，本期星值口径来源
5. 本刊存档各期 — 官方PDF件拆解（09-12）、官方xlsx拆解（09-14）、官方网页测试件首拆（09-13）、框架件首评与写法总图（09-12/09-15），本文句式引文与快照数据的原始出处

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
