保姆级喂饭教程:什么是Skills?如何用Skills?

你用AI的时候,有没有这种感觉:问了它一个问题,它给的答案好像对,但又差点意思?


01

史塔克有个朋友,最近迷上了用AI写代码。

每天都在群里发消息:“AI太强了,我让它写什么它就写什么。”

但有一天,他突然说:“为什么我让AI写的代码,总是差那么一点?格式不对,逻辑不通,还得我自己改半天。”

史塔克问他:“你怎么用的?”

他说:“我就直接说,帮我写一个Python脚本。”

史塔克笑了。

这就像你去餐厅,跟服务员说:“给我来点吃的。“服务员确实会给你上菜,但上什么菜,好不好吃,就不好说了。

大家好,我是史塔克,今天我们一起来聊聊:什么是Skills,以及为什么它是你用AI的关键。


02

很多小伙伴可能觉得,AI就是一个"万能助手”,你问它什么,它都能回答。

没错,AI确实什么都能回答。但"能回答"和"回答得好"之间,差了一个东西。

这个东西,就是Skills。

说白了就是,Skills是AI的"专业技能包”。

你有没有想过,为什么同样一个AI,有人用它写代码写得很好,有人用它写文案写得很好,有人用它做数据分析做得很好?

不是AI的能力不同,而是他们给AI装了不同的"技能包"。

就像同一个人,你让他去当厨师,他能做出一桌好菜;你让他去当医生,他也能给你看病。但前提是你得告诉他,他现在是厨师还是医生。

Skills就是告诉AI:“你现在是厨师,不是医生。”


03

那Skills到底长什么样?

别急,史塔克直接给你看真实的文件。

打开你的电脑,找到你存放Skills的文件夹,你会看到这样的结构:

<section><span leaf=""><br></span></section><code><span leaf="">E:\skills\</span><br><span leaf="">├── 0624\</span><br><span leaf="">│ &nbsp; ├── merged-skill\</span><br><span leaf="">│ &nbsp; │ &nbsp; ├── SKILL.md &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;← 这就是一个Skill</span><br><span leaf="">│ &nbsp; │ &nbsp; ├── assets\</span><br><span leaf="">│ &nbsp; │ &nbsp; └── references\</span><br><span leaf="">│ &nbsp; ├── humanizer-zh\</span><br><span leaf="">│ &nbsp; │ &nbsp; └── SKILL.md</span><br><span leaf="">│ &nbsp; └── poster\</span><br><span leaf="">│ &nbsp; &nbsp; &nbsp; └── SKILL.md</span><br><span leaf="">├── 0626\</span><br><span leaf="">│ &nbsp; ├── blog-draft\</span><br><span leaf="">│ &nbsp; │ &nbsp; ├── SKILL.md</span><br><span leaf="">│ &nbsp; │ &nbsp; └── templates\</span><br><span leaf="">│ &nbsp; ├── brand-voice\</span><br><span leaf="">│ &nbsp; │ &nbsp; ├── SKILL.md</span><br><span leaf="">│ &nbsp; │ &nbsp; └── writing_style_profile.md</span><br><span leaf="">│ &nbsp; └── agnes-image-video\</span><br><span leaf="">│ &nbsp; &nbsp; &nbsp; ├── SKILL.md</span><br><span leaf="">│ &nbsp; &nbsp; &nbsp; ├── scripts\</span><br><span leaf="">│ &nbsp; &nbsp; &nbsp; └── references\</span><br><span leaf="">├── text-to-speech\</span><br><span leaf="">│ &nbsp; ├── SKILL.md</span><br><span leaf="">│ &nbsp; └── scripts\</span><br><span leaf="">└── find-skills-0.1.0\</span><br><span leaf="">&nbsp; &nbsp; ├── SKILL.md</span><br><span leaf="">&nbsp; &nbsp; └── script\</span><br></code>

看到了吗?每个Skill文件夹里都有一个SKILL.md文件。这个文件就是Skill的"灵魂"。


04

那SKILL.md里面到底写了什么?

史塔克给你看几个真实的例子。

例子一:文字转语音Skill

打开E:\skills\text-to-speech\SKILL.md,你会看到文件开头是这样的:

<section><span leaf=""><br></span></section><code><span><span leaf="">---</span></span><br><span><span leaf="">name:</span></span><span><span leaf="">text-to-speech</span></span><br><span><span leaf="">description:</span></span><span><span leaf="">支持中英文、男女声、语速调节的文字转语音技能,可保存为mp3格式</span></span><br><span><span leaf="">---</span><br></span></code>

这个---包裹的部分叫做"YAML frontmatter",就是告诉AI:“这个Skill叫什么名字,它是干什么的。”

然后下面是具体的使用说明:

<section><span leaf=""><br></span></section><code><span><span leaf="">## Quick Start</span></span><br><br><span leaf="">将一段文本转换为语音并播放:</span><br><span leaf="">text-to-speech "你好,欢迎使用文字转语音功能"</span><br><br><span><span leaf="">## Common Operations</span></span><br><br><span><span leaf="">**选择语言**</span></span><br><span leaf="">text-to-speech --lang zh "你好世界" &nbsp; &nbsp; &nbsp; # 中文</span><br><span leaf="">text-to-speech --lang en "Hello World" &nbsp;# 英文</span><br><br><span><span leaf="">**选择声音类型**</span></span><br><span leaf="">text-to-speech --voice female "这是一段女声语音"</span><br><span leaf="">text-to-speech --voice male "这是一段男声语音"</span><br></code>

看到没?这就是一个Skill。它告诉AI:什么时候用这个工具,怎么用这个工具,有哪些参数可以选。

例子二:博客写作Skill

再看一个更复杂的。打开E:\skills\0626\blog-draft\SKILL.md,开头是这样的:

<section><span leaf=""><br></span></section><code><span><span leaf="">---</span></span><br><span><span leaf="">name:</span></span><span><span leaf="">blog-draft</span></span><br><span><span leaf="">description:</span></span><span><span leaf="">根据想法和资料撰写博客草稿。适用于用户想写博客、基于研究创建内容,或起草文章的场景。</span></span><br><span><span leaf="">---</span><br></span></code>

这个Skill不只是告诉AI"用什么工具",而是定义了一整套工作流程:

<section><span leaf=""><br></span></section><code><span><span leaf="">## 执行流程</span></span><br><br><span><span leaf="">### 步骤 0:创建项目文件夹</span></span><br><span><span leaf="">1.</span></span><span leaf="">&nbsp;使用以下格式生成文件夹名称:YYYY-MM-DD-short-topic-name</span><br><br><span><span leaf="">### 步骤 1:研究与资源收集</span></span><br><span><span leaf="">1.</span></span><span leaf="">&nbsp;对于每个提供的资源,抓取关键内容并保存到 resources/ 下</span><br><br><span><span leaf="">### 步骤 2:头脑风暴与澄清</span></span><br><span><span leaf="">1.</span></span><span leaf="">&nbsp;展示主要主题、可能切入角度、关键点</span><br><br><span><span leaf="">### 步骤 3:提出提纲</span></span><br><span><span leaf="">1.</span></span><span leaf="">&nbsp;创建结构化提纲,等待用户批准</span><br><br><span><span leaf="">### 步骤 6:撰写草稿</span></span><br><span><span leaf="">1.</span></span><span leaf="">&nbsp;基于已批准的提纲,撰写完整博客草稿</span><br><span><span leaf="">2.</span></span><span leaf="">&nbsp;将草稿保存为 draft-v0.1.md</span><br></code>

看到区别了吗?第一个Skill是"工具型"的,教AI怎么用一个命令;第二个Skill是"流程型"的,教AI怎么一步步完成一个复杂任务。

例子三:搜索安装Skill

再看一个更实用的。打开E:\skills\find-skills-0.1.0\SKILL.md:

<section><span leaf=""><br></span></section><code><span><span leaf="">---</span></span><br><span><span leaf="">name:</span></span><span><span leaf="">find-skills</span></span><br><span><span leaf="">description:</span></span><span><span leaf="">Helps</span></span><span><span leaf="">users</span></span><span><span leaf="">discover</span></span><span><span leaf="">and</span></span><span><span leaf="">install</span></span><span><span leaf="">agent</span></span><span><span leaf="">skills</span></span><span><span leaf="">when</span></span><span><span leaf="">they</span></span><span><span leaf="">ask</span></span><span><span leaf="">questions</span></span><span><span leaf="">like</span></span><span><span leaf="">"how do I do X"</span></span><span><span leaf="">,</span></span><span><span leaf="">"find a skill for X"</span></span><span><span leaf="">,</span></span><span><span leaf="">or</span></span><span><span leaf="">express</span></span><span><span leaf="">interest</span></span><span><span leaf="">in</span></span><span><span leaf="">extending</span></span><span><span leaf="">capabilities.</span></span><br><span><span leaf="">---</span><br></span></code>

这个Skill更厉害,它教AI怎么帮用户搜索和安装新的Skills:

<section><span leaf=""><br></span></section><code><span><span leaf="">## What is the Skills CLI?</span></span><br><br><span leaf="">The Skills CLI (npx skills) is the package manager for the open agent skills ecosystem.</span><br><br><span><span leaf="">**Key commands:**</span></span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;npx skills find [query] - Search for skills</span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;npx skills add&nbsp;</span><span><span><span leaf="">&lt;</span><span><span leaf="">package</span></span><span leaf="">&gt;</span></span></span><span leaf="">&nbsp;- Install a skill</span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;npx skills check - Check for skill updates</span><br><br><span><span leaf="">## How to Help Users Find Skills</span></span><br><br><span><span leaf="">### Step 1: Understand What They Need</span></span><br><span><span leaf="">1.</span></span><span leaf="">&nbsp;The domain (e.g., React, testing, design)</span><br><span><span leaf="">2.</span></span><span leaf="">&nbsp;The specific task (e.g., writing tests, creating animations)</span><br><br><span><span leaf="">### Step 2: Search for Skills</span></span><br><span leaf="">npx skills find [query]</span><br><br><span leaf="">For example:</span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;"how do I make my React app faster?" → npx skills find react performance</span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;"can you help me with PR reviews?" → npx skills find pr review</span><br><br><span><span leaf="">### Step 3: Offer to Install</span></span><br><span leaf="">npx skills add&nbsp;</span><span><span leaf="">&lt;owner/repo@skill&gt;</span></span><span leaf="">&nbsp;-g -y</span><br></code>

这就是"工具型"的Skill,它定义的不是"做什么",而是"用什么工具"和"怎么安装"。而且这个Skill本身就是关于Skills的——用Skills来管理Skills,是不是很酷?


05

看完这三个例子,你大概明白了:Skill就是一个Markdown文件,里面告诉AI三件事。

第一,这个Skill叫什么,干什么用的。

就是文件开头那个---包裹的部分:

<section><span leaf=""><br></span></section><code><span><span leaf="">---</span></span><br><span><span leaf="">name:</span></span><span><span leaf="">skill名字</span></span><br><span><span leaf="">description:</span></span><span><span leaf="">这个Skill是干什么的</span></span><br><span><span leaf="">---</span><br></span></code>

第二,什么时候用,怎么用。

就是文件主体部分,告诉AI:

  • 适用场景(什么时候该用,什么时候不该用)

  • 具体步骤(一步步怎么做)

  • 命令示例(实际可以复制粘贴的代码)

  • 注意事项(容易踩的坑)

第三,不能怎么做。

就是各种"禁止"和"必须",告诉AI边界在哪里。

就这三件事,写清楚了,就是一个合格的Skill。


06

那怎么创建自己的Skill呢?

史塔克手把手教你。

第一步:新建一个文件夹

在你的Skills目录下,新建一个文件夹,名字用英文小写加连字符:

<section><span leaf=""><br></span></section><code><span leaf="">E:\skills\my-first-skill\</span><br></code>

第二步:创建SKILL.md文件

在文件夹里新建一个SKILL.md文件,用任何文本编辑器打开,写入以下内容:

<section><span leaf=""><br></span></section><code><span><span leaf="">---</span></span><br><span><span leaf="">name:</span></span><span><span leaf="">my-first-skill</span></span><br><span><span leaf="">description:</span></span><span><span leaf="">我的第一个Skill,用于[你想要AI做的事情]</span></span><br><span><span leaf="">---</span><br></span><br><span><span leaf=""># [Skill名称]</span></span><br><br><span><span leaf="">## 适用场景</span></span><br><br><span><span leaf="">✅</span></span><span><span leaf="">该用的情况:</span></span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;[</span><span><span leaf="">场景1</span></span><span leaf="">]</span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;[</span><span><span leaf="">场景2</span></span><span leaf="">]</span><br><br><span><span leaf="">❌</span></span><span><span leaf="">不该用的情况:</span></span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;[</span><span><span leaf="">场景1</span></span><span leaf="">]</span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;[</span><span><span leaf="">场景2</span></span><span leaf="">]</span><br><br><span><span leaf="">## 使用方法</span></span><br><br><span><span leaf="">### 基本用法</span></span><br><span leaf="">[</span><span><span leaf="">具体的命令或步骤</span></span><span leaf="">]</span><br><br><span><span leaf="">### 进阶用法</span></span><br><span leaf="">[</span><span><span leaf="">更复杂的用法</span></span><span leaf="">]</span><br><br><span><span leaf="">## 注意事项</span></span><br><br><span><span leaf="">-</span></span><span leaf="">&nbsp;[</span><span><span leaf="">注意1</span></span><span leaf="">]</span><br><span><span leaf="">-</span></span><span leaf="">&nbsp;[</span><span><span leaf="">注意2</span></span><span leaf="">]</span><br></code>

第三步:填写内容

把你想要AI遵守的规则、使用的工具、遵循的流程,一条一条写进去。

举个例子,如果你想创建一个"Python代码规范"的Skill,你可以这样写:

<section><span leaf=""><br></span></section><code><span><span leaf="">---</span></span><br><span><span leaf="">name:</span></span><span><span leaf="">python-code-style</span></span><br><span><span leaf="">description:</span></span><span><span leaf="">Python代码编写规范,确保代码风格一致、可读性强</span></span><br><span><span leaf="">---</span><br></span><br><span><span leaf=""># Python代码规范</span></span><br><br><span><span leaf="">## 适用场景</span></span><br><br><span><span leaf="">✅</span></span><span><span leaf="">该用的情况:</span></span><br><span><span leaf="">-</span></span><span><span leaf="">编写Python代码时</span></span><br><span><span leaf="">-</span></span><span><span leaf="">审查Python代码时</span></span><br><span><span leaf="">-</span></span><span><span leaf="">重构Python代码时</span></span><br><br><span><span leaf="">## 代码规范</span></span><br><br><span><span leaf="">### 命名规则</span></span><br><span><span leaf="">-</span></span><span><span leaf="">变量名:snake_case(小写加下划线)</span></span><br><span><span leaf="">-</span></span><span><span leaf="">类名:PascalCase(首字母大写)</span></span><br><span><span leaf="">-</span></span><span><span leaf="">常量:UPPER_SNAKE_CASE(全大写加下划线)</span></span><br><br><span><span leaf="">### 注释规范</span></span><br><span><span leaf="">-</span></span><span><span leaf="">每个函数必须有docstring</span></span><br><span><span leaf="">-</span></span><span><span leaf="">复杂逻辑必须加行内注释</span></span><br><span><span leaf="">-</span></span><span><span leaf="">注释用中文</span></span><br><br><span><span leaf="">### 错误处理</span></span><br><span><span leaf="">-</span></span><span><span leaf="">所有外部调用必须用try-except包裹</span></span><br><span><span leaf="">-</span></span><span><span leaf="">必须记录错误日志</span></span><br><span><span leaf="">-</span></span><span><span leaf="">必须给出用户友好的错误提示</span></span><br><br><span><span leaf="">## 禁止事项</span></span><br><br><span><span leaf="">-</span></span><span><span leaf="">❌</span></span><span><span leaf="">不要用单字母变量名(循环变量i/j/k除外)</span></span><br><span><span leaf="">-</span></span><span><span leaf="">❌</span></span><span><span leaf="">不要写超过50行的函数</span></span><br><span><span leaf="">-</span></span><span><span leaf="">❌</span></span><span><span leaf="">不要用import</span></span><span><span leaf="">*(必须明确导入)</span></span><br></code>

第四步:保存,完成。

就这么简单。你已经有了一个自己的Skill。

当然,手动创建只是入门。史塔克还准备了一个更强大的工具——skill-creator,一个专门用来创建和优化Skills的Skill。

打开\skill-creator.zip,解压后你会看到一个完整的Skill开发框架:

<section><span leaf=""><br></span></section><code><span leaf="">skill-creator/</span><br><span leaf="">├── SKILL.md &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;← 核心:如何创建Skill的完整指南</span><br><span leaf="">├── agents/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ← 子代理:评分、对比、分析</span><br><span leaf="">│ &nbsp; ├── grader.md &nbsp; &nbsp; &nbsp; &nbsp; ← 自动评分器</span><br><span leaf="">│ &nbsp; ├── comparator.md &nbsp; &nbsp; ← A/B对比器</span><br><span leaf="">│ &nbsp; └── analyzer.md &nbsp; &nbsp; &nbsp; ← 结果分析器</span><br><span leaf="">├── eval-viewer/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;← 可视化评估工具</span><br><span leaf="">├── references/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ← 参考文档和数据结构</span><br><span leaf="">└── scripts/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;← 自动化脚本</span><br></code>

这个Skill的厉害之处在于,它不只是"教你写SKILL.md",而是定义了一整套迭代优化流程:

  1. 捕获意图:

    你想让Skill做什么?什么时候触发?

  2. 写草稿:

    先写一版SKILL.md

  3. 写测试:

    准备2-3个真实的用户提问

  4. 跑测试:

    让AI带着你的Skill去回答这些问题

  5. 评估结果:

    用可视化工具对比"有Skill"和"没Skill"的效果

  6. 迭代改进:

    根据反馈修改Skill,再跑测试,循环直到满意

而且它还有一个"描述优化器",专门优化SKILL.md里的description字段——这个字段决定了AI什么时候会自动调用你的Skill。描述写得不够好,AI就不知道什么时候该用你的Skill。

所以如果你 serious about 创建高质量的Skill,skill-creator是你的必备工具。


07

更高级的用法是,你可以把多个Skills组合起来。

比如,你有一个"Python代码规范"的Skill,还有一个"代码审查"的Skill。你可以同时使用这两个Skill,让AI先写代码,再审查代码。

再比如,你有一个"公众号写作"的Skill,还有一个"小红书写作"的Skill。你可以根据不同的平台,切换不同的Skill,让AI在不同平台上保持不同的风格。

甚至,你可以把别人创建好的Skills拿过来用。

比如,史塔克之前分析了自己的写作风格,创建了一个"品牌声音"的Skill。你直接用这个Skill,AI就能模仿史塔克的风格来写文章。

这就是Skills的威力:它让AI从"通用助手"变成了"专业专家"。


08

最后,史塔克想说一句。

很多人觉得,AI就是一个"问答机器",你问它什么,它就答什么。

但其实,AI更像是一个"学徒"。

你给它什么指令,它就学什么技能。你给它好的指令,它就学好的技能。你给它差的指令,它就学差的技能。

Skills就是你给AI的"教材"。

教材好,学生就好。教材差,学生就差。

所以,与其抱怨AI不够好,不如先想想:你给AI的"教材"够不够好?

从今天开始,试着创建一个属于你自己的Skills吧。

你会发现,AI突然变得不一样了。


作者:史塔克__如果你也想让AI变得更好用,欢迎转发让更多人看到。