Skill 不是脚手架:读懂 SKILL.md 和仓库结构的正确姿势

简介: 本文剖析Skill本质:它不是“超级提示词模板”,而是Agent时代的可复用、可组合、可演进的能力单元。SKILL.md实为接口定义文件,需遵循元数据驱动、渐进式披露、目录分层设计。错误做法是堆砌600行“全能脚本”,正确路径是拆解为专注单一职责的轻量Skill——小粒度、高复用、易维护。

去年底我们团队开始用 Skills 的时候,有个人做了一个“全能测试 Skill”,把登录、下单、支付、退款全写进一个 SKILL.md 里,洋洋洒洒六百多行。跑的时候确实能工作,但每次都要加载全部内容,改一个支付逻辑要翻半天文档,想复用其中的登录步骤——不好意思,拆不出来。

这不是个例。很多人把 Skill 当“超级提示词模板”用,往一个文件里塞越多越好。本质上,他们把 Skill 当成了脚手架——一次性搭起来用完就拆的东西。

但 Skill 不是脚手架。它是可复用、可组合、可演进的能力单元。读不懂 SKILL.md 和仓库结构的设计意图,你就永远在“写提示词”而不是“构建能力”。

目录

一、SKILL.md 正在成为 Agent 时代的“接口定义文件”
二、本质不是提示词模板,是能力封装单元
三、拆解 SKILL.md:元数据是门面,正文是手册
四、拆解仓库结构:scripts、references、assets 各司其职
五、一个错误案例 vs 一个正确案例
六、对你意味着什么
七、最后问你一个问题
一、SKILL.md 正在成为 Agent 时代的“接口定义文件”
2025 年 10 月,Anthropic 推出了 Agent Skills 的概念。同年 12 月 18 日,它被正式发布为跨平台开放标准。

短短几个月,这个格式被 Claude Code、OpenCode、Cascade 等主流 Agent 框架广泛采纳。Anthropic 官方开源了 16 个生产级技能库,涵盖文档处理、创意设计、开发技术等领域。

这意味着什么?

SKILL.md 正在成为 Agent 时代的“接口定义文件”——就像 OpenAPI 之于 REST API、proto 之于 gRPC。它定义了一个 Agent 能力模块的边界、入口和调用方式。

但很多人还在用写 Prompt 的思路写 SKILL.md。把能塞的都塞进去,生怕 AI 漏掉什么信息。结果是:Skill 越来越臃肿,加载越来越慢,复用越来越难。

可以被截图传播的观点句 1:Skill 不是写出来的,是设计出来的。SKILL.md 不是提示词,是接口定义。

二、本质不是提示词模板,是能力封装单元
先看一个基础事实。

一个 Skill 本质上就是一个包含 SKILL.md 文件的文件夹。SKILL.md 使用 YAML frontmatter + Markdown 正文的格式。

但“本质上是什么”和“实际该怎么用”是两回事。

很多人把 Skill 当成“高级提示词模板”——把原本要复制粘贴给 AI 的一大段话,放进一个文件里,然后让 AI 自动读取。

这个理解只对了一半。

Skill 和提示词模板的核心区别在于三点。

第一,Skill 是可发现的。 Agent 启动时只加载所有 Skill 的元数据(name 和 description),而不是完整内容。AI 通过元数据判断“这个 Skill 跟我当前的任务有没有关系”,有关系才加载正文。提示词模板没有这个发现机制——你得手动选、手动贴。

第二,Skill 是可组合的。 一个 Skill 可以调用另一个 Skill 的输出,可以串联成工作流。提示词模板之间没有这种依赖关系。

第三,Skill 是可版本化的。 Skill 就是文件夹里的文件,可以 Git 管理、可以 Code Review、可以 CI 校验。提示词模板散落在聊天记录和文档里,没人管版本。

本质上,Skill 解决的是能力复用的问题——把“怎么做一件事”固化成可被 AI 自动发现、自动加载、自动执行的标准模块。

可以被截图传播的观点句 2:提示词模板是给人看的说明书,Skill 是给 AI 用的能力包。两者差了一个工程化的维度。

三、拆解 SKILL.md:元数据是门面,正文是手册
3.1 YAML frontmatter:决定 AI 会不会用你
SKILL.md 的开头是 YAML frontmatter,用 --- 包裹。

最少需要两个字段:


name: api-test-generator

description: 根据 OpenAPI/Swagger 文档自动生成 API 测试用例。当用户提到"接口测试"、"API测试"、"生成测试用例"时使用。

name 是 Skill 的唯一标识符,必须和文件夹名称一致。

description 是 AI 判断“要不要加载这个 Skill”的核心依据。AI 启动时只看到这个 description,不看正文。description 写不好,Skill 永远不会被加载。

好的 description 长什么样?

包含触发短语:把用户可能说的话写进去
定义使用场景:说明什么时候该用、什么时候不该用
包含关键词:让 AI 在语义匹配时能命中
差的 description 只有一句话“帮助做 API 测试”。AI 根本不知道什么时候该调它。

可选的扩展字段还包括 allowed-tools(声明需要的工具权限)、references(声明最重要的参考文档)等。

3.2 Markdown 正文:让 AI 知道怎么执行
frontmatter 之后是 Markdown 正文。这是 Skill 的“操作手册”。

正文写什么?核心就三件事:

目标与边界:这个 Skill 做什么、不做什么
执行步骤:具体的操作流程,可以是线性步骤、决策树或循环迭代
输入输出规范:需要什么数据、产出什么结果
正文应该尽量精炼。不是把所有能写的都写进去,而是只写 AI 必须知道的执行逻辑。更长的参考资料放在 references/ 目录下,按需加载。

3.3 渐进式披露:三层加载模型
这是 Skill 设计最核心的机制。

bbd75b55-6526-41a6-88a7-9b8b26e1e2ad.png

这个设计解决了什么问题?

上下文不膨胀:即使你有几十个 Skill,初始也只加载元数据,不占上下文
加载更精准:只加载当前任务相关的 Skill 内容
支持海量信息:Skill 可以包含大量脚本和文档,但只在需要时加载
很多人把几百行内容全塞进 SKILL.md 正文,破坏了渐进式披露的设计意图。正确的做法是:正文只写核心执行逻辑,细节放 references,脚本放 scripts。

四、拆解仓库结构:scripts、references、assets 各司其职
一个标准的 Skill 仓库长这样:

my-skill/
├── SKILL.md # 必需:元数据 + 核心指令
├── scripts/ # 可选:可执行脚本
├── references/ # 可选:参考文档、规范、知识材料
└── assets/ # 可选:模板、图片、资源文件
每个目录有明确的职责。

scripts/ 存放可执行脚本——Python、Bash、JavaScript 等。Agent 可以直接运行这些脚本,把结果拿回上下文。脚本代码本身不占用上下文 token,只有执行结果进入上下文。这是 Skill 承载“确定性能力”的关键——复杂计算、数据清洗、文件操作,交给脚本,而不是让 AI 猜。

references/ 存放参考文档——详细的规范、长篇幅的风格指南、政策文档等。这些内容只在需要时被引用加载。不要在 SKILL.md 正文里塞几千字的规范,放 references,按需取用。

assets/ 存放静态资源——模板文件、图片、样例数据等。Agent 生成内容时可以直接引用这些模板。

这三层目录加 SKILL.md 本身,构成了一个完整的“渐进式披露”体系:

SKILL.md 元数据 = 第一层(发现)
SKILL.md 正文 = 第二层(执行)
scripts/references/assets = 第三层(按需加载的深层资源)
目录结构不是装饰,是渐进式披露的物理载体。

五、一个错误案例 vs 一个正确案例
错误案例:把 Skill 当脚手架

有个团队写了一个“电商全流程测试 Skill”,SKILL.md 正文 600 多行,包含了登录、搜索、加购、下单、支付、退款的全部步骤描述和断言规则。

问题:

每次加载消耗大量 token,即使只测登录也要加载全部
支付接口变了,要在大段文字里找对应的描述位置
想单独复用“登录”步骤?拆不出来,因为和其他步骤耦合在一起
正确案例:把 Skill 当能力单元

另一个团队的做法是拆成 6 个独立的 Skill:

login/
├── SKILL.md # 只描述登录
add-to-cart/
├── SKILL.md # 只描述加购
create-order/
├── SKILL.md # 只描述下单
...
每个 SKILL.md 正文控制在 50-80 行,只写本 Skill 的核心逻辑。通用的校验规则放在 references/,可复用的脚本放在 scripts/。

效果:

每个 Skill 加载快,token 消耗低
改支付只改 payment/ 一个文件夹
6 个 Skill 可以任意组合成不同场景
核心区别:错误案例把 Skill 当成“一次性搭好的完整流程”,正确案例把 Skill 当成“可组合的乐高积木”。

可以被截图传播的观点句 3:Skill 的粒度应该小到你可以确信它只做一件事,而且这件事可以被其他 Skill 复用。

六、对你意味着什么
对在校生

你现在看到的 SKILL.md 格式,正在成为 Agent 生态的“通用语”。就像几年前学 JSON 和 YAML 是基本功一样,理解 SKILL.md 的结构设计——元数据驱动发现、渐进式披露、目录分层——会让你在未来两三年里比别人更早看懂行业的变化方向。不需要写得多好,但需要看得懂、知道“为什么这么设计”。

对初级工程师

你可能已经在用现成的 Skills 了。但如果你只会用不会写,或者只会往一个 SKILL.md 里堆内容,那你还没真正掌握这个工具。核心能力不是“写提示词”,而是“做封装设计”——判断一个能力的边界在哪、应该拆多细、哪些放正文哪些放 references。这个能力比会写代码更重要。

对中级工程师

你面临的问题是团队级别的 Skill 资产管理。当团队有几十个 Skill 时,怎么保证它们不冲突、可组合、可演进?答案在于契约设计——每个 Skill 的输入输出要明确,依赖关系要清晰,目录结构要统一。把这些规范沉淀下来,比写 20 个 Skill 更有价值。

七、最后问你一个问题
打开你最近写的一个 SKILL.md,看一眼它的正文长度。

如果超过 200 行,问自己一个问题:这里面有多少内容是“核心执行逻辑”,有多少是“参考信息”?

如果参考信息占了大部分,你其实没在用 Skill 的渐进式披露能力——你只是在写一个长文本提示词,然后给它披上了 SKILL.md 的外衣。

你现在的 Skill,是能力单元还是长提示词?留言聊聊你的判断。

相关文章
|
5月前
|
人工智能 JSON API
AI Agent 完全入门:从“大模型”到“能干活”的智能体,一篇讲透
本文深入浅出解析AI Agent本质:非 merely 工具调用,而是“感知-规划-记忆-工具”四层闭环的行动系统。对比普通大模型“只生成答案”,Agent能自主拆解目标、多步执行任务。聚焦测试场景,详解其在自动生成数据、UI自愈、智能断言三大落地点的实效价值。
|
5月前
|
Web App开发 设计模式 数据可视化
Web UI 自动化测试 Skill 完整实战:从一个空项目到一份中文测试报告
本文探讨Web UI自动化测试的核心痛点:问题不在“会不会写脚本”,而在于“有没有好框架”。通过真实案例对比,剖析框架必备三要素——页面对象模型、分层架构与智能等待,并详解Playwright相较Selenium的工程优势。强调报告需中文、截图、步骤清晰,才能让开发、产品真正用起来。
|
机器学习/深度学习 人工智能 自然语言处理
当语言遇见智慧火花:GPT家族历代模型大起底,带你见证从平凡到卓越的AI进化奇迹!
【10月更文挑战第6天】随着自然语言处理技术的进步,GPT系列模型(Generative Pre-trained Transformers)成为该领域的明星。从GPT-1的开创性工作,到GPT-2在规模与性能上的突破,再到拥有1750亿参数的GPT-3及其无需微调即可执行多种NLP任务的能力,以及社区驱动的GPT-NeoX,这些模型不断进化。虽然它们展现出强大的语言理解和生成能力,但也存在如生成错误信息或偏见等问题。本文将对比分析各代GPT模型的特点,并通过示例代码展示其部分功能。
802 2
|
4月前
|
人工智能 自然语言处理 监控
Token是什么? 一文讲透AI算力的新计量单位
本文由广东冠汇技术团队撰写,系统解析AI时代核心计量单位——Token:从底层分词原理(BPE算法)、中英文Token差异,到与算力消耗的正比关系、定价逻辑(输入/输出价差根源)、上下文窗口成本影响,再到提示词优化、模型分层等实战降本策略,助你真正掌握AI成本管理关键。(239字)
2391 1
|
6月前
|
人工智能 安全 测试技术
Skills Registry 公测开启:为企业打造私有的 Skill 管理中心
云上私有化 Skill 注册中心,企业特性,开箱即用。
1124 49
|
6月前
|
存储 人工智能 监控
Nacos Skill Registry:面向个人场景的 Skill 中心实践
构建个人 Skill 技能中心,实现多 Agent 复用与协作。
568 45
|
5月前
|
消息中间件 运维 测试技术
Skills实战:从0到1实现“多环境切换”Skill,测试不再改代码
本文直击SaaS团队多环境运维痛点:配置硬编码导致“改一行等半小时”“换环境必出错”。揭示问题本质——环境信息与业务逻辑耦合,并提出落地性强的“可切换环境Skill”方案:统一配置中心、依赖注入式加载、配置校验与版本管理,实现同一份代码零修改跑通开发、测试、预发布、生产全环境。
|
5月前
|
SQL 人工智能 JSON
Prompt 工程 2.0:为 AI Agent 设计“思考指令”的 4 个黄金法则
本文揭示AI开发范式剧变:Prompt权重已降至30%以下,核心转向设计Agent“思考框架”。提出四大黄金法则——给目标而非步骤、内置可验证评估标准、分离规划与执行、构建反馈闭环,推动从Prompt Engineering迈向Loop Engineering。
|
Web App开发 缓存 监控
内存溢出与内存泄漏:解析与解决方案
本文深入解析内存溢出与内存泄漏的区别及成因,结合Java代码示例展示典型问题场景,剖析静态集合滥用、资源未释放等常见原因,并提供使用分析工具、优化内存配置、分批处理数据等实用解决方案,助力提升程序稳定性与性能。
2401 1