首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Skill详解(2万字详细教程),Skills是什么,如何安装并使用Skills

Skill详解(2万字详细教程),Skills是什么,如何安装并使用Skills

原创
作者头像
庆哥哥
发布2026-06-15 17:08:18
发布2026-06-15 17:08:18
20
举报

1 前言

AI 时代,不会 Skills你就落后了

Skills 是目前广泛使用的一个技术,几乎是大模型不可或缺的一部分,不仅 JavaerPythoner 需要掌握,就连产品经理、UI、行政等职位选手都需要使用它,覆盖人群非常广。Skills 已经不单单是程序员需要掌握的技术,而是所有人、所有岗位都需要掌握的技术。

目前市面上很少有介绍 Skills 的高质量文章,大多都是从程序员、从技术的角度去介绍,长篇大论、枯燥无味、晦涩难懂,连程序员都很难理解,更别说非技术人员了,简直是看天书

今天我就通过一些简单的案例来介绍 Skills 的本质,用最朴素的方式来教大家简单入门理解并深度掌握 Skills

2 基础概念

2.1 谁提出来的

Skills 这个概念最早是由 Anthropic 公司于 202510 月提出来的。这家公司对于技术人员都很熟了,对非技术人员可能都比较陌生,这是美国的一家研究人工智能的顶尖公司,Claude Code 就是这家公司的产品。这家公司还是 OpenAI 公司最强劲的竞争对手之一。

2022 年,ChatGPT 横空出世,而 ChatGPT 就是 OpenAI 公司的核心产品之一,目前热度比较高的 CodeX 也是 OpenAI 公司的核心产品之二

但是 Skills 并不是 OpenAI 公司提出来的,而是竞争对手公司 Anthropic 提出来的,另外,MCP 的概念也是这家公司提出来的

Skills 在推出之后,仅仅两个月之后就把规范作为开放标准发布出来,允许其他 Agent 平台按照这套格式来兼容 Skills 生态

2.2 什么是 Skills

Skills 的全称是 Agent Skills,字面意思就是 智能体技能。它是一个包含指令、脚本、模板的可复用的技能包

网上对 Skills 的概念有很多种说法,比如大模型的能力扩展机制、Agent 扩展包、技能包、AI 技能包等。这些说法都没错,而且这些说法本质上都是在表达一个意思:技能

用通俗的话来说,Agent Skills 其实就是一个大模型可以随时翻阅的 说明文档

举个例子,比如你想做一个智能客服,你可以在 Skill 里面明确交代:遇到投诉得先安抚用户的情绪,而且不得随意承诺。

再比如,你想做会议总结,你可以在 Skill 里面规定:必须要按照参会人员、议题、决定,这个格式来输出总结的内容

image-20260608144204619
image-20260608144204619

这样一来,就不用每次对话都去重复粘贴那一长串的要求了,大模型自己翻翻这个说明文档就知道该怎么干活了。

当然,说明文档只是一个为了方便理解的简化说法,实际上 Agent Skills 能做的事情要远比这个强大。它的高级功能后面会讲到

为什么我有时写 Skills ,有时写 Agent Skills ,有时又写 Skill

Agent SkillsSkills 的全称,它是 Anthropic 公司提出来的概念

Skill 就是具体某一个技能, Skills 相当于是 Skill 的集合

2.3 为什么需要 Skills

在了解了什么是 Skills 之后,现在来说说为什么大模型需要 Skills ,没它不行吗?

大模型就是一个智能大脑,看上去很聪明、无所不能,但是,杂而不精

比如我想开发一个小程序,我让大模型画一个 UI ,画出来的效果总是差点意思,和专业选手完全没法比。

可能有些人会说:哪里没画好,你告诉大模型啊,让大模型改就是了。可是即使我告诉了大模型,大模型也能一次性就画好吗?可能你跟大模型聊一晚上,大模型都画不出你想要的效果。这几里面主要有几个问题:

  1. AI 着实不是万能的
  2. 我不是专业的 UI 啊,很多专业术语我都不知道,我用大白话跟大模型聊天,它能完全听进去吗
  3. 很多时候我自己都不知道要画成什么效果,页面怎么布局、按钮应该是什么颜色、要展示哪些功能等,我完全不懂,怎么让大模型懂呢?

这个时候,如果有一位专业的 UI 选手,能够主动站出来,把自己多年画 UI 的经验,总结成文字,比如官网页面应该怎么布局、小程序页面应该怎么布局、APP 页面又应该怎么布局、什么样的按钮应该设置什么颜色、按钮大小应该是多少等等,把经验文字发给大模型,让大模型按照专业选手的经验去画 UI ,那画出来的效果是不是就相当于专业选手画的效果?

这个 经验,就是 技能 。有了这个技能,你就能:

  1. AI只会聊天 变成 能干活 的专用工具
  2. 做事更靠谱。把专家的经验存进去,AI 每次干活都按标准来,不乱发挥,结果更稳定

看到这里,可能有些人会问:这不就是提示词吗?Skills 确实有提示词的作用,但是,如果单纯是提示词,每次对话都要手动贴一遍提示词,公司上千人、上万人,每个人都得帖,多麻烦

2.4 Agent Skills 目录结构

Skill 本质上就是一个文件夹

比如我有一个名叫 UISkill ,那它的目录结构就是这样的:

  • SKILL.md:流程规则,也就是大家理解的提示词,里面是画 UI 的经验和要求,用于教大模型如何画 UI
  • references/ :参考文献的目录,里面是各种补充文档,有需要的时候再加载。
  • script/ :代码目录,里面是可执行的代码脚本
  • assets/ :其它材料目录,里面存放图标、模板、图片、字体等资源

4 个文件或目录,只有 Skill.md 文件是必须的,其它 3 个目录都是非必须的

谁想用这个 skill ,把 UI 这个文件夹发个他,让他放在大模型能识别的地方就行

image-20260614142152755
image-20260614142152755

我使用的是 CodeX 桌面版, skills 目录是专门存放 Skill 的目录,其中 ui-ux-pro-max 就是其中一个 Skill ,而且它就是专门画 UISkill

image-20260614142526185
image-20260614142526185

ui-ux-pro-max 不仅仅是文件夹的名称,更是 Skill 的名称,所以不能随便乱改(为什么不能随便改,后面会讲到)。它里面的目录如上图所示

image-20260614142658116
image-20260614142658116

SKILL.md 就是画 UI 的经验和要求,上图可以看到,作者写了 292

image-20260614142813821
image-20260614142813821

scripts 是存放代码的目录,里面有 3Pyhton 脚本

image-20260614142909504
image-20260614142909504

data 目录里面是一堆 csv 文件。data 目录并不是官方要求的,所以它只是作者自己添加的目录

综上所述:

  • Skill 就是一个文件夹
  • Skill 文件夹由 1 个文件和 3 个子文件夹组成,其中 SKILL.md 文件是必须的,其它 3 个子文件夹是非必须的

3 如何开发一个Skill

3.1 Claude Code 开发 Skill

下面就用会议总结这个实际的场景带大家看看它到底是怎么使用的。

这里使用 Claude Code 来演示如何使用 Agent Skills

根据要求,现在用户目录下的 .claude/skill 文件夹下创建 Agent Skills

image-20260608144842705
image-20260608144842705

创建一个文件夹,这个文件夹的名字就是 Agent Skills 的名字,也就是:会议总结助手

image-20260608145213459
image-20260608145213459

为了方便编辑,使用 VS Code 打开文件夹,并创建一个名叫 SKILL.md 文件,文件内容如下:

代码语言:markdown
复制
---
name: 会议总结助手
description: 该技能用于根据会议录音总结内容
---

# 会议总结助手

## 总结规则

请将会议内容总结为以下几点:

- 参会人员
- 议题
- 决定

注意:每一项都只能分别用一句话来表述,不要分成多条


## 示例

输入:

张三:那我们开始吧,今天主要是把下个月社区志愿活动的安排一次性定下来
李四:我建议活动放在公园,人多也方便组织
王五:可以,不过要提前申请场地,不然可能有风险。
赵六:场地申请我可以负责,这周内给大家结果
孙七:人数最好先有个范围,方便准备物资
张三:那就先按50人左右来估算吧
李四:上次的手套还能用,但垃圾袋需要再买
王五:预算要不要设个上限
张三:预算控制在1000以内,优先用现有物资
孙七:时间我建议周六上午,天气也不会太热
李四:酒店集合应该比较合适
赵六:我周三前把申请结果同步到群里
张三:好,那报名截止时间就定在周四晚上
王五:周五可以统一分组和采购
孙七:我来负责写报告文案和活动当天的合影安排
张三:安全方面提醒大家带水,活动结束简单总结一下就行
张三:今天就到这,大家按分工推进

输出:

- 参会人员:张三、李四、王五、赵六、孙七
- 议题:统一确定下个月社区志愿活动的地点、时间、人数、预算及分工安排
- 决定:活动定在公园并于周六上午九点举行,按约50人规模和1000预算执行,由赵六负责场地申请、孙七负责宣传及合影、其余成员配合物资和分组

每个 Agent Skills 都需要这么一个文件,它用来描述这个 Agent Skills 的名称、能干什么事、以及怎么干这个事

我们要创建的 Agent Skills 就是用于总结会议录音内容的,它的 SKILL.md 一共分为两部分:

image-20260608150829364
image-20260608150829364

头部的几行,叫做元数据(Metadata)。这一层只写了 namedescription 这两个属性

  • nameAgent Skills 的名称,必须和文件夹的名称相同,所以我前面说 文件夹的名称不能随便乱改
  • description :代表 Agent Skill 的描述,主要是向大模型说明这个 Agent Skill 是用来干什么的
image-20260608151314682
image-20260608151314682

中间这部分是 Agent Skills 的具体说明了。官方把这一部分叫做指定(Instruction)。这一部分就是在详细描述模型需要遵循的规则

image-20260608152800175
image-20260608152800175

为了确保大模型真的理解了,我还举了个例子

image-20260608152844062
image-20260608152844062

现在跟 Claude Code 对话,问:你有哪些 Agent Skill 。上图可以看到,大模型已经识别出来了我们刚写的 Skill

image-20260608153109475
image-20260608153109475

现在,把会议内容发给大模型,大模型并没有瞎编,而是向我询问能不能使用这个 Agent Skill

image-20260608153259753
image-20260608153259753

同意之后,大模型输出如上,这完全符合我们在 SKILL.md 中定的规矩

以上就是 Agent Skills 的基础用法

下面总结一下Agent Skills 的调用流程

  1. 流程一开始的时候,用户会输入请求
  2. Claude Code 会把用户请求连同所有的 Skill 的名称和描述,一起发给大模型。注意:这里只带了名称和描述,也就是 Skill 的元数据层
  3. 在接到用户请求和每个 Skill 名称和描述之后,大模型会发现用户的请求可以使用会议总结助手这个 Agent Skill 来解决,此时它就会把这个信息告诉 Claude Code
  4. Claude Code 在接到大模型响应之后,会去会议总结助手那个目录里读取完整的 SKILL.md 文件中的全部内容
  5. Claude Code 会把用户请求和完整的 Skill.md 内容发给大模型
  6. 大模型会根据 Skill.md 的要求来生成响应,并把响应发给 Claude Code
  7. Claude Code 会把这个响应发给用户

上面的流程引出了 Agent Skills 的第一个核心机制:按需加载

虽然 Skill 的名称和描述是始终对模型可见的,但具体的指令内容(也就是正文部分)只有在这个 Skill 被选中之后,才会被加载进来给模型看,这就节省了很多的 Token

3.2 OpenCode 开发 Skill

使用 Skill 非常简单,只需要把 Skill 丢给 Agent ,让 Agent 能够找到它就行

假设 project-base 是当前项目的文件夹,我们需要在它下面创建一个 .opencode 的文件夹,在 .opencode 文件夹下面再创建一个叫 skills 的文件夹,然后把我们下载好的 Skill 扔到 这个 skills 文件夹下

最后只需要在当前项目的这个文件夹下面创建一个 opencode 的对话窗口,那这个 opencode 就能加载到当前项目下的这些 Skill

下面实践一下,先创建一个 demo1 的项目,里面有 .opencode 文件夹,.opencode 文件夹下又有 skills 文件夹,skills 文件夹下一个设计前端页面的 skill

然后在这个文件夹下新建一个 opencode 的对话窗口

输入 opencode

image-20260608213317121
image-20260608213317121

opencode 对话窗口就有了

image-20260608213354149
image-20260608213354149

对于 windows 用户,在项目文件夹下,也就是 demo1 文件夹下

image-20260608213803784
image-20260608213803784

输入 cmd ,回车

image-20260608213831209
image-20260608213831209

弹出命令行窗口之后,输入 opencode ,回车

image-20260608213900475
image-20260608213900475

然后就会弹出一个 opencode 的对话窗口

image-20260608213954990
image-20260608213954990

跟大模型聊天,问:你有什么 skill

image-20260608214126815
image-20260608214126815

加载一会儿之后,大模型会回答:

image-20260608214203234
image-20260608214203234

让大模型干一个任务:设计一个卖酒的网站

image-20260608214255366
image-20260608214255366

然后大模型在向我确认:酒店类型、目标客户、色调偏好等

image-20260608214331377
image-20260608214331377

随着大模型生成了一个 index.html 文件

image-20260608214538842
image-20260608214538842

index.html 文件就在 demo1 文件夹下

image-20260608214620220
image-20260608214620220

双击打开一下,下图就是大模型使用 skill 生成的页面

image-20260608215016860
image-20260608215016860

3.3 高级用法

3.3.1 Reference

前面讲了,一开始 Claude Code 会把所有的 Agent Skill 的名称和描述都给到模型。比如爆款文案 Skill 、会议总结 Skill 、数据分析 Skill 等等。模型会从中选择一个,之后只有选中的那个 SkillSKILL.md 文件才会给到模型,也就是按需加载。这已经很省 Token 了,但是还不够极致

试想一下,我们的会议总结助手可能会越来越高级,我们希望它不仅仅是简单复述,而是能提供更有价值的补充说明。比如说当会议决定要花钱时,它能直接在总结里标注是否符合财务合规。当涉及合同时,它能够提示法务风险。这样大家在看会议总结的时候,就不再需要去翻规章制度,一眼就能看到这些关键的补充信息,这就非常方便了

但问题在于:Skill 能做这些事情的前提是,它要把相关的财务规定和法律条文都写到 SKILL.md 文件中,这些内容文件长,导致 SKILL.md 文件会变得无比臃肿,哪怕只是简单地开个早会,都要被迫加载一堆根本用不上的财务和法律废话,浪费模型资源

那能不能做到按需中的按需呢?比如说只有当会议内容真的聊到了钱, Claude Code 才会把财务规定加载给模型看

image-20260608161404778
image-20260608161404778

Agent Skills 提供了 Reference 的概念,干的就是这个活

首先,写一个 集团财务手册.md 文件,里面写明了各种费用的报销标准

image-20260608161600897
image-20260608161600897

然后在 SKILL.md 文件中新增一个财务体系规则,里面写明仅在提到钱、预算、采购、费用的时候触发,触发的时候需要读取 集团财务手册.md 这个文件

image-20260608161659409
image-20260608161659409

回到 Claude Code 试一下

image-20260608162224799
image-20260608162224799

这次我们的请求仍然是总结会议的内容,但是会议内容涉及到了钱。Claude Code 意识到了这个请求跟我们的会议总结助手相关联,请求使用这个 Agent Skills

image-20260608162432989
image-20260608162432989

我们同意之后,它意识到了这个会议跟钱相关,根据 SKILL.md 文件指示,它请求读取集团财务手册这个文件,用于查看里面的财务合规信息

image-20260608162612689
image-20260608162612689

同意之后,它根据会议的实际内容生出了总结,总结中包含了财务提醒

以上就是 Reference 的核心逻辑了,在 Agent Skills 的体系里面,集团财务手册.md 这个文件就是典型的 Reference 。请大家记住它的特性,它是条件触发的,在上面的例子里面,只有当 Claude Code 读取完 SKILL.md 文件,判断出需要查账时才会去加载这个文件。反过来说,如果这是一个跟钱无关的技术复盘会,那么这个财务文件就只会躺在硬盘里面,不会占用哪怕一个 Token 的上下文

3.3.2 Script

Agent Skills 中的代码只会被执行,而不会被读取。这就意味着哪怕你的代码写了一万行复杂的业务逻辑,它消耗的模型上下文也几乎为 0Claude Code 只会代码的运行方法和运行结果,至于代码的内容,它可以说是毫不在意

所以,虽然 ReferenceScript 都属于 Agent Skill 的高级功能,但是它们对模型上下文的影响是截然不同的

  • Reference 是读,它会把内容加载到上下文里面,所以是会消耗 Token
  • Script 是跑,它只会被执行,不会占用模型的上下文

为什么需要代码?比如当我报销费用时,得看看公司的预算还剩下多少,预算不够肯定就不让报了,只能想办法换别的科目去报销了,这时候查预算、校验预算,就得需要靠代码来执行了

3.3.3 渐进式披露机制

Agent Skills 的设计其实是一个精密的渐进式披露结构,这个结构里一共有 3 层,每一层的加载机制都不一样

  • 1 层:元数据层。这里有所有 Agent Skills 的名称和描述,它们是始终加载的,相当于大模型里面的目录,大模型每次回答前都会看一下这一层的信息,然后决定用户的问题是否与某个 Agent Skills 相匹配
  • 2 层:指令层。对于 SKILL.md 文件里面除了名称和描述之外其余的部分,只有当大模型发现用户的问题与某个 Agent Skills 相匹配的时候,它才会去加载这一层的内容,所以我们称这一层为按需加载
  • 3 层:资源层。这是最深的一层,它一共是包含 ReferenceScript 两方面的内容,我们称它为按需中的按需加载

ReferenceScript 的加载方式还不一样

  • Reference 是被读取的,Claude Code 会把对应文件的内容放到模型的上下文中,以供回答时参考
  • Script 是被执行的,Claude Code 根本不会去看代码的内容,它只关心代码的执行结果。当然,这个也不是铁律,如果你没有把代码的执行方法说清楚,Claude Code 还是有可能去通过看一下代码的,毕竟跑不下去了嘛,这样的话就会占用模型的上下文了

4 Skill 开发规则

Skill 官方文档:https://agentskills.io/

如果要开发一个 Skill ,该怎么做呢?有哪些规则呢

image-20260609213448731
image-20260609213448731

官方文档介绍了一个 Skill 包含哪些目录或文件。英文不太好看,下面中文翻译一下

image-20260609213617263
image-20260609213617263
代码语言:markdown
复制
skill-demo/                  # Skill 名称
├── SKILL.md                 # 必须的:元数据 + 说明
│   scripts/                 # 可选的:可执行的代码
│   references/              # 可选的:文档
│   assets/                  # 可选的:模板、资源

这跟我们前面介绍的 Skill 的目录结构一模一样

image-20260609214104115
image-20260609214104115

SKILL.md 文件开头必须是 YAML 格式的元数据(Metadata),后面才是 Markdown 内容(instructions

元数据中,总共有 6 个字段:

  • nameskill 的名称,必需
  • description :对 Skill 的描述,告诉大模型这个 Skill 能做什么,在什么类型的需求下才需要使用它。必须
  • licensecompatibilitymetadataallowed-tools 这 4个就不重要了,大家从官方文档上了解即可
image-20260609214909274
image-20260609214909274

针对 Skill.md 文件中的元数据部分,官方文档中给了 2 个示例,比如最小示例:

代码语言:markdown
复制
---
name: skill-name
description: A description of what this skill does and when to use it.
---

注意:元数据的前后,必须是 3 个横杠

image-20260609215707988
image-20260609215707988

元数据中,每个字段也是有要求的,比如上图官方文档中,明确介绍了 name5 点要求

image-20260609215908791
image-20260609215908791

上图是对 description 字段的要求。其它字段的要求就不一 一介绍了

image-20260609220307316
image-20260609220307316

SKILL.md 文件中的正文部分,也就是 Skill 的说明,格式倒是没什么限制

image-20260609220832424
image-20260609220832424

scripts/references/assets/ 三个都是可选的目录,目录里面应该包含哪些内容,官方文档中给出了详细介绍

image-20260609221042556
image-20260609221042556

官方文档也介绍了 渐进式披露,这是一个非常重要的概念。

很多人会问:SKILL.md 文件中的正文内容一大堆,scripts/目录下的代码也是一大堆,references/ 目录下的文件内容还是一大堆,那大模型是不是每次都需要把这些内容全部一股脑地加载进去?是不是每次都得消耗大量 Token

当然不是啦!!!

大模型只会加载所有 SKILL.md 文件中的元数据部分,也就是 namedescription ,大约是 100 个 Token。记住了,是大约 100

当大模型想使用哪个 Skill 时,才会去加载它的 SKILL.md 文件中的正文部分,推荐不超过 5000token ,为什么说推荐?因为你写的越多,token 自然也越多。

此时其它 SkillSKILL.md 文件中的正文部分会不会加载进来,会不会消耗 Token 呢?当然不会啦!!!

按需加载,需要使用哪个 Skill,就加载哪个

大模型正在使用 Skill ,已经把 SKILL.md 文件中的正文部分都加载进去了,此时会加载 reference/ 目录下的文件吗?不会

当大模型确认需要使用 reference/ 目录下的文件时,才会去加载。这就是按需中的按需

整个流程如下:

image-20260614194300742
image-20260614194300742

注意,script/ 目录下的代码是没有加载这个说法的,因为代码只需要被执行,不需要加载,所以几乎不占用 Token

image-20260609224243663
image-20260609224243663

在 【快速入门】 章节,官方文档中也介绍了 渐进式披露 的过程

5 和MCP、Prompt的区别

5.1 Agent Skills vs MCP

聊完 Agent Skill 的用法,很多朋友可能会有种似曾相识的感觉。Agent Skill 好像是跟 MCP 有点像啊,本质上都是让模型去连接和操作外部世界。既然功能重叠,那我们该用哪一个呢?

关于这个问题,Anthropic 官方写过一篇相关的文章来解释,核心观点就一句话

image-20260608172753092
image-20260608172753092

这句话直接点明了 MCPAgent Skill 的区别,它其实就是在说:

  • MCP 让大模型能够连接外部工具和数据源,给大模型提供数据,,比如查询昨天的订单信息、搜索网页、读取代码仓库
  • Skill 更像是给大模型发了一本工作手册,教会大模型如何处理这些数据。比如会议总结必须要有个议题、汇报文档必须包含具体的数据等等

到这里,有些同学可能会问:Agent Skills 也能写代码,我直接在 Agent Skills 里面写连接数据的逻辑不就好了吗?这样就不需要 MCP 了,Agent SKills 直接把这两个活给干了。

image-20260608174002245
image-20260608174002245

确实啊,Agent Skills 也能连数据,功能上与 MCP 有重叠,但是能干并不代表适合干,这就好像瑞士军刀也能切菜,但没有人会这么干。

我们这个场景其实也是这样

  • MCP 本质上是一个独立运行的程序
  • Agent Skill 本质上是一段说明文档。

它们本质上不同,决定了适合的场景也不同的。Agent Skills 更适合跑一些轻量的脚本,处理简单的逻辑。在代码执行方面,Agent Skills 的安全性和稳定性都不及 MCP。所以大家还是要根据场景选择合适的工具,甚至在很多的场景下,我们需要把 Agent SkillsMCP 结合起来一起使用,以便尽可能地满足我们地需求。比如让 AI 帮你发周报,MCP 负责获取数据,从人物管理数据库拉取这周的任务列表,Skill 负责加工数据,把获取到的原始数据整理成老板爱看的格式。一个提供食材,一个提供配方

所以,Agent SkillsMCP 是互补的关系

5.2 Agent Skills vs Prompt

5.2.1 注意力衰减

很多人觉得,Skill 不就是 Prompt 吗?这话一点也没错,Skill 确实就是一个大号的 Prompt ,而且它大概率不好使。

比如写一个关于论文写作质控,把每一条规则、每一种应该避免的错误,全塞了进去。然后交给 AIAI 读完之后会选择性遗忘一半的规则,即使提醒它没有遵循某某规则,它说好的,然后又没有遵循其它规则。我只能追加提醒,它道歉,然后换一种方式继续违反

这种体验就像你写了一份 50 页的员工手册,AI 只记住了前 3 页和最后 2 页,中间的全跳过了

所以你说 Skill 不就是 Prompt 吗?对于这个版本的 Skill 来说,它就是一个很长很长的 Prompt ,它有 Prompt 的所有问题

你可以把 AI 的注意力想象成聚光灯,总光量是固定,你往 Skill 里塞的内容越多,聚光灯就越散,每一条规则分到的光就越弱

5.2.2 规则失效

注意力衰减只是小问题,真正要命的是 规则失效AI 控制不住自己的行为

国外用户让 AI 自动处理邮件,结果 AI 把邮件全给删了,即使你明确要求 AI 不能删任何邮件,AI 依旧无视规则,最后你也只能得到一句 So Sorry

模型不是犯了错,这是计算后的选择,不是失误

因为你在 Prompt 里写的任何规则,对 AI 来说都不是命令,是 建议。它会理解你的指令,会在推理过程中引导你的指令,然后在权衡之后选择违反它。跟人类员工读了公司制度钻空子,机制上完全一样

区别在于,人类员工有法务部盯着、有审计流程兜底、有劳动合同约束,而一个纯文字的 Skill 呢?它既是「规章」,也是唯一的「执法机制」,相当于公司把规章制度贴在墙上,然后撤掉了法务部、审计部和 HR

5.2.3 什么才是好的Skill

好的 Skill 到底长什么样?

先说一个概念。提示词是概率性的,代码是确定性的

什么是概率性?你在 Skill 里写「请注意字数不要超过 500 字」,AI有可能遵守,有可能不遵守,取决于上下文、模型状态、注意力分配。这就是概率性的

什么叫确定性?你写一个 Python 脚本,输入一段文字,输出字数是 501,超标了,报 FAIL 。不存在「我觉得差不多可以」。这就是确定性的

好的 Skill 的核心原则是,把所有能用代码判断的事情从文字里拿出来,交给代码。Skill 的文字部分只负责那些代码做不了的事

举例:还是论文写作质控 Skill

字数统计?代码做。一个 Python 脚本,输入文件,输出字数、段落数、各段分布,精确到个位。

禁用词检测?代码做。一个 Python 脚本,扫描AI写作的常见病灶,金句轰炸、模板对称、爹味说教,每一条都有正则表达式,命中就报 FAIL

格式合规检查?代码做。段落结构对不对、禁用标点有没有出现、有没有用冒号代替逗号,全部自动检测

AI 做什么呢?AI 选论证角度。AI 判断文章有没有「活人感」。AI 做创造性的跨学科类比。这些事情代码做不了,不是现在做不了,是说到底做不了。因为「这篇文章读起来像不像真人写的」没有确定性的答案,它需要判断

改造之后,Skill 文件从 800 多行瘦身到 100 多行。加了 4Python 脚本。之前 AI 写完论文我需要人工逐条检查,经常漏。现在脚本跑一遍,PASS 就是PASSFAIL 就是 FAIL,没有灰色地带

具体怎么写一个好的 Skill ,我总结了一个流程:

  1. 列出你希望 AI 遵循的所有规则
  2. 把这些规则分成 2 堆,一堆是「能写成 if-else 的」,比如字数限制、禁用词、格式要求、结构校验。另一堆是「写不成 if-else 的」,比如选什么角度、用什么语气、怎么做类比
  3. 1 堆写成 Python 脚本,放在 SkillScripts 目录里,第 2 堆留在 SKILL.md 的正文部分
  4. SKILL.md 的正文部分明确告诉 AI ,写完之后必须跑脚本,脚本报 FAIL 就必须修正后重跑,不得跳过

「脚本FAIL → 修正 → 重跑 → 直到 PASS 」这个循环,比「请仔细检查一下」这句话强一万倍

一个好的 Skill 目录结构长这样:

  • SKILL.md :文字部分,只写 AI 需要做判断的事
  • Reference :按需加载的参考材料
  • Script :代码

好的 Skill 不是让 AI 更聪明。是让 AI 不犯蠢,不是文字描述「劝你别做」,是那扇门从物理上打不开(代码控制)

所以回到最开始的问题。Skill 不就是 Prompt 吗?

如果你的 Skill 里只有文字,那是的,它就是一个 Prompt 。一个很长的、大部分内容会被 AI 忽略的 Prompt

但如果你的 Skill100 多行的精简文字加上 4Python 脚本,文字只负责 AI 需要做判断的事,脚本负责所有能算清楚的事,两者通过「 FAIL →修正→重跑→ PASS 」的闭环串起来,那它就不是 Prompt 了,它是一个系统

image-20260610223614741
image-20260610223614741

官方文档中也明确建议 SKILL.md 要控制在 500 行以内

5.2.4 常见误区

误区一:

SKILL.md 是不是越长越好?错!!!

越长的 SKILL.md ,越容易稀释重点,也越占用 Token。真正关键的是把核心判断和操作流程写清楚

误区二:

把所有资料都塞进 SKILL.md

如果某些内容只有特定场景才需要,就应该放到 referrnces/ ,比如公司的报销制度等,不适合每次都加载

误区三:

忽略 description

description 不是简介,而是触发器,它写得不好,Skill 再强也可能用不上

5 下载skill

5.1 官方仓库

anthropic 官方仓库:http://github.com/anthropics/skills

image-20260608204227721
image-20260608204227721

skills 点进去

image-20260608204403754
image-20260608204403754

上图中,skills 目录下的每一个目录其实就是一个 skill

5.2 Skills 社群网站

Skills 社群网站:https://skillsmp.com/zh

汇聚全球开发者的创意,分享实用的技能组件与使用心得

image-20260608205317132
image-20260608205317132

上图可以看到,它已经收集到了 164+skill

往下滑,可以根据分类来查看 skill

image-20260608205607968
image-20260608205607968

下图就是所有分类

image-20260608205707635
image-20260608205707635

随便选一个分类,比如我就选了 生产力工具,下图就是 生产力工具这个分类下的所有 skill

image-20260608205829205
image-20260608205829205

我选择第 1个,点进去,下图就是 skill 里面的内容

image-20260608210445117
image-20260608210445117

想下载的话,可以点右边的下载的按钮

image-20260608210603148
image-20260608210603148

5.3 优秀开源集合

优秀开源集合:https://github.com/ComposioHQ/awesome-claude-skills

页面如下,每个文件夹就是一个具体的 Skill

image-20260608210845216
image-20260608210845216

5.5 如何安装Skill

我用的是 CodeXskills 目录下只有一个 .system 文件夹,里面是系统自带的 Skill

image-20260614155620443
image-20260614155620443

现在我想下载一个 Skill ,就是 ui-ux-pro-max

image-20260614160150209
image-20260614160150209

我已经在 github 上找到它了

image-20260614160346804
image-20260614160346804

下载

image-20260614160514507
image-20260614160514507

下载后是一个压缩包,解压

image-20260614160622018
image-20260614160622018

解压后进入 .claude/skill 这个目录,找到 ui-ux-pro-max 这个文件夹

image-20260614160750779
image-20260614160750779

把这个文件夹复制到 CodeX 安装路径下的 skills 目录下,然后在 CodeX 中就可以使用它了

很多人会疑惑,你怎么就精准知道应该把 .claude/skill 目录下的 ui-ux-pro-max 文件夹复制到 .codex/skills 路径下?

image-20260614161106546
image-20260614161106546

看下 ui-ux-pro-max 目录结构就知道了,它里面有 SKILL.md 文件和 scripts 文件夹,说明 ui-ux-pro-max 才是真正的 Skill

image-20260614161614739
image-20260614161614739

现在跟 CodeX 聊天,它已经识别到了这个 Skill

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 前言
  • 2 基础概念
    • 2.1 谁提出来的
    • 2.2 什么是 Skills
    • 2.3 为什么需要 Skills
    • 2.4 Agent Skills 目录结构
  • 3 如何开发一个Skill
    • 3.1 Claude Code 开发 Skill
    • 3.2 OpenCode 开发 Skill
    • 3.3 高级用法
      • 3.3.1 Reference
      • 3.3.2 Script
      • 3.3.3 渐进式披露机制
  • 4 Skill 开发规则
  • 5 和MCP、Prompt的区别
    • 5.1 Agent Skills vs MCP
    • 5.2 Agent Skills vs Prompt
      • 5.2.1 注意力衰减
      • 5.2.2 规则失效
      • 5.2.3 什么才是好的Skill
      • 5.2.4 常见误区
  • 5 下载skill
    • 5.1 官方仓库
    • 5.2 Skills 社群网站
    • 5.3 优秀开源集合
    • 5.5 如何安装Skill
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档