用过AI助手的人大概都有这个体验:让AI写篇文章还行,让它做点专业的事就容易翻车。不是AI不够聪明,而是它缺少「专业知识」。
Skill,就是解决这个问题的答案。今天我们聊点硬的——Skill到底是什么,怎么工作的,怎么自己创建一个。
01 Skill到底是什么?
Skill(技能)是一种结构化的能力封装。你可以把它理解为给AI安装的「专业插件」——每个插件对应一种专业能力。
比如你有个通用的AI助手,让它写代码可以,但让它专门做PPT就差点意思。这时候如果给它装一个「PPT制作Skill」,它就懂了PPT应该怎么做、有哪些规范、怎么调用相关工具。
对比一下:
• Prompt(提示词):告诉AI「你是一个PPT专家」——AI靠理解执行,不稳定
• Skill:给AI一套完整的PPT制作流程、工具调用方式、输出规范——AI按流程执行,稳定可靠
02 Skill的标准格式规范
一个标准的Skill,通常包含以下文件结构:
skill_name/
├── SKILL.md # 技能主文件,核心配置
├── scripts/ # 脚本目录,存放自动化脚本
│ ├── script1.py
│ └── script2.sh
├── references/ # 参考文档
│ ├── doc1.md
│ └── doc2.md
└── assets/ # 静态资源
├── template.html
└── data.json
核心文件 SKILL.md 的标准格式:
# Skill名称
## description
技能的一句话描述,说明这个技能做什么、什么时候用。
## dependency
前置依赖,包括系统命令、Python库等。
- python: ["requests", "pandas"]
- system: ["ffmpeg"]
## 触发条件
在什么情况下触发这个Skill,比如「当用户说要写公众号文章时」。
## 工作流程
1. 第一步做什么
2. 第二步做什么
3. 第三步做什么
## 输出规范
定义输出的格式、质量标准等。
## 注意事项
使用这个Skill时需要注意什么,有哪些坑要避开。
## 资源文件索引
说明相关脚本、文档的路径和用途。
这个格式的好处是结构清晰、易于维护。AI加载Skill时,首先读取SKILL.md,理解这个技能能做什么、怎么做,然后按照定义的流程执行。
03 Skill的运行原理
说完成员组成,再说说Skill是怎么跑起来的。整个流程大概是这样:
第一步:加载(Load)
当用户的需求触发了某个Skill,系统会把这个Skill的所有文件加载到当前运行环境。AI首先读取SKILL.md,理解这个技能的定义和规范。
第二步:解析(Parse)
AI根据SKILL.md中的描述,解析用户的具体需求。比如用户说「帮我写一篇公众号文章」,Skill告诉AI需要收集:主题、风格、字数要求等信息。AI会判断信息是否足够,不够的话向用户补充询问。
第三步:执行(Execute)
按照Skill定义的工作流程逐步执行。这期间可能会调用各种工具:
• 联网搜索获取信息
• 读取本地文件或模板
• 调用脚本处理数据
• 生成图片、文档等产物
• 发送消息通知用户
第四步:输出(Output)
按照Skill定义的输出规范,生成最终产物。可能是文档、代码、文件路径,或者是直接返回给用户的结果。
简化流程图:
用户需求 → Skill加载 → 信息解析 → 流程执行 → 工具调用 → 产物生成 → 返回结果
04 如何创建一个Skill
创建Skill的核心原则只有一条:从用户场景出发,而不是从功能列表出发。
举个反例:做一个「美食教程Skill」,上来就写「这个Skill可以查菜谱、生成图片、写文案、管理笔记」。功能堆了一堆,但没想清楚用户在什么场景下会用。
正确的思路应该是:
「用户想做一道菜,但不知道怎么做 → 需要菜谱查询功能」
「用户想把这个菜谱分享出去 → 需要生成精美的食谱卡片」
「用户想做成视频 → 需要短视频脚本生成」
创建步骤:
Step 1:明确核心场景
这个Skill要解决什么问题?目标用户是谁?什么情况下会被调用?把这些想清楚,再动笔。
Step 2:设计工作流程
把这个Skill的执行过程拆解成一步步。假设你要做一个「日报生成Skill」,流程可能是:
1. 询问用户今天做了什么
2. 根据输入组织内容结构
3. 生成符合公司规范的日报格式
4. 输出可复制的文本
Step 3:定义输入输出
用户需要提供什么信息?Skill最终产出什么?有没有可选参数?这些都要写清楚。
Step 4:编写SKILL.md
按照标准格式编写主文件。description要简洁精准,让AI一眼看懂这个Skill能做什么。工作流程要具体,每一步做什么、怎么衔接都要写。
Step 5:准备辅助资源
如果Skill需要模板、脚本、数据文件,创建对应的目录和文件。
Step 6:测试迭代
实际跑一遍,看看流程顺不顺畅、输出达不达标。根据测试反馈调整。
05 一个简化版的Skill示例
光说不练假把式,给你一个「会议纪要整理Skill」的最小可行版本:
# 会议纪要整理
## description
将会议录音或文字记录整理成结构化的会议纪要。触发场景:用户提供会议内容,要求生成纪要。
## 工作流程
1. 解析输入内容,识别出:议题、讨论要点、决议、待办事项
2. 按标准格式组织输出:会议主题、参会人员、时间地点
3. 列出讨论要点和对应结论
4. 整理出待办事项清单(含负责人和截止时间)
5. 输出可复制文本
## 输出规范
标题:会议纪要 | 日期
## 注意事项
- 如果输入信息不完整,标注「[信息缺失]」
- 待办事项要明确:任务内容 + 负责人 + 截止时间
- 决议部分要突出显示
这就是一个完整Skill该有的样子——说清楚做什么、怎么做、做到什么标准。
写在最后
Skill的价值在于把经验封装成可复用的能力。
你是一个程序员,写代码有自己的规范和习惯,把这套规范封装成Skill,AI就能按照你的方式工作。你是一个运营,写文案有自己的套路,把套路封装成Skill,你就有了一个永不疲倦的文案助手。
你的经验 + Skill = 放大一百倍的能力。
别等了,从今天开始,把你最有价值的那套方法论,变成一个Skill吧。
——
你有什么想封装的技能吗?或者已经在用什么好用的Skill?欢迎评论区聊聊。
夜雨聆风