从 0 到可复用能力包

Skill 编写指南

这是一份面向新手的系统指南:先判断该不该写,再写最小 SKILL.md,随后补资源、做审计、跑验证、持续迭代。内容按真实学习路径重写,并加入 Fluxly 站内安装、审计、搜索和详情页经验。

价值判断4 min发现复用4 min结构拆分5 min起草生成5 min路由验证6 min迭代练习6 min
00

为什么需要 Skill

Skill 解决的是“同一类工作每次都要重新解释、重新纠错、重新找资料”的问题。它不是普通提示词收藏夹,而是给 Agent 的可复用操作手册:包含触发边界、执行顺序、必要资源、验证标准和安全停止条件。

适合沉淀

重复出现、容易漏步骤的工作流

例如固定报告、文件转换、CI 失败排查、代码评审、设计验收。只要你已经第三次给 Agent 解释同一套长流程,就应该考虑写成 Skill。

适合沉淀

带私有上下文和固定验收标准

团队规范、内部 schema、模板、脚本、输出格式和验收命令都适合放进 Skill;它们能让 Agent 每次按同一套标准执行。

不必沉淀

一次性、低风险、模型本来能稳定完成

如果只是临时问答、简单改写或没有固定资源的开放创意,普通提示词更轻。Skill 不是为了把所有提示词都文件化。

01

Skill 的最小可运行模型

最小 Skill 只有一个文件夹和一个 SKILL.md。frontmatter 里的 name 是身份,description 是触发入口;正文是匹配后才读取的执行说明。新手先把这一个文件写对,不要一开始就堆满脚本和长文档。

---
name: commit-message-helper
description: 根据当前仓库暂存区差异生成 3 个 Conventional Commit 候选。
  当用户要求为已暂存改动编写、润色或选择提交信息时使用。
  不用于普通 Git 问答,也不解释提交规范。
---

1. 先运行 `git diff --staged --stat` 和 `git diff --staged`。
2. 如果没有暂存区差异,停止并说明当前没有可用差异。
3. 只根据暂存区差异判断 type、subject 和可选 scope。
4. 严格输出 3 个候选,格式为 `type(optional-scope): subject`。
5. subject 不超过 72 个字符,结尾不要句号。
6. 只有路径或差异明显支持时才添加 scope。
7. 不运行 `git add`、`git commit`、`git push`,也不修改文件。

触发测试:
- 应触发:“给暂存区改动写 3 个提交信息”。
- 不应触发:“Conventional Commit 有哪些类型?”
- 应停止:`git diff --staged` 为空。
  • name 用小写连字符,短且可识别。
  • description 同时说明“做什么”和“什么时候用”,并排除近邻误触发。
  • 正文只写触发后需要知道的动作、证据、停止条件和输出格式。
02

先发现和复用高质量 Skill

不要默认从空白文件开始。官方示例、一手仓库和维护良好的社区案例能提供结构参考;但安装前必须完整审计,不能只看 star 或截图。

先找

官方示例、活跃仓库、同类任务历史。

再审

读完 SKILL.md、references、scripts、assets 和依赖说明。

后试

在低风险临时目录试跑,观察触发、输出和副作用。

再改

保留结构,替换业务规则、验收标准和语言偏好。

安装前必须审计

  • 完整阅读 SKILL.md、参考资料、脚本、素材和依赖说明。
  • 检查是否写入硬编码密钥、私有路径、日志上传、外部回传或凭据读取。
  • 检查脚本是否会删除文件、修改全局配置、联网、提交、发布或自动执行危险命令。
  • 确认触发条件、停止条件、反例、验证方式和输出格式没有明显缺口。
03

Skill 的文件构成

好的 Skill 会把“每次都要看”和“特定分支才要看”的内容分层。SKILL.md 保持连续可读;长资料、脚本和模板按职责放到独立目录,避免污染上下文。

路径 是否必需 职责
SKILL.md 必需 核心说明:frontmatter、触发边界、执行流程、停止条件、输出契约。
references/ 可选 长资料:API 文档、schema、规范、术语表、评审清单。只在需要时读取。
scripts/ 可选 确定性脚本:验证器、转换器、批处理、重复容易写错的命令。
assets/ 可选 产物素材:模板、图片、样例文件、可复用提示片段。
agents/openai.yaml 可选 Codex UI 元数据、默认提示词、工具依赖和展示策略。
04

核心原理:渐进披露

01

启动索引

Agent 启动时只看到 name、description 和路径。这就是为什么 description 必须短、准、可触发。

02

匹配后加载

用户请求命中 description 后,Agent 才读取完整 SKILL.md。正文不负责宣传自己,只负责执行。

03

执行中按需展开

只有某个分支需要时才读取 references 或运行 scripts。这样能挂载很多 Skill 也不爆上下文。

05

Skill 与提示词、工具、MCP、子代理的区别

概念最实用的判断
提示词一次性指令,复制粘贴为主,不携带文件。
AGENTS.md项目或全局协作契约,长期生效,但不专门封装一类任务。
Skill一类任务的可复用操作手册和工具包,能携带 references、scripts、assets。
工具 / MCP实际可调用能力,比如读文件、浏览器、GitHub、数据库;不负责教学流程。
子代理独立上下文中的执行者,适合并行调研、独立验证或对抗审查。
06

现代写法:让 AI 起草,但人负责边界

可以用 skill-creator 这类工具起草目录和 SKILL.md,但草稿不等于可用。你负责真实任务、触发边界、反例、验收标准和风险边界;AI 负责把材料整理成可审查的文件结构。

你必须提供

  • 什么时候应该触发,什么时候不该触发。
  • 真实任务记录、输入样例、失败案例和已有脚本。
  • 成功输出长什么样,必须运行什么验证。
  • 哪些动作必须先问,哪些动作绝对禁止。

AI 适合生成

  • SKILL.md 的执行步骤、停止条件和输出模板。
  • references、scripts、assets 的拆分建议。
  • 触发测试、反例测试和验证清单。
  • 根据审查结果持续重写,但每次都保留可验证证据。
07

从真实链路提炼,而不是凭空设计

  1. 先让 Agent 在真实文件、真实环境、真实目标下完整跑通一次。
  2. 记录输入假设、工具顺序、失败恢复、验证命令和最终输出。
  3. 先提炼可审核的工作流框架,不急着写完整 Skill。
  4. 人工补齐边界、风险、反例和验收标准。
  5. 再生成最终 SKILL.md,并用真实提示词做回归测试。
08

稳定 Skill 的质量门槛

P0

选题真实、高频、易错、有固定资源或验收标准。

P0

description 同时说明做什么、什么时候用、什么时候不要用。

P0

路由少而强:关键分支绑定用户确认、文件、schema、测试、diff 或外部证据。

P1

SKILL.md 保持短、连续、可执行;长资料进入 references,重复动作进入 scripts。

P1

涉及删除、发布、push、凭据、全局配置和外部副作用时必须有停止条件。

P2

用 should-trigger、should-not-trigger、should-stop 和 with/without 对照验证。

09

路由要少、强、可验证

路由是让 Agent 选择分支。分支不是坏事,坏的是弱判断和延迟反馈。能用执行产生证据时,先执行低风险检查,再让证据决定下一步。

少分支

只保留会改变执行路径的判断。可自然推断的细节放到示例或参考资料,不要堆成连续路由。

强证据

让分支绑定文件、差异、测试、结构化检查、用户确认或外部证据,而不是“看起来”“应该”。

短反馈

能用低风险动作产出证据时,先执行检查,再根据证据进入下一步。不要把错误拖到长链路末端。

10

使用中迭代:变稳,但不要过拟合

一次失败只是线索,不是新规则。先比较多个真实样例,确认失败有共性,再把共性写进 description、SKILL.md、scripts 或 references。

触发不准改 description
流程漏步改 SKILL.md
重复易错加 scripts
长资料缺失加 references
11

常见 Skill 类型

文件处理

PDF / DOCX / PPTX / XLSX

封装工具选择、格式坑、渲染检查和模板复用。

工程流程

CI / 安全 / 部署 / 代码评审

封装日志读取顺序、审批边界、验证命令和停止条件。

研究证据

搜索 / 引用 / 证据链

固定来源优先级、过滤标准、引用格式和不确定性标注。

前端体验

设计 / 截图 / 响应式

沉淀 UI 标准、浏览器验证、截图检查和布局风险。

团队知识

Runbook / 评审 / 文档

封装团队偏好、角色分工、输出格式和历史教训。

内容生产

日报 / 长文 / 发布清单

规范选题、素材整理、风格统一和发布前检查。

12

练习:起草第一个最小 Skill

推荐从提交信息助手开始练习,因为它小、高频、输入证据明确,也容易看出错误边界。目标不是生成漂亮文案,而是练习触发范围、证据来源、副作用边界、输出格式和停止条件。

练习要求

  • 只在用户要求为暂存区改动编写、润色或选择提交信息时触发。
  • 唯一输入来源是当前仓库的暂存区差异。
  • 输出 3 个 Conventional Commit 候选,subject 不超过 72 字符。
  • 不执行 git add、git commit、git push,不修改文件。

检查清单

  • description 是否排除普通 Git 问答?
  • 没有暂存区差异时是否硬停止?
  • scope 是否只在路径或差异明显支持时出现?
  • 是否包含应触发、不应触发、应停止三类测试?
13

常见错误与可复用结构

新手 Skill 最常见的问题不是语法,而是边界太松、证据太少、正文太散。下面这些检查点可以在提交前逐项对照。

把 Skill 写成提示词合集

只写“请你认真分析、提高质量”不会让 Agent 稳定变强。Skill 必须说明触发条件、输入来源、执行步骤、验证方式和停止条件。

description 太宽,导致误触发

description 是启动索引,不是营销文案。要写清“何时使用”和“何时不要使用”,尤其要排除相邻但不同的任务。

把长资料塞进 SKILL.md

正文越长越容易稀释执行重点。稳定规则留在 SKILL.md,长 API 文档、术语表、模板和案例放到 references 或 assets。

没有反例和停止条件

只写“应该做什么”不够。删除、发布、提交、凭据、全局配置和外部副作用都必须明确何时先停下来确认。

三个可练习的 Skill 方向

如果你还不知道从哪开始,可以先用下面三个方向训练:一个负责澄清,一个负责拆解,一个负责沉淀偏好。它们覆盖了 Skill 最典型的三类价值。

  • $task-clarifier 把模糊需求拆成目标、约束、风险和下一步确认项,适合需求还没定型时使用。
  • $task-forest 把复杂任务拆成可并行或可顺序推进的分支,适合多阶段项目、长链路排查和大范围重构。
  • $user-profile-keeper 沉淀长期偏好、协作方式和固定输出标准,适合需要持续记住用户风格的工作流。
14

写完后如何安装和分享

写完 Skill 后,先在本机用户目录试用,再考虑放到仓库或团队目录。分享前至少准备一个 README、触发测试、负例测试、安全说明和版本记录。