保姆级喂饭教程:什么是Skills?如何用Skills?
_你用AI的时候,有没有这种感觉:问了它一个问题,它给的答案好像对,但又差点意思?_
___
01
史塔克有个朋友,最近迷上了用AI写代码。
每天都在群里发消息:"AI太强了,我让它写什么它就写什么。"
但有一天,他突然说:"为什么我让AI写的代码,总是差那么一点?格式不对,逻辑不通,还得我自己改半天。"
史塔克问他:"你怎么用的?"
他说:"我就直接说,帮我写一个Python脚本。"
史塔克笑了。
这就像你去餐厅,跟服务员说:"给我来点吃的。"服务员确实会给你上菜,但上什么菜,好不好吃,就不好说了。
大家好,我是史塔克,今天我们一起来聊聊:什么是Skills,以及为什么它是你用AI的关键。
___
02
很多小伙伴可能觉得,AI就是一个"万能助手",你问它什么,它都能回答。
没错,AI确实什么都能回答。但"能回答"和"回答得好"之间,差了一个东西。
这个东西,就是Skills。
说白了就是,Skills是AI的"专业技能包"。
你有没有想过,为什么同样一个AI,有人用它写代码写得很好,有人用它写文案写得很好,有人用它做数据分析做得很好?
不是AI的能力不同,而是他们给AI装了不同的"技能包"。
就像同一个人,你让他去当厨师,他能做出一桌好菜;你让他去当医生,他也能给你看病。但前提是你得告诉他,他现在是厨师还是医生。
Skills就是告诉AI:"你现在是厨师,不是医生。"
___
03
那Skills到底长什么样?
别急,史塔克直接给你看真实的文件。
打开你的电脑,找到你存放Skills的文件夹,你会看到这样的结构:
E:\skills\
├── 0624\
│ ├── merged-skill\
│ │ ├── SKILL.md ← 这就是一个Skill
│ │ ├── assets\
│ │ └── references\
│ ├── humanizer-zh\
│ │ └── SKILL.md
│ └── poster\
│ └── SKILL.md
├── 0626\
│ ├── blog-draft\
│ │ ├── SKILL.md
│ │ └── templates\
│ ├── brand-voice\
│ │ ├── SKILL.md
│ │ └── writing_style_profile.md
│ └── agnes-image-video\
│ ├── SKILL.md
│ ├── scripts\
│ └── references\
├── text-to-speech\
│ ├── SKILL.md
│ └── scripts\
└── find-skills-0.1.0\
├── SKILL.md
└── script\
看到了吗?每个Skill文件夹里都有一个SKILL.md文件。这个文件就是Skill的"灵魂"。
___
04
那SKILL.md里面到底写了什么?
史塔克给你看几个真实的例子。
例子一:文字转语音Skill
打开E:\skills\text-to-speech\SKILL.md,你会看到文件开头是这样的:
---
name:text-to-speech
description:支持中英文、男女声、语速调节的文字转语音技能,可保存为mp3格式
---
这个---包裹的部分叫做"YAML frontmatter",就是告诉AI:"这个Skill叫什么名字,它是干什么的。"
然后下面是具体的使用说明:
## Quick Start
将一段文本转换为语音并播放:
text-to-speech "你好,欢迎使用文字转语音功能"
## Common Operations
**选择语言**
text-to-speech --lang zh "你好世界" # 中文
text-to-speech --lang en "Hello World" # 英文
**选择声音类型**
text-to-speech --voice female "这是一段女声语音"
text-to-speech --voice male "这是一段男声语音"
看到没?这就是一个Skill。它告诉AI:什么时候用这个工具,怎么用这个工具,有哪些参数可以选。
例子二:博客写作Skill
再看一个更复杂的。打开E:\skills\0626\blog-draft\SKILL.md,开头是这样的:
---
name:blog-draft
description:根据想法和资料撰写博客草稿。适用于用户想写博客、基于研究创建内容,或起草文章的场景。
---
这个Skill不只是告诉AI"用什么工具",而是定义了一整套工作流程:
## 执行流程
### 步骤 0:创建项目文件夹
1. 使用以下格式生成文件夹名称:YYYY-MM-DD-short-topic-name
### 步骤 1:研究与资源收集
1. 对于每个提供的资源,抓取关键内容并保存到 resources/ 下
### 步骤 2:头脑风暴与澄清
1. 展示主要主题、可能切入角度、关键点
### 步骤 3:提出提纲
1. 创建结构化提纲,等待用户批准
### 步骤 6:撰写草稿
1. 基于已批准的提纲,撰写完整博客草稿
2. 将草稿保存为 draft-v0.1.md
看到区别了吗?第一个Skill是"工具型"的,教AI怎么用一个命令;第二个Skill是"流程型"的,教AI怎么一步步完成一个复杂任务。
例子三:搜索安装Skill
再看一个更实用的。打开E:\skills\find-skills-0.1.0\SKILL.md:
---
name:find-skills
description:Helpsusersdiscoverandinstallagentskillswhentheyaskquestionslike"how do I do X","find a skill for X",orexpressinterestinextendingcapabilities.
---
这个Skill更厉害,它教AI怎么帮用户搜索和安装新的Skills:
## What is the Skills CLI?
The Skills CLI (npx skills) is the package manager for the open agent skills ecosystem.
**Key commands:**
- npx skills find [query] - Search for skills
- npx skills add package> - Install a skill
- npx skills check - Check for skill updates
## How to Help Users Find Skills
### Step 1: Understand What They Need
1. The domain (e.g., React, testing, design)
2. The specific task (e.g., writing tests, creating animations)
### Step 2: Search for Skills
npx skills find [query]
For example:
- "how do I make my React app faster?" → npx skills find react performance
- "can you help me with PR reviews?" → npx skills find pr review
### Step 3: Offer to Install
npx skills add -g -y
这就是"工具型"的Skill,它定义的不是"做什么",而是"用什么工具"和"怎么安装"。而且这个Skill本身就是关于Skills的——用Skills来管理Skills,是不是很酷?
___
05
看完这三个例子,你大概明白了:Skill就是一个Markdown文件,里面告诉AI三件事。
第一,这个Skill叫什么,干什么用的。
就是文件开头那个---包裹的部分:
---
name:skill名字
description:这个Skill是干什么的
---
第二,什么时候用,怎么用。
就是文件主体部分,告诉AI:
- 适用场景(什么时候该用,什么时候不该用)
- 具体步骤(一步步怎么做)
- 命令示例(实际可以复制粘贴的代码)
- 注意事项(容易踩的坑)
第三,不能怎么做。
就是各种"禁止"和"必须",告诉AI边界在哪里。
就这三件事,写清楚了,就是一个合格的Skill。
___
06
那怎么创建自己的Skill呢?
史塔克手把手教你。
第一步:新建一个文件夹
在你的Skills目录下,新建一个文件夹,名字用英文小写加连字符:
E:\skills\my-first-skill\
第二步:创建SKILL.md文件
在文件夹里新建一个SKILL.md文件,用任何文本编辑器打开,写入以下内容:
---
name:my-first-skill
description:我的第一个Skill,用于[你想要AI做的事情]
---
# [Skill名称]
## 适用场景
✅该用的情况:
- [场景1]
- [场景2]
❌不该用的情况:
- [场景1]
- [场景2]
## 使用方法
### 基本用法
[具体的命令或步骤]
### 进阶用法
[更复杂的用法]
## 注意事项
- [注意1]
- [注意2]
第三步:填写内容
把你想要AI遵守的规则、使用的工具、遵循的流程,一条一条写进去。
举个例子,如果你想创建一个"Python代码规范"的Skill,你可以这样写:
---
name:python-code-style
description:Python代码编写规范,确保代码风格一致、可读性强
---
# Python代码规范
## 适用场景
✅该用的情况:
-编写Python代码时
-审查Python代码时
-重构Python代码时
## 代码规范
### 命名规则
-变量名:snake_case(小写加下划线)
-类名:PascalCase(首字母大写)
-常量:UPPER_SNAKE_CASE(全大写加下划线)
### 注释规范
-每个函数必须有docstring
-复杂逻辑必须加行内注释
-注释用中文
### 错误处理
-所有外部调用必须用try-except包裹
-必须记录错误日志
-必须给出用户友好的错误提示
## 禁止事项
-❌不要用单字母变量名(循环变量i/j/k除外)
-❌不要写超过50行的函数
-❌不要用import*(必须明确导入)
第四步:保存,完成。
就这么简单。你已经有了一个自己的Skill。
当然,手动创建只是入门。史塔克还准备了一个更强大的工具——skill-creator,一个专门用来创建和优化Skills的Skill。
打开\skill-creator.zip,解压后你会看到一个完整的Skill开发框架:
skill-creator/
├── SKILL.md ← 核心:如何创建Skill的完整指南
├── agents/ ← 子代理:评分、对比、分析
│ ├── grader.md ← 自动评分器
│ ├── comparator.md ← A/B对比器
│ └── analyzer.md ← 结果分析器
├── eval-viewer/ ← 可视化评估工具
├── references/ ← 参考文档和数据结构
└── scripts/ ← 自动化脚本
这个Skill的厉害之处在于,它不只是"教你写SKILL.md",而是定义了一整套迭代优化流程:
- 捕获意图:
你想让Skill做什么?什么时候触发?
- 写草稿:
先写一版SKILL.md
- 写测试:
准备2-3个真实的用户提问
- 跑测试:
让AI带着你的Skill去回答这些问题
- 评估结果:
用可视化工具对比"有Skill"和"没Skill"的效果
- 迭代改进:
根据反馈修改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变得更好用,欢迎转发让更多人看到。_