乐于分享
好东西不私藏

为什么你的AI助手不够好用?聊聊 Skill的本质

为什么你的AI助手不够好用?聊聊 Skill的本质

用过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?欢迎评论区聊聊。