
如何从 0 开始构建一个属于自己的 Skill
01 Skill 是什么
WHAT IS A SKILL
但在动手之前,还是有必要先搞懂它是什么。一句话定义 Skill,说白了就是一份给 Agent 的说明书。
事情的背景是什么?一件事应该怎么干?遇到问题怎么处理?干到哪一步算完?有什么注意事项?
把这些问题的答案,加上你脑子里的经验、你的习惯,都沉淀成固定的规则,然后把它们写出来,打包。这就是 Skill。
以后 AI 遇到同类任务,就可以直接把这份手册直接翻出来看。然后按照流程推进、最终交付成品,不需要每次重复交代。
// 经验包 —— 所以 Skill 不是什么高科技,就是“一次写好、反复调用”的经验包。
02 Skill 的结构:五个模块
THE FIVE MODULES
明白了 skill 是什么,再来看看 Skill 的结构。做 Skill,最怕的就是一个 SKILL.md 写到底。几十行还行,超过 200 行,AI 每次都要全部看完,没必要、而且极难维护。这时候就要学会模块化设计。为了便于理解,我用一个“周报助手”Skill 举例子。
一个 Skill 的标准骨架(模块)大致如下:

每个模块负责什么,我一个一个说。
SKILL.md
名片 + 大脑。对外告诉 AI 我是做什么的,对内放核心指令、决策原则、流程骨架和雷区。最好不超过 500 行。
references/
知识库。行业术语、老板偏好、详细规范,一个主题一个文件,按需读取。
scripts/
确定性的操作脚本。格式转换、数据清洗等每次都要一模一样的事,写成脚本,AI 只负责调用。
examples/
样板间。放一两个输入输出样例,AI 看例子比看描述学得快。
assets/
仓库。模板、图片、字体、Logo,统一放这里,脚本或指令中引用路径即可。
SKILL.md:核心文件,名片+大脑
这是 skill 必需要有的文件,对外,它是 Skill 的“名片”——告诉 AI 我是做什么的。例如周报 skill 就是帮用户写工作周报的,以后当用户说“写周报”“整理这周工作”“周五了”这样的触发词的时候,AI 就知道调用周报 skill 完成这份工作。
铁律:一定要说清楚这个 skill 用来做什么,以及什么时候用这个 skill。把触发词写进去——“写周报”“整理这周工作”“周五了”。AI 就靠这些触发词来判断该调用哪个 skill。你写得越像人话,越详细,触发得越准。
对内,它是 AI 的“大脑”——包括决策原则、流程骨架、或者绝对不能做的事。第一,决策原则主要解决 AI 遇到分叉路口怎么选。第二,流程骨架,写清楚第一步干什么、第二步干什么……第三,写清楚绝对不能做的事。需要注意的是,SKILL.md 只放做决策必须知道的东西,最好不超过 500 行。
references/:知识库
放那些“需要的时候才看”的东西。比如行业术语表、政策文档、详细规范、FAQ、历史案例。拿周报助手 skill 举例:
- 术语表.md:部门的黑话,“闭环”“抓手”“颗粒度”到底指什么。
- 老板偏好.md:老板最关心哪几个数字,最烦什么样的表达。
这里有个讲究,references 并不是指一个文件,刚刚我们提到的术语表.md/老板偏好.md,都是单独文件,一个文件一个主题,而这些文件都放在 references 目录下。AI 在执行过程中,需要了解哪方面知识就去翻对应的文件。而在 SKILL.md 文件里,只需要交代一句话:“部门黑话不确定的时候,去看 references/术语表.md。”而不是把术语表全文抄进 SKILL.md,这就是模块化设计,也是 skill.md 决策功能的体现。
scripts/:确定性的操作脚本
什么叫确定性?就是每次执行都一模一样、错一步都不行的事。比如格式转换、数据清洗、批量重命名、从聊天记录里提取日期和事项。这种事如果让 AI 自由发挥,发挥 10 次,它能给你 10 个不同的格式。写成脚本,又快又不会错,AI 只需要负责“调用”,不用负责思考。
脚本怎么写?记住一个约定:输入输出要傻瓜化。比如 汇总.py,输入是一个文本文件,输出是整理好的事项列表。SKILL.md 里写清楚:“收集完聊天记录后,运行 python scripts/汇总.py 聊天记录.txt,把结果作为分类整理的输入。” AI 照着执行就行,不用理解脚本内部。
什么时候该用脚本? 凡是“对了就行,错了就完”的环节,上脚本。凡是“没有标准答案,靠经验判断”的环节,让 AI 发挥。
examples/:样板间
放一两个输入输出的例子,配对放。比如 输入-聊天记录.txt 是一段乱糟糟的聊天记录,输出-周报样例.md 是整理好的周报。AI 看这样的例子比看文字描述学得快得多。你想让它输出什么格式,直接给个样例,比写 500 字描述词管用。
assets/:仓库
模板文件、图片、字体、Logo 这些静态资源统一放这里。比如你们部门周报有固定的 Word 模板,脚本里需要用到的,只需要一句话引用路径就行:“最后用 assets/周报模板.docx 的样式输出。”
03 五个模块怎么配合
HOW THEY WORK TOGETHER
再串一遍,一个任务进来之后发生了什么:
大脑做决策,手干活,知识库备查,样板间定标准,仓库出物料。各干各的,互不添乱,这就是模块化。好管理、好修改、还不乱。
04 渐进式披露:AI 是怎么读 Skill 的
PROGRESSIVE DISCLOSURE
理解了模块化,还要知道 AI 是怎么读 Skill 的。我把它叫“渐进式披露”,一共分三层:
决定用不用这个 Skill,所以 description 是门面。
Skill 被选中了,继续读 SKILL.md 的正文。如果没选中直接换下一个,正文不读了。
执行过程中,按需读取 references 和 scripts。
设计红线:这个机制核心就一件事:千万不能把所有东西都塞进 SKILL.md。SKILL.md 超过 500 行,你的 skill 也能跑,但设计上就失败了。
05 从 0 做一个 Skill:一共 7 步
SEVEN STEPS
现在我们就可以开始一步一步做 skill 了,还是拿周报 skill 举例子。
-
第一步:梳理流程
在开始动手之前,先自己把这件事之前的流程梳理清楚。比如周报 skill——自己写周报是怎么做的,先看了什么?然后做了什么?格式有什么要求?老板最关心什么?你踩过什么坑?全部记下来,流水账就行,不用整理的非常仔细。这一步其实非常关键,也最容易被跳过。不要一上来就写 SKILL.md,写出来的全是空话。核心就一个:Skill 的原材料,是你的真实流程。
-
第二步:写成自然语言步骤
把流水账整理一下,分成几个阶段。收集信息 → 分类整理 → 撰写正文 → 检查提交。建议用“先……然后……最后……”的句式,能看懂就行。
-
第三步:补上格式和雷区
你的周报有固定格式吗?有字数限制吗?有没有雷区?比如“没确认的项目不能写”“数据必须和系统对上”。这些绝对不能犯的错误也需要写清楚。雷区这部分非常重要。
-
第四步:写 SKILL.md
前面三步的原材料齐了之后,现在就可以往骨架里填了。SKILL.md 文件的结构大概分为以下几个板块:
[01] description:写清楚做什么、什么时候用,触发词写全。
[02] 决策原则:把第一步里那些“怎么选”的经验写进去。
[03] 流程骨架:把第二步的阶段放进去。
[04] 雷区:把第三步的“绝对不能做”放进去。 -
第五步:按需加上其他模块
SKILL.md 跑起来之后,就可以开始测试了,哪里卡或者哪里别扭再改。
[01] AI 总搞错部门黑话?加 references/术语表.md。
[02] 格式每次都不一样?加 examples/输出样例。
[03] 数据整理又慢又错?写个 scripts/汇总.py。
[04] 有固定模板?扔进 assets/。
但是不建议五个模块全做,先从最小版本跑起来。稳定之后再一步一步加模块。 -
第六步:测试
开一个新对话,说“帮我写周报”。AI 按你的流程执行了,那恭喜你,这个 skill 就成了。没自动触发这个 Skill,大概率是 description 没写对,看看是不是触发词写少了、写窄了。触发了但做得不对?先看是不是流程没讲清,还是缺样例、缺知识库,缺哪里补哪里,然后再测试。
-
第七步:迭代
Skill 是活的,不是写完就扔的。多用多测试,哪里别扭改哪里。改 description、加 reference、补 example,都是日常操作。一个好用的 Skill,都是要经过多轮修改改出来的,不是一次写出来的。整个过程,写个简单的 skill,大概 15 到 30 分钟。
还没有评论,来抢沙发~