Skill从理论到实践,一篇文章全部讲清楚!小白也能快速掌握

图寻不熬夜
Skill从理论到实践,一篇文章全部讲清楚!小白也能快速掌握

无论你是在使用Claude Code,Codex,还是WorkBuddy、Trae,都绕不开一个话题:Skill。

那我们如何理解Skill,它的作用是什么,我们又该如何创建、使用并管理Skill呢?

这篇文章将会带你系统地了解SKill的全貌,并且我会使用Codex详细演示Skill的创建、使用和管理。文章很长,但如果你能完整地看完这篇文章,相信你对Skill一定会有一个全新的认知!

一、Skill的诞生

大模型越来越聪明,它能做的事情也在逐渐渗透各个领域。但在实际使用过程中,存在两类问题:

(1)输出结果不够稳定。

同一个问题多次提交给AI,得到的内容、格式和质量有很大的差别。如果我们每次都在提示词里写好这些规则指令,只要是稍微复杂些的任务,提示词就会变得很长,而且需要耗费大量时间写提示词。

那怎么样才能既省时,又能输出稳定的结果呢?

(2)专业经验难以复用。

对于同一个任务,专业人士知道准确的流程和判断标准,而其他人可能连如何提问都不清楚,所以不同的人在同一个任务场景,使用模型产生的价值也会有天壤之别。

那怎么样才能复用专业人士的经验和流程呢?

随着这些问题的产生,Anthropic在2025年10月16日提出了Agent Skills,并且在当年的12月18日将Skill的格式公开为跨平台的开放标准。

二、介绍Skill

一句话总结:Skill是一个可以给大模型重复使用的专业说明文档。

1、Skill的结构

Skill本质上是一个文件夹,它包含了指令、脚本、图片或者其他资源,但其中至少要包含一个SKILL.md文档。

示例:Skill名称是pdf-processing,也就是文件夹名称,文件夹里包含了SKILL.md文档和scripts、references、assets文件夹。

这张图展示了名为“pdf-processing”的文件夹内容,对应文档中Skill的结构示例。
pdf-processing/├── SKILL.md # Required: metadata + instructions├── scripts/ # Optional: executable code │ └── extract_fields.py├── references/ # Optional: documentation│ └── form_rules.md└── assets/ # Optional: templates, resources └── report_template.docx
  • SKILL.md文档是Skill的总说明书,它用来定义什么时候触发这个Skill,怎么执行任务,以及如何验收结果。
  • scripts文件夹里放一些可执行的代码或脚本,只有在SKILL.md里明确指出使用哪个脚本时,才会被调用。
  • references文件夹里放一些供大模型阅读的规范、说明书或者某个领域的详细资料,比如劳动法、数据采集国家标准、公司报销发票的操作手册等。
  • assets文件夹里放图片、样例文件、模板等,这些文件可以供大模型调用Skill时参考或使用。

2、SKILL.md的结构

Skill的核心文件就是这个SKILL.md文档。SKILL.md由元数据(metadata)和指令(instructions)两部分组成。

元数据(metadata)必须包含name和description这两个属性。name用来记录Skill的名称,description描述这个Skill的作用以及何时使用。

这张图片展示了SKILL.md文件的元数据部分内容,是用于说明Skill核心文件结构的示例。

指令(instructions),除了元数据,其余的部分就是指令。这部分内容用来详细描述大模型要遵循的指令规则。

这是一张代码编辑软件的界面截图,显示的是SKILL.md文档的内容,该文档用于规范PDF处理相关的任务操作。

3、Skill的渐进式披露设计

大模型不会一次性把Skill的全部内容加载到任务里,而是先去判断任务是否需要用到Skill,只有需要用到时,才会按需将Skill的内容逐渐加载到任务里。

它的设计非常巧妙,不仅可以让大模型快速地匹配Skill,还可以节省上下文token。这也是Anthropic在提出Agent Skill之后,Codex、Cursor、Trae等其他厂商也快速支持使用Skill的原因。当时WorkBuddy还没有发布哦。

图片展示了Skill的渐进式披露设计,分为元数据层、指令层、资源层三层。

Skill的渐进式披露设计有三层结构:元数据层(Metadata)、指令层(Instructions)、资源层(Resources)。

  • 第一层是元数据层。这层就像是大模型的Skill目录,我们在发送任务后,大模型会加载当前所有已经安装的Skill的名称和描述,然后翻阅这个目录,确定是否有与这个任务相匹配的Skill。一般一个Skill的元数据层不超过100个Token。
  • 第二层是指令层。只有在大模型确定要使用到这个Skill之后,才会加载指令层,也就是SKILL.md文档中除了名称和描述以外的所有信息。官方建议一个Skill的指令层不要超过5000个Token。
  • 第三层是资源层。只有指令层里详细指定说需要用到哪个文件时,才会被按需加载到对话里,资源层是Skill文件夹中除了SKILL.md以外的所有的文档,比如2.1 Skill结构章节里提到的scripts、references、assets文件夹

大模型按需加载Skill里的信息,这就是Skill的渐进式披露设计,不得不佩服想出这一套设计理念的大师!

三、Skill的创建、使用和管理

这个章节,我们进入到实战的环节,我会详细展示如何创建、使用和管理Skill。这里我用到的AI智能体是Codex,如果你正在使用WorkBuddy、Claude Code、Trae或者其他AI智能体,原理也类似。

1、使用Skill

为了能够快速上手操作,我们先来介绍如何使用别人已经创建好的Skill。

一般分为3个步骤:搜索、安装和调用。

第一步,搜索Skill。

一般可以通过以下几种方法搜索Skill:

(1)在Codex中直接描述需求,这是对新手最友好的方式。

示例:请帮我寻找适合微信公众号文章排版的Skill。我的输入通常是Markdown,期望输出可以直接粘贴到微信公众号编辑器。请优先查看OpenAI官方资源、skills.sh和维护活跃的GitHub仓库,给出3个候选。请比较每个候选的核心功能、维护者、最近更新时间、安装量或社区活跃度、需要的权限和潜在风险。安装前请阅读SKILL.md,并检查是否包含脚本、外部依赖、联网或文件写入操作。先给出推荐的Skill和理由,等待我确认后再安装。

(2)在skills.sh中浏览和搜索。

skills.sh(https://skills.sh/)是一个集中展示和检索各类Skill的开源网站,它提供了每个Skill的安装量排行榜,我们可以根据关键词或维护者搜索Skill。

图片展示的是Skills网站界面。

(3)在GitHub中搜索。

有很多优秀的Skill开发者,在GitHub上开源了他(她)们开发的Skill,我们可以直接在GitHub上搜索对应Skill。这种方式的优势是可以直接查看源码、提交历史、Issue和维护者信息;劣势是新手小白很难搜索到自己想要的Skill。

第二步,安装Skill。

安装方法非常简单,打开一个对话框,直接输入:请帮我安装这个skill:「此处为Skill的网址链接」。

安装完成后,Codex会回复我们已完成安装的消息。然后,我们可以继续追问Codex,这个Skill的作用和使用方法。

这张图片展示了Codex工具中完成Skill安装后的相关界面,核心信息用红色框突出标注。

我们也可以打开查看这个SKILL.md,它的结构完全符合SKILL.md的要求,包含了Skill的名称、描述和指令。

图片展示了名为“find-skills”的Skill的SKILL.md文件内容。

第三步,调用Skill。

调用Skill的方法也比较简单,我们可以直接在对话框里,输入/,找到这个Skill,并选中即可。Codex支持模糊搜索。

这张图展示的是在Codex相关操作界面中,搜索Skill的场景,在对话框内输入“/”后关联的技能相关内容,突出显示了红色标注的“fin”,对应的“Find Skills”功能被明确标红,该功能说明此技

有些任务即使我们没有主动调用Skill,Codex也会判断任务是否与某个Skill相关,如果相关,会自动调用。

图片展示了Codex在处理用户请求时的对话界面。

注意⚠️:不建议安装和使用来源不明的Skill。今年6月份,央视联合北京交通大学网络空间安全学院报导过,任何需要访问个人信息的Skill,都可能带来隐私泄露风险,所以不要随意安装和使用Skill。

2、创建Skill

一般通用场景的任务,可以去搜索网上已有的Skill,但是独属于我们自己工作要求的Skill,就需要我们自己去创建了。

可以通过以下三种方式完成创建。

(1)直接告诉Codex想要创建什么Skill,通过与它多次沟通交流,最终确定Skill。如果是新手,不建议用这种方式创建Skill,如果描述不清楚,Codex输出的结果可能存在较大的偏差。

(2)先跑通流程再告诉Codex根据这个流程创建一个Skill。使用这种方式可以让我们更清晰的把一整套工作流程和方法固定下来。

比如,我让Codex生成一个视频封面,我先跑通了整个流程,经过多次调整优化,Codex可以根据我的要求生成我满意的封面了,我就直接告诉它创建一个Skill,并给出Skill的名称,以及要求。

这张图片是Skill创建功能的操作界面,围绕生成符合要求的小程序封面展开操作,其中红色框选的内容是核心说明:提示用户需告知Codex待创建Skill的名称、指定要求,例如该示例中需提供主副标题、人物形

(3)当然还有一个小技巧,学会站在巨人的肩膀上。你可以在现有Skill的基础上,修改调整为适合我们任务的SKill。当然这种方式只适合你的任务与这个Skill存在大部分重合的情况,千万不要拿着一个公众号排版的Skill,修改成一个做PPT的Skill。

比如,我从GitHub上安装了一个公众号排版的Skill,但是它不支持复制图片。我直接告诉Codex,并截图说,上传后图片是空的,我需要把图片也需要复制到公众号编辑器里,并修改这个Skill。

图片展示了在GitHub上安装的公众号排版Skill“generate_workbuddy_gzh.py”的使用情况。

3、管理skill

在Codex主页面左侧的工具栏【插件】,点击【技能】,可以看到我们已经安装的Skill。我们可以在这里有打开/禁用技能、创建技能、使用和卸载技能。

图片展示了Codex界面中技能管理的弹窗。

2.1章节介绍过,Skill其实就是一个文件夹。我们可以直接问Codex,我们安装的Skill都放在哪个目录下。然后我们也可以找到这些Skill文件夹,管理里面的内容。

这张图片展示了关于Skill目录查询的对话结果,对话界面右上角的内容为“我的skill都放在哪个目录下啦?”,下方明确显示用户的Skill主要分布在三个目录,分别是个人安装的Skill对应的路径为/U

当然我们也可以直接跟Codex对话,让它帮我们安装、删除、更新优化Skill等等。

最近,我也在GitHub上看到一个统一管理Skill的开源工具,它主要是解决我们要在多个AI智能体中维护Skill的问题。因为我还没有测试过这个工具,所以这篇文章也就不展开描述了。

四、Skill的场景边界

Skill可以把专业经验、执行流程、脚本和资源封装成一套可复用的工作方法。它的适用范围很广,但并不是所有的任务都适合创建或者使用SKill。下面我列举了适合和不适合Skill的场景:

适合创建和使用Skill的场景

  • 重复发生的任务 理由:可以减少反复解释流程;示例:每月生成销售报告
  • 流程固定的任务 理由:保证执行步骤一致;示例:填写与核验PDF表单
  • 需要统一格式的任务 理由:可以稳定输出风格;示例:按公司模板制作PPT
  • 需要多个工具协作的任务 理由:可以规定工具调用顺序;示例:整理会议录音并生成纪要
  • 依赖专业规则的任务 理由:可以沉淀经验和检查标准;示例:按团队规范进行代码审查

不适合创建和使用Skill的场景

  • 一次性的简单任务 理由:直接问智能体更高效;示例:翻译一句英文
  • 需求模糊的任务 理由:缺少稳定的执行流程;示例:帮我想一个创业方向
  • 完全开放的创意任务 理由:固定流程可能限制探索;示例:自由创作一副抽象的画
  • 查询实时信息的任务 理由:信息变化快,适合直接搜索;示例:查询今天某个股票的价格
  • 需要人承担最终责任的任务 理由:AI 无法独立承担决策后果;示例:重大投资决策

给大家一个实用的判断标准:重复三次或以上执行同一个任务,每次都需要重新解释步骤、规定格式或描述注意事项,而且后续仍可能会执行这个任务,那就值得创建一个Skill。

五、总结

Skill是一个可以供大模型重复使用的工作说明书,它通过SKILL.md 规定触发条件、执行流程和验收标准,并且大模型会按需调用资源文件,从而提高处理复杂任务的稳定性,也可以沉淀出一套专业的经验,供自己或他人复用。

我是图寻,从央企裸辞,成为了一家AI 公司的联合创始人。如果这篇文章对你有帮助,希望能收到你的点赞、收藏和关注!这对我有很大的鼓励,非常感谢~

更多文章