首页 › skills-review › 91万安装的grill-me:SKILL.md逐行拆解

91万安装的 grill-me:把 SKILL.md 拆到每一行

概述

本期换一个打法:不做横向海选,而是锁定当前 Agent Skills 生态里最火的单一作品——mattpocock/skills 仓库中的「grill 家族」。在 skills.sh 全站安装榜上,grill-me 以 91.1 万次安装高居第 2,grill-with-docs 以 77.5 万排第 4,作者亲口承认“这是我最受欢迎的 skills”。更反常识的是:全站第 2 名的 SKILL.md 正文只有一行英文。本文把它逐字节拆开,讲清楚这个家族“薄壳 + 引擎”的双层设计为什么能赢,以及你写自己的 Skill 时能直接抄走的 6 个模式。

先看榜:本周生态的结构性信号

在进入拆解前,先记录本周榜单里三个值得注意的结构性现象(数据来自 skills.sh 全时段排行榜):

信号 证据 解读
入口型 Skill 登顶 find-skills(vercel-labs/skills)300 万次安装,断层第一 生态已进入“需要导航找导航”的阶段,分发层本身成了最大赢家
厂商打包压制个体 open.feishu.cn 一家 24 个 Skill 合计 1420 万安装;microsoft/azure-skills 14 个合计 750 万;larksuite/cli 合计 790 万 单个 Skill 的 star 战绩好看,但真正的大流量来自厂商整包预装
访谈式工作流成为默认 榜单前 12 名里 mattpocock 家族占 7 席(grill-me、grill-with-docs、improve-codebase-architecture、tdd、setup、handoff、triage) “先拷问需求再动手”已经从个人方法论沉淀为公共基础设施

同期值得关注的非头部新面孔:caveman(juliusbrussee/caveman,44.6 万安装)用“原始人语体”压缩输出 token,其 README 里那份“诚实数字警告”(skill 只省输出、每轮反增 1-1.5k 输入 token)是近期少见的坦诚文档范本。

评测对比表

按功能完整度 25%、设计质量 25%、实战效果 20%、上手难度 15%、社区活跃度 15% 加权(满分 5):

Skill 功能完整度 设计质量 实战效果 上手难度 社区活跃度 加权总分
grilling(引擎) ★★★★★ ★★★★★ ★★★★★ ★★★★★ ★★★★★ 5.00
grill-with-docs ★★★★★ ★★★★★ ★★★★★ ★★★★ ★★★★★ 4.85
grill-me ★★★★ ★★★★★ ★★★★ ★★★★★ ★★★★★ 4.55
setup-matt-pocock-skills ★★★★ ★★★★ ★★★★ ★★★★★ ★★★★ 4.15
domain-modeling ★★★★ ★★★★★ ★★★★ ★★★ ★★★★ 4.10

评分依据:安装量与榜单排名(活跃度);SKILL.md 原文的工程密度(设计质量);作者仓库 README 中的失败模式对应关系(实战效果);安装配置步骤(上手难度)。

深度拆解

一、家族地图:两层架构是全部秘密

仓库 skills/ 目录分 productivity/ 和 engineering/ 两组,每组内部再按“谁能调用”切一刀。作者在 README 里写得很直白:

User-invoked skills are reachable only when you type them (e.g. /grill-me); their job is to orchestrate. Model-invoked skills can be invoked by you or reached for automatically by the agent when the task fits; they hold the reusable discipline. A user-invoked skill may invoke model-invoked skills, but never another user-invoked one.

翻译成设计语言:外壳层负责编排,引擎层沉淀纪律;外壳可以调引擎,外壳之间互不调用。 grill 家族正好是这套架构的最小样本:

flowchart LR
    subgraph Shell["外壳层(仅用户可触发)"]
        A["/grill-me(147 字节)"]
        B["/grill-with-docs(245 字节)"]
    end
    subgraph Engine["引擎层(模型可自动触发)"]
        C["grilling:访谈引擎"]
        D["domain-modeling:领域建模纪律"]
    end
    A -->|"Call the Skill tool"| C
    B -->|"Run a /grilling session"| C
    B -->|"using the /domain-modeling skill"| D
    C -.->|"讨论涉及术语时"| D

二、grill-me:147 字节的冠军 SKILL.md

全站第 2 名的完整源文件,一字不差:

---
name: grill-me
description: A relentless interview to sharpen a plan or design.
disable-model-invocation: true
---

Call the Skill tool with "grilling".

逐行看:

三、grilling:真正的引擎,逐段拆

skills/productivity/grilling/SKILL.md(约 1.9KB)才是 911K 安装背后的机器。

第 1 段:frontmatter 的触发词设计

name: grilling
description: Grill the user relentlessly about a plan, decision, or idea.
  Use when the user wants to stress-test their thinking, or uses any
  'grill' trigger phrases.

和 grill-me 相反,这里没有 disable-model-invocation,所以 description 肩负双重任务:给模型判断“该不该自动介入”,同时枚举用户可能说的口语("any 'grill' trigger phrases")。注意它没有列死具体短语,而是给了模型一个语义族——这是比罗列关键词更鲁棒的触发词写法。

第 2 段:把模糊的“多问几句”变成数据结构

Interview the user relentlessly until you reach a shared understanding. Map this as a design tree: every decision branches into the decisions that hang off it.

第一句是所有访谈类提示词都会写的废话,第二句是分水岭:要求模型把对话状态显式建模成一棵树。有了树,才有后面所有可操作的机制。

第 3 段:frontier 轮次机制(全文的心脏)

The frontier is every decision whose prerequisites are already settled: the questions you can ask now without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.

三个精妙之处:① frontier 的定义排除了“需要猜前置答案”的问题,从机制上消灭了模型最爱犯的“基于未确认假设连环发问”;② 强制一轮抛出整个 frontier,而不是一次一问——把 N 轮往返压缩成 ⌈深度⌉ 轮;③ 每个问题必须附带推荐答案,把“开放问答”降维成“批改选择题”,用户成本骤降。

第 4 段:输出格式模板

Each question should be formatted like so: ❓ **Q1** - **标题**: / ➡️ 推荐答案

直接在 SKILL.md 里内嵌渲染模板。很多 Skill 失败在“逻辑对但输出丑”,这里用两个 emoji 锚点(❓ 问题 / ➡️ 推荐)保证每轮输出肉眼可扫。

第 5 段:事实与决策的所有权切分

Finding facts is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent to find it; don't ask the user for anything you could look up yourself. Don't block on it: ... ask the rest of the frontier now.

这一段把访谈从“一问一答的串行协议”升级成“人机流水线”:凡是能查到的(文件系统、工具)派 sub-agent 去查,且查证不阻塞其余提问——只有挂在事实下游的问题等待回报。用户的时间只花在只有用户能回答的事情上(决策)。这是整份文件里含金量最高的一段提示词工程。

第 6 段:显式终止条件

The session is done when the frontier is empty: every branch of the design tree visited, nothing left silently assumed. Do not act on it until the user confirms you have reached a shared understanding.

两句话堵住两个经典漏洞:树没走完不许收工(防浅尝辄止);用户确认共识之前不许动手写任何东西(防模型访谈一半就开始改代码)。终止条件 + 行为闸门都写成了可判定的条件句,而不是“要深入沟通”这种祝祷式措辞。

四、grill-with-docs:245 字节看懂组合式扩展

---
name: grill-with-docs
description: A relentless interview to sharpen a plan or design, which also
  creates docs (ADR's and glossary) as we go.
disable-model-invocation: true
---
Run a `/grilling` session, using the `/domain-modeling` skill.

和 grill-me 唯一的区别是正文多挂了一个引擎。安装榜第 4 名(77.5 万)的全部实现就是这一句组合声明。它的爆款证明了一件事:用户买的不是代码量,是“访谈 + 沉淀文档”这个组合语义。 description 里那个 "which also creates docs (ADR's and glossary) as we go" 是它与 grill-me 在用户心智里的全部差异点,一句话讲清,不贪多。

五、domain-modeling:被组合进来的第二引擎

skills/engineering/domain-modeling/SKILL.md(3.4KB)是 grill-with-docs 的增量来源,它的几个设计决定值得单列:

作者给出的效果例证:有了共享语言后,"There's a problem when a lesson inside a section of a course is made 'real' (i.e. given a spot in the file system)" 可以缩成 "There's a problem with the materialization cascade"——更短的表达、更一致的命名、更少的思考 token,收益逐会话复利。

六、能直接抄走的 6 个 SKILL.md 写法模式

  1. 薄壳模式:把“用户命令”和“可复用引擎”拆成两个文件,外壳一行 Call the Skill tool with "...",收益是单点维护 + 近零 token。
  2. 触发的开关哲学:会接管对话节奏的 Skill 一律加 disable-model-invocation: true,description 写人话;后台纪律型 Skill 保持可自动触发,description 里写语义族触发词。
  3. 对话状态显式化:别写“反复追问直到清楚”,先要求模型把状态建模成结构(这里是 design tree),机制才有立足点。
  4. frontier 批量提问 + 附带推荐答案:一轮抛全部“前置已定”的问题,每个问题配推荐项,把开放题降维成选择题。
  5. 事实/决策所有权切分:能查的派 sub-agent 查且不阻塞,用户只答决策。
  6. 显式终止条件 + 行为闸门:用可判定条件(frontier 为空)结束会话,用禁止性语句(确认前不得动手)锁住模型的手。

七、适用与不适用

适合:新功能立项、方案评审、任何“你以为说清楚了但其实没有”的场景;grill-with-docs 额外适合长期演进的仓库(CONTEXT.md/ADR 资产随访谈自然累积)。不适合:改个 typo、跑个命令这类零歧义任务——为它们启动一棵设计树纯属仪式感;另外它强依赖你愿意回答问题,如果你的使用习惯是“扔下需求就走”,911K 人验证的这套流程会变成打断。

工作流程全景图

flowchart TD
    S["用户敲 /grill-me 或 /grill-with-docs"] --> T["外壳声明调用引擎"]
    T --> T2{"带 docs?"}
    T2 -->|是| T3["同时装载 domain-modeling"]
    T2 -->|否| U
    T3 --> U["把计划建模为设计树"]
    U --> V["计算 frontier:前置已定的全部待决问题"]
    V --> W["一轮抛出全部问题\n编号 ❓ + 推荐答案 ➡️"]
    W --> X{"问题需要查证事实?"}
    X -->|是| Y["派 sub-agent 查环境\n不阻塞其余提问"]
    X -->|否| Z
    Y --> Z["用户回答重塑树\nfrontier 外推"]
    Z --> V
    V --> E{"frontier 为空?"}
    E -->|否| V
    E -->|是| F["请求用户确认共识"]
    F --> G["确认后才允许动手实现\n(可衔接 /to-spec、/implement)"]

安装与使用

# 方式一:Claude Code 官方插件市场(托管整包,自动更新)
claude plugins install mattpocock-skills
# 或会话内:
/plugin install mattpocock-skills

# 方式二:skills CLI(拷贝为可编辑文件,自己魔改,手动 npx skills update 拉新版)
npx skills@latest add mattpocock/skills

装完在仓库里跑一次 /setup-matt-pocock-skills(选 issue 跟踪器:GitHub / Linear / 本地文件,配 triage 标签和文档目录),然后随时 /grill-me 或 /grill-with-docs。注意两种方式二选一,作者明说“都装会导致每个 Skill 出现两份”。

推荐排行榜

参考来源

  1. mattpocock/skills — Skills for Real Engineers — 仓库 README:双层架构、四大失败模式、安装方式与 user/model-invoked 划分
  2. grilling SKILL.md 原文 — 访谈引擎全文:design tree、frontier、事实/决策切分、终止条件
  3. grill-me SKILL.md 原文 — 147 字节薄壳完整源文件
  4. grill-with-docs SKILL.md 原文 — 245 字节组合声明完整源文件
  5. domain-modeling SKILL.md 原文 — CONTEXT.md/ADR 文件结构、懒创建、ADR 三条件
  6. skills.sh — The Agent Skills Directory — 全时段安装排行榜数据(grill-me 911.2K、find-skills 3.0M、飞书/微软厂商包聚合安装量等)
  7. JuliusBrussee/caveman — 本周关注对象:token 压缩 Skill 的“诚实数字警告”文档范式
  8. mcpservers.org — Claude Skills & Agent Skills Library — 官方与社区 Skill 分类目录交叉印证

[!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学通信知识星球海报-扫码加入