<!-- title: 拆mattpocock：把Skill写成一套的六课 -->

# 拆mattpocock：把 Skill 写成一套的六课

## 概述

## 评测对比表

本期评的是「套件架构」而非单件，维度相应替换：组织结构（分层与复用）、上下文成本控制、分发设计、新手可抄度。带「存档」字样的分数沿用往期印刷值，带 ※ 的为本期套件层印象分（正文树未核验，见文末局限声明）。

| 套件 | 星数（09-20） | 件数与形态 | 组织结构 | 成本控制 | 分发设计 | 新手可抄度 | 综合 |
|---|---|---|---|---|---|---|---|
| mattpocock/skills | 266,035 | 53 件·个人目录公开 | ★★★★★ | ★★★★½ | ★★★★★ | ★★★★★ | **4.60※** |
| obra/superpowers | 288,947 | 14 件·方法论框架 | ★★★★★ | ★★★★ | ★★★★½ | ★★★½ | **4.40※** |
| affaan-m/ECC | 263,135 | 五名词系统·树未核验※ | ★★★★ | ★★★★ | ★★★ | ★★½ | **4.10**（09-05 存档） |
| Appllama/appllama-skills | 1,907 | builder 合集 | ★★★★ | ★★★ | ★★★ | ★★★★ | **3.90※** |
| cbrock84/headcount（对照行） | — | 15+ 部门·12,500 词名册 | ★★★ | ★★ | ★★★ | ★★★ | **3.80**（09-03 存档） |

## 一、为什么是它：热榜前十里唯一没上过解剖台的山头

定位的原文只有两句话：*"Skills for Real Engineers. Straight from my .agents directory."*（给真工程师的技能，直接从我自己的 .agents 目录里搬出来的。）09-04 期对拆时给过一句判词，本期原样转引：superpowers 说自己是个 framework & methodology——**盖楼**；mattpocock 说 straight from my .agents directory——**搬家**。这个语气差异不是文案趣味，它是套件的第一设计决策，下面第一节就拆它。

## 二、六课：写第一件时就要定的套件级决策

以下六课的证据全部来自往期存档对其 README、skills.sh 页面与部分 SKILL.md 的一手记录，本文不新增任何未经转引的内幕；每课末尾给第一作者的操作口诀。

### 第一课：名字空间先于功能——先想清楚「这一套叫什么」

「Straight from my .agents directory」的高明处在于：它把 53 件技能包装成**一个人公开自己的工作目录**，而不是一个组织发布产品线。这一手解决了套件最隐形的成本——信任。53 件小工件，谁也没法逐件审，读者买的其实是「这个人的品味」，个人目录叙事恰好把品味摆在了货架最前面。

反面标本本周就有现成的：Jev 家族六个仓库挤进新星榜前二十，同台的 SemIf 不得不在自己的描述里写明 *"Independent; not affiliated with Jev or TypeSafe"*——家族式蹭名逼出了自证清白声明。**蹭来的名字空间是负资产。**

> 口诀：第一件 Skill 的名字里就埋下你要用十年的姓氏，哪怕那套「将来」只有一件。

### 第二课：调用分层——编排件与纪律件分通道

08-29 期存档逐字引用过它 README 的组织规则，这是全生态最值钱的套件宪法，值得整段抄：

- **user-invoked**：只有用户手敲 `/命令` 才触发，职责是「编排」（orchestrate）；
- **model-invoked**：用户可以召唤，模型也会在任务匹配时自动触发，职责是承载「可复用的纪律」（reusable discipline）。

并配一条硬约束：*"A user-invoked skill may invoke model-invoked skills, but never another user-invoked one."*（编排件可以调用纪律件，但永远不许调用另一个编排件。）这一句禁掉了编排层互相嵌套的失控链，和软件工程里「组合根唯一」是同一个思想。套件长大后最常见的死法就是编排件套编排件，调用链深到没人敢动——它在第一件就立法禁掉了。

```mermaid
flowchart TD
    U["用户发起请求"] --> R{"路由判断"}
    R -->|斜杠点名| O["编排件 user-invoked"]
    R -->|描述命中| M["纪律件 model-invoked"]
    O -->|只许向下调用| M
    M --> P["共享原语层"]
    P --> P1["grilling 拷问访谈"]
    P --> P2["writing-for-agents 写作规范"]
    P1 --> F["五个上层件复用同一份原语"]
```

> 口诀：给每件新 Skill 发牌照时先问一句——它是「用户敲的」还是「模型想起来的」，混编的从第一天就拆开。

### 第三课：原语提取——第三次重复再动手，别提前抽象

它 README 里的底层原语层目前只有两件：`grilling`（拷问式访谈）与 `writing-for-agents`（面向 Agent 的写作规范）。其中 grilling 被明确列为 grill-me、grill-with-docs、triage、wayfinder、improve-codebase-architecture **五个上层件的共享原语**——一份正文，五个出口。09-05 期对 improve-codebase-architecture 的评语转引一句：「grilling 原语复用保证了访谈质量不随技能数量稀释，这是套件级设计对单文件设计的代差。」

注意时间结构：53 件的套件，原语层只沉淀了两件。**原语是长出来的，不是设计出来的。**这和上一期拆 skill-creator 得出的「重复第三次就收编成脚本」是同一条定律在不同楼层的投影：流程步骤的第三次重复收编进 scripts/，访谈话术的第三次重复才升格为原语件。第一件就预建原语目录的，多半抽错了东西。

> 口诀：见到第三次重复再动手；提取对象是「话术与判断」，不是「步骤」。

### 第四课：依赖声明——把「谁需要我」写进明文

它的套件内部引用不走隐式默契，走声明。存档记录的写法是 *"when another skill needs..."* 句式——triage 对信息不全的 issue 发起 grilling，是原语复用的实证；反过来每件依赖原语的件，正文里都写明这层关系。配套的触发词写法也有存档实证：resolving-merge-conflicts 的描述 *"Use when you need to resolve an in-progress git merge/rebase conflict."*——08-29 期对这句的判词是「不是给用户看的广告词，是给模型的触发器」。套件规模下，**每件描述同时服务两个读者：用户和邻居**。没有依赖声明的套件，删一件塌一片，改一件盲改。

> 口诀：写完 description 问一句——哪个邻居会引用我？说不出来，说明你还没有邻居，也说明你还没想好自己在套件里的位置。

### 第五课：成本会计——53 件套的上下文租账

套件越大，描述越贵：每件的 name + description 常驻路由上下文，53 件就是 53 份租约。这套件里专门长出了一件管账的：writing-great-skills，09-04 期给过 4.00 存档分，判语是「唯一把成本账写进正文的样本，disable-model-invocation 的会计思维领先生态一个身位」——该不参加自动路由的件，明写不参加，把常驻预算让给真正要被模型想起的件。

反面标本是 headcount：15 个以上部门的组织名册塞进一套 Skill，12,500 词的名册账逼得它事后补「两级触发」救场，09-03 存档分 3.80，触发串扰与技能腐烂两个隐患至今压着上限。**套件的上下文账必须在第一件就算，事后 retrofit 的触发分层是补丁，不是设计。**

> 口诀：每加一件，问一句它的描述值不值这份常驻租金；不参与自动路由的，明写退出。

### 第六课：分发通道——更新权就是产品定义

08-29 期存档记录了它的两条安装通道，语义完全不同：

```bash
# 通道一：官方插件市场（托管、只读、自动更新）
/plugin install mattpocock-skills

# 通道二：skills.sh 安装器（文件写进你的仓库，可魔改，手动 npx skills update 更新）
npx skills@latest add mattpocock/skills

# 通道三：裸克隆（自己挑着用）
git clone --depth 1 https://github.com/mattpocock/skills ~/.agents/skills
```

只读自动更新，用户拿到的是「作者签名的新鲜度」；写入可魔改，用户拿到的是「所有权」，代价是更新靠手动。上一期还记过一笔官方侧的呼应：skill-creator 在本机环境以三个发行版本并存——连官方教人造 Skill 的那件，自己也在用多通道分发。**选通道不是运维细节，它定义了你和用户的关系：是供货商，还是同行。**「Straight from my .agents directory」的叙事，和「文件写进你仓库」的通道二刚好互为表里。

> 口诀：第一件就决定默认通道；改通道的那天，就是产品重新发布的那天。

## 三、上手：把第一个 Skill 写成「套件就绪」形态

六课合起来，给出一个最小骨架。以下 SKILL.md 为**本文示例**（按上述模式构造，非引用任何仓库原文），功能取自本栏目每周真做的事——对账两个时点的星数快照：

```markdown
name: weekly-recon
description: 对账不同日期的仓库星数快照并计算增速。Use when the user
  gives two or more dated star counts, or asks about 增速 / 对账 / 涨了多少。
  Read-only: never call the network, compute only from numbers in context.
## 流程
1. 从对话抓出所有「仓库名 + 日期 + 星数」三元组
2. 按仓库分组、按日期排序，逐对计算增量
3. 增量为零或为负的仓库单独点名，禁止静默并入均值

## 依赖声明
when another skill needs 增速曲线图，交给 chart 类技能，本件只出数字与表格。
```

落位与验证：

```bash
# 落位到个人技能目录
mkdir -p ~/.claude/skills/weekly-recon
# 放入上面的 SKILL.md 后，新开会话（元数据在会话启动时加载）
# 会话内输入 /skills 确认它被发现、状态正常

# 对照教材：装第二山头全桶，重点读三件
#   writing-great-skills（成本会计）→ triage（分层与声明）→ handoff（交接纪律）
npx skills@latest add mattpocock/skills
```

生长路径一图收束——什么时候保持单件，什么时候动手拆套：

```mermaid
flowchart TD
    S["第一件 Skill 上线"] --> Q1{"同类任务第三次重复?"}
    Q1 -->|没有| K["保持单件"]
    Q1 -->|有| Q2{"重复的是流程还是话术"}
    Q2 -->|流程步骤| SC["收编进 scripts"]
    Q2 -->|访谈话术| PR["提取为原语件"]
    PR --> DP["旧件补依赖声明"]
    SC --> L1{"要拆出编排件吗"}
    DP --> L1
    L1 -->|不要| FIN["套件雏形完成"]
    L1 -->|要| CR["编排件互不调用"]
    CR --> FIN
```

## 推荐排行榜

- **当套件教材读**：mattpocock/skills——六课全部有实证，53 件里先读 writing-great-skills、triage、handoff 三件（存档分 4.00 / 4.25 / 4.15）。
- **当方法论读**：obra/superpowers——14 件的密度更适合整仓精读，官方市场通道装完即用（`/plugin install superpowers@claude-plugins-official`）。
- **当系统设计读**：affaan-m/ECC——五名词（skills/instincts/memory/security/research）是否对应五个子目录，树仍未核验，「名词即部门」继续挂为悬案。
- **当反面教材读**：cbrock84/headcount——12,500 词名册的教训比任何正面示范都好记。
- **观望位**：套件内的 wayfinder（存档 2.95）——「解决超出单会话容量的大活」是低频刚需，思路（状态外置到 tracker）比工具本身值钱。

## 本期局限

其一，53 件的文件树与各件正文本期未核验，套件内证据全部转引 08-29 / 09-04 / 09-05 三期存档的一手记录，凡存档未记的细节一律未写。其二，评测表带 ※ 的四格为本期套件层印象分，非逐件实测。其三，1,820 万安装量为 skills.sh 单源口径（往期存档已标注），且 triage 等单件在 skills.sh 不同页面间存在读数差异（624.4K / 665.6K / 415.8K 三说并存），引用时均已注明以榜单页为准。

## 参考来源

> [!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)
