<!-- title: 一份SKILL.md，喂饱两个Agent -->

## 概述

这是本栏目 Skills 生态拆解的第 8 轮。句式、门牌、触发、体重、防腐这些写法维度，前几轮已经拆干净了，本期补一块没人碰过的拼图：**可移植性**。证据就挂在 9 月 11 日的 GitHub 新星榜上——anything2explainer 在简介里自报家门「A Claude Code / Codex skill」，stop-that-shit 干脆整件只面向 Codex/GPT 场景，38.9 万星的 openclaw 把「Any OS. Any Platform」写进招牌。SKILL.md 正在从 Claude Code 的事实标准，变成跨宿主的通用格式。本期从这些热门件的公开自述和官方写法规范里，提炼「可移植 SKILL.md」的五条设计模式，末尾附一个最小改造演示：怎么把单宿主件改成双栖件。

## 一、榜单先说话：双栖件已经霸榜

| 仓库 | 星数 | 自述关键词 |
|------|------|-----------|
| openclaw/openclaw | 389,438 | 「Any OS. Any Platform」的跨平台 Agent |
| affaan-m/ECC | 256,298 | 「agent harness」中性的性能优化系统 |
| lennney/stop-that-shit | 1,906 | 面向 Codex/GPT 的多平台 Hook + Skill Guard |
| yang0/handraw-style | 1,385 | 双语提示词 Skill |
| donvito/codex-astra-luna-orchestrator | 965 | 在 Codex 里编排双模型子代理 |
| kajisho5/ffmpeg-skill | 950 | 音视频处理件 |
| Vincentwei1021/anything2explainer | 893 | 自称「A Claude Code / Codex skill」 |
| achimala/dream-loop | 819 | Blender + 图像生成 + 子代理评审环 |

再看两个侧证：vinzdg/codenotch（1,442 星）做的事是把 Claude Code、Cursor、Codex、Antigravity 四家的用量限额钉在屏幕边上——用户手里已经不止一个宿主；skillsmp.com 收录的 Skills 目录超过 2300 件，收录标准早已不问出身。结论不复杂：**你写的下一个 Skill，大概率会被人在另一个宿主里打开**。写法得按移植设计。

## 二、评测对比表

评分对象是四件有代表性的跨宿主相关件，五维权重按本栏目惯例（功能 25%、设计 25%、实战 20%、上手 15%、社区 15%），星数越高越好，综合分加权计算：

| Skill | 功能完整度 | 设计质量 | 实战效果 | 上手难度 | 社区活跃度 | 综合 |
|-------|-----------|---------|---------|---------|-----------|------|
| anything2explainer | ★★★★ | ★★★★★ | ★★★★ | ★★★★ | ★★★★ | 4.25 |
| stop-that-shit | ★★★★ | ★★★★★ | ★★★★ | ★★★ | ★★★★★ | 4.25 |
| dream-loop | ★★★★ | ★★★★ | ★★★★ | ★★★ | ★★★ | 3.70 |
| codex-astra-luna-orchestrator | ★★★ | ★★★★ | ★★★ | ★★★ | ★★★★ | 3.40 |

说明：上手难度按对新手友好度给分，stop-that-shit 要动 Hook 配置，扣一星；社区活跃度以星数与上榜势头为主要依据，dream-loop 上榜时间短，保守给三星。

## 三、可移植 SKILL.md 的五条设计模式

### 模式一：门牌写通用语，宿主点名放句尾

description 是唯一的常驻路由层，但每个宿主的路由器词表不一样。 anything2explainer 的门牌是个好样板：先说清「Topic in, narrated explainer video out」这个输入输出边界（任何路由器都读得懂），再在句尾补一句「A Claude Code / Codex skill」当信任状。顺序不能反——把宿主名放开头，等于在另一个宿主的路由里给门牌上了锁。

```yaml
# 反例：Codex 读到「Claude Code 的 Read 工具」直接划走
description: 用 Claude Code 的 Read 工具读代码并生成周报。

# 正例：边界在前，宿主在后
description: 汇总一周 git 提交，生成中文周报 Markdown。当用户要求写周报、
  总结提交记录时使用。适用于 Claude Code、Codex 等具备 shell 与文件
  读写能力的编码 Agent。
```

### 模式二：正文零专属依赖

SKILL.md 正文里每出现一个专属工具名（Read、Write、某个 MCP 的动词），可移植性就掉一格。官方规范里 Skill 的三件套原语——读文件、写文件、跑命令——恰恰是所有编码 Agent 都有的底座。写法上做一个替换纪律：**凡是「用 X 工具做 Y」，改写成「做 Y（通过 shell 或文件读写）」**。宿主自己会把它翻译成自家的工具调用。 stop-that-shit 能做多平台拦截，靠的就是只约定行为边界（别造无需求的哈希、别膨胀任务范围），不绑定任何一家的执行器。

### 模式三：能力探测与降级分支，像写跨浏览器 CSS

单宿主件默认环境齐备；可移植件要在正文开头放一段「环境自检」，把快路和兜底都写出来：

```markdown
## 环境自检
1. 能否执行 shell 命令？不能 → 请用户粘贴原始输出，转入纯文本流程。
2. 有无 ffmpeg？有 → 直接跑 scripts/extract.sh；没有 → 提示安装命令后重试。
```

dream-loop 的组合是个进阶样本：Blender 渲染、图像生成、子代理评审三段能力，简介里就写明是拼装关系——缺哪段，评审环就降级成人工检查。降级路径不是防御性废话，它决定了件在第二宿主里的「开机率」。

### 模式四：确定性下沉到脚本，脚本只依赖最大公约数

渐进披露的第三层（scripts/ 目录）天然跨宿主——bash 加 Python 标准库是所有 Agent 运行环境的最小公约数。两条纪律：

- 脚本内部不调用宿主专属 CLI（别在脚本里假设 `claude` 命令存在）；
- stdout 协议化：正常输出走结构化格式（JSON 或固定分隔符），报错信息写成给模型看的指引（「缺 ffmpeg，请先执行 apt install ffmpeg」），而不是给人看的堆栈。

正文只保留判断性工作（怎么分组、什么算「本周」、风格怎么定），确定性的脏活全部交给脚本。这一层跨宿主时几乎零成本，因为大家共享同一个 shell。

### 模式五：冒烟矩阵收口，支持范围写回门牌

打包之前，在两个宿主里各跑一条最小命令（不是全流程，是冒烟）：加载是否命中、自检是否通过、脚本是否出数。然后把实测过的支持范围写回 description——anything2explainer 敢在门牌里写双栖，说明作者两个宿主都点过火。**门牌里的每个宿主名都应该是一次冒烟测试的收据**，没测过的别写，写了就是给下一个宿主的用户埋雷。

## 四、五条模式串起来：一张加载流程图

```mermaid
flowchart TD
    A["用户请求进入宿主"] --> B["路由读门牌description"]
    B --> C{"触发词命中?"}
    C -->|命中| D["载入SKILL.md正文"]
    C -->|未命中| Z["Skill保持沉睡"]
    D --> E["执行环境自检段"]
    E --> F{"宿主具备专属能力?"}
    F -->|具备| G["快路: 原生能力直连"]
    F -->|不具备| H["兜底: shell加文件约定"]
    G --> I["运行scripts脚本"]
    H --> I
    I --> J["stdout结构化返回"]
    J --> K["过冒烟检查清单"]
    K --> L{"检查项全绿?"}
    L -->|是| M["交付结果"]
    L -->|否| N["按失败路径重试一次"]
    N --> I
```

注意这张图和单宿主版的差别只有两处：门牌多服务一个路由器，正文多一层自检分岔。可移植性的成本就这两处，收益是星数来自两个社区。

## 五、实战演示：把单宿主件改成双栖件

以一个最小的「周报组装」件为例，只动要害，完整目录不变：

```text
weekly-report/
├── SKILL.md          # 改造主战场
├── scripts/
│   └── collect.sh    # 已是 POSIX 脚本，无需改动
└── references/
    └── format.md     # 周报格式规范，宿主无关
```

改造前（单宿主写法）：

```yaml
name: weekly-report
description: 用 Bash 工具读取 git log 生成周报，当用户说「写周报」时使用。
用 Bash 工具执行 git log，再用 Write 工具写到 weekly.md。
```

改造后（可移植写法）：

```yaml
name: weekly-report
description: 汇总一周 git 提交，生成中文周报 Markdown。当用户要求写周报、
  总结本周提交、整理 weekly report 时使用。适用于 Claude Code、Codex
  等具备 shell 与文件读写能力的编码 Agent。
## 环境自检
1. 确认当前目录是 git 仓库；不是则向用户要仓库路径。
2. 确认 shell 可用；不可用则请用户粘贴 git log 输出，走纯文本分支。

## 流程
1. 运行 bash scripts/collect.sh，拿到原始提交列表。
2. 按 references/format.md 的规范分组、提炼、定稿。
3. 写入 weekly/2026-Www.md，并在回复里给出文件路径。

## 失败路径
- collect.sh 报错：把 stderr 原文给用户，附最可能的修复命令。
- 本周零提交：输出空周报模板，不要编造条目。
```

改动就三处：门牌换通用语并在句尾点名宿主、正文删掉所有专属工具名、头部加自检与失败路径。脚本层一字未动——这就是模式四说的「第三层免费跨宿主」。

## 六、安装与体验

```bash
# 双栖解说视频件（自称 Claude Code / Codex 双支持）
git clone https://github.com/Vincentwei1021/anything2explainer \
  ~/.claude/skills/anything2explainer

# 多平台护栏件（面向 Codex/GPT 场景，配置方法看仓库 README）
git clone https://github.com/lennney/stop-that-shit

# 子代理评审环（Blender + 图像生成）
git clone https://github.com/achimala/dream-loop ~/.claude/skills/dream-loop

# 在聚合市场里继续淘双栖件
npx skills find "codex compatible"
```

装完在两个宿主里各说一句触发语（比如「把这个主题做成解说视频」），看路由是否都命中——这就是你自己的冒烟矩阵。

## 七、推荐排行榜

- **最值得抄的门牌**：anything2explainer —— 一句话讲清输入输出边界，宿主点名放句尾，双栖自述即信任状。
- **最硬的跨宿主护栏**：stop-that-shit —— 只约定行为边界、不绑定执行器，多平台拦截的思路值得所有护栏件抄。
- **最省心的组合玩法**：dream-loop —— 生成加评审环天然容错，缺一段能力就降级成人工检查。
- **生态风向标**：openclaw 与 codenotch —— 前者证明跨平台 Agent 能涨到 38.9 万星，后者证明用户口袋里真有四个宿主。可移植不是洁癖，是客源。

## 参考来源

1. [Vincentwei1021/anything2explainer](https://github.com/Vincentwei1021/anything2explainer) — 话题进、解说视频出，自述「A Claude Code / Codex skill」的双栖件（9月11日 GitHub 新星榜，893 星）
2. [lennney/stop-that-shit](https://github.com/lennney/stop-that-shit) — 面向 Codex/GPT 场景的多平台 Hook + Skill Guard（同榜单，1,906 星）
3. [openclaw/openclaw](https://github.com/openclaw/openclaw) — 招牌写着「Any OS. Any Platform」的跨平台 Agent（本周热榜快照，389,438 星）
4. [anthropics/skills](https://github.com/anthropics/skills) — 官方 Skills 仓库，SKILL.md 结构与 skill-creator 脚手架的规范出处
5. [skillsmp.com](https://skillsmp.com) — 2300+ Skills 的可搜索聚合目录
6. [mcpservers.org/agent-skills](https://mcpservers.org/agent-skills) — Claude Skills 与 Agent Skills 精选库
7. [affaan-m/ECC](https://github.com/affaan-m/ECC) — 宿主中性的 Agent 性能优化系统（256,298 星），跨宿主生态的侧证

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