你是小阿巴,正尝试借助AI来开发网站。
为了让AI交出更靠谱的结果,你耐心地告诉它:界面不要使用蓝紫渐变、别生成一堆没用的文档、严格遵循公司的代码规范……洋洋洒洒写了几百字。
然而,每次开发网站时,你都得重复输入这么一段冗长的提示词。效率极其低下。
于是你开始动脑筋:先把常用的提示词存成单独的文件(比如 prompts.md),每次手动投喂给AI;再创建一个资源文件夹,把公司的代码规范、设计素材一股脑塞进去,告诉AI参考这些来写;接着,你还写了些脚本,让AI生成代码后自动执行格式化、运行测试、提交到Git仓库。
最后,你甚至写了一篇 AGENTS.md 文档,把所有规范和工作流程都整合进去,让AI自动读取。
你自认为高效:这套工作流,堪称完美!
但很快,问题就暴露了:随着规范越写越多,文档变得臃肿不堪,每次对话都占用大量的AI上下文空间,白白浪费tokens。
于是你向鱼皮请教:这情况,还有没有更优解?
鱼皮反问道:“不是有Agent Skills么?干嘛不用?”
你一脸茫然。鱼皮接着说:“这可是最近AI圈里爆火的技术。下面,我们就来彻底搞清楚它到底是什么、怎么用、为什么有这么大魔力,以及如何自己动手开发一个。”
什么是Agent Skills?
Agent Skills是Anthropic推出的一套开放标准,其核心目标是让AI能够“学习”并使用各种专业化的技能,而不再需要每次重复输入大量提示词。
简单理解,它就是给AI装备的“技能包”。技能包里,包含了精心设计的提示词、可执行的代码脚本以及各种资源文件。
不妨把AI想象成一个刚入职的实习生。给它装上“文档处理技能”,它立刻就知道如何生成PPT、处理Excel;装上“代码规范技能”,它就明白该怎样按照公司的标准来编写代码。
你可能会想:“等等……这不就是我正在做的事情吗?把教AI做事的文档和资源打包成一个文件夹?”
鱼皮解释说:“差不多,但Anthropic把它做成了一个通用标准,并且在实现原理上,有一些精巧的创新。”
接下来,我们先用一下Agent Skills,再来探究它背后的奥秘。
Agent Skills 入门实战
目前,对Agent Skills支持最完善的是Anthropic官方推出的Claude Code。我们就以它为例,来安装和使用Skills。
1、安装Skills技能
首先,打开Claude Code,输入以下命令,添加官方的技能市场:
/plugin marketplace add anthropics/skills
这相当于在你的AI助手里开通了一个“技能商店”。接下来,就可以从中获取技能了。
在Claude Code中输入命令,安装官方提供的技能包:
/plugin install example-skills@anthropic-agent-skills
这个example-skills 包含了一系列官方提供的示例技能,比如前端设计、网页测试、GIF制作等等。
安装完毕之后,你就可以直接让AI使用这些技能。
2、前端设计技能
比如,你想开发一个网站。以前没安装技能时,AI生成的代码总是那个熟悉的蓝紫渐变色,千篇一律的“AI审美”。
现在,你安装了frontend-design 这个技能——它专门教AI生成具有专业设计感的网站。当你输入“帮我开发一个个人作品集网站”时,AI会主动询问:“发现你安装了前端设计技能,需要用它来生成更具设计感的页面吗?”
确认之后,AI就会调用这个技能生成代码,从此告别蓝紫渐变,生成风格独特的精美页面。
我们不再需要每次都向AI输入相同的一大堆提示词,安装一次技能,一劳永逸。
3、文档处理技能
除了代码相关的,官方还提供了文档处理技能包。同样,在Claude Code中输入一行命令即可安装:
/plugin install document-skills@anthropic-agent-skills
这个技能包里包含了PPT制作、Word文档生成、Excel数据分析、PDF解析等各种技能。接下来,如果你让AI做一个PPT,它会自动调用PPT制作技能,直接生成排版好的PPT文件,帮你节省几个小时的时间。
揭秘 Agent Skills 内部原理
你可能会好奇:为什么Skills能做到“安装即用”?技能包里到底有什么?AI又是如何知道该调用哪个技能的?
鱼皮的回答一针见血:技能,本质上就是一个包含 SKILL.md 技能说明文件的文件夹。此外,它还可以包含可执行脚本、资源和参考文档。
my-skill/
├── SKILL.md # 必需:指令和元数据
├── scripts/ # 可选:可执行脚本
├── references/ # 可选:参考文档
└── assets/ # 可选:模板和资源
每个技能的复杂程度不同,其结构也会有所差异。我们在本地目录中可以找到已安装的技能文件夹。
以官方的PPT制作技能为例,它的结构是这样的:
skills/pptx/
├── SKILL.md # 技能说明书(必需)
├── ooxml/ # OOXML 相关资源
├── scripts/ # 处理脚本
├── html2pptx.md # HTML 转 PPT 说明
├── ooxml.md # OOXML 格式说明
└── LICENSE.txt # 许可证
这里面包含一个核心的SKILL.md 文档,以及脚本、参考文档和各类资源文件。而frontend-design 前端设计技能则只有一个 SKILL.md 文件。
SKILL.md 是每个技能的核心,它包含两个关键部分:第一部分是元数据,用YAML格式写在文件开头,例如:
---
name: frontend-design
description: 生成具有专业设计感的前端代码,避免千篇一律的 AI 审美
---
其中,name 是技能的名字,description 是技能的描述,告诉AI在什么时候应该调用这个技能。描述写得越清晰,AI就越容易在合适的时机精准地调用它。
第二部分是指令内容,也就是一套经过精心设计的提示词,指导AI具体该怎么做。以frontend-design 技能为例,它的指令非常详细:在写代码前,要先分析产品目的、用户群体、技术约束,然后选择一个大胆的美学方向(极简、复古未来、工业风、有机自然、奢华精致等);接着是前端美学指南,包括字体选择(避免Arial、Inter等烂大街字体,选择有个性的组合)、配色主题(主色调配鲜明点缀色)、动效设计、空间构成、背景和视觉细节;最后还附带了避坑指南,明确禁止紫蓝渐变、系统字体、千篇一律的布局等AI审美陷阱。
你可能会追问:“如果有多个Skills,AI怎么知道该用哪一个?如果每次都把每个技能的说明文档都塞给AI,不是照样很占用上下文吗?”
鱼皮解释道:“这就得提到‘渐进式披露’(Progressive Disclosure)这个核心机制了。当你让AI执行任务时,它会先扫描技能目录,但并不会把所有内容都加载到上下文中。它只读取每个技能的元数据(名字和描述),一旦发现描述和当前任务相关,就知道该调用这个技能了。然后,才把完整的技能说明文档读进来,按照里面的指令执行,并根据需要加载技能包中的其他资源。用到哪个才查哪个,既精准匹配,又极大地节省了上下文空间。这就是渐进式披露的精髓。”
所以,Agent Skills的本质,就是把专业知识打包成一个文件夹,让AI按需读取和使用。
跨工具的 Agent Skills
你可能会问:“除了Claude Code,其他AI工具也支持吗?” 答案是肯定的。Agent Skills已经成为通用标准,Cursor、VS Code、Codex等主流工具都支持它。
Skills的社区也相当活跃,我们可以在Claude Skills Hub市场、开源的Awesome Claude Skills等地方找到大量现成的技能。
比如,有一个非常火的技能叫 UI UX Pro MAX,专门用于提升AI的设计能力。它的用法很简单:首先,按照开源仓库文档的指引,安装官方提供的命令行工具:
npm install -g uipro-cli
然后,进入你的项目目录,根据所使用的AI工具执行对应的命令。例如,在使用Cursor时,可以这样安装:
uipro init --ai cursor
它会自动将技能安装到Cursor的配置目录里。安装完成后,就能看到它的完整文件结构。
接下来,当你让AI开发一个网站时,可以使用斜杠命令手动触发技能,或者让AI自动识别。AI会根据你的需求识别出产品类型和需要制作的页面类型,然后调用搜索脚本,在数据目录里进行多维度搜索,找到适合的配色、字体、布局风格,综合搜索结果生成完整的设计方案(主色调、字体组合、间距规范等),最后再按照方案生成代码。如此一来,生成的界面既专业又有设计感。这正是Agent Skills的精髓:AI不需要记住所有规则,而是用到哪个查哪个。
创建自己的 Agent Skills
用了很多别人的技能后,你可能会萌生一个大胆的想法:“我能不能把公司的周报格式封装成一个技能?以后推荐给新同事,还能赚点零花钱?”
鱼皮会心一笑:“有点想法。你打算怎么做?”
而你可能会露出自信的微笑:“当然是发挥程序员最擅长的事情——复制粘贴!”
首先,复制一个官方的技能包,将目录名称改为自己的。然后,修改技能说明文档SKILL.md 中的元数据、指令内容等关键部分。例如:
---
name: company-weekly-report
description: 生成符合公司规范的项目周报,包含进度汇总、问题跟踪和下周计划
---
# 公司周报生成技能
当用户要求生成周报时,请按以下步骤执行:
## 1. 收集信息
- 询问本周完成的主要工作
- 询问遇到的问题和解决方案
- 询问下周计划
## 2. 格式规范
- 使用公司蓝色主题
- 标题使用微软雅黑加粗
- 每个模块不超过 5 个要点
## 3. 输出格式
- 默认输出 Markdown
- 如需 PPT,调用 pptx 技能
最后,把公司的Logo、PPT模板、报告样例放在子文件夹里。这样一来,生成公司周报就变得易如反掌。
不过,还有一个更简单规范的方法。在前文安装的example-skills 官方示例技能包里,有一个名为 Skill Creator 的技能,专门用来帮你创建新技能。你只需要告诉AI:“帮我创建一个专门生成公司周报的技能”。接着,AI会问你几个问题,你依次回答就好了:希望周报包含哪些主要部分?希望以什么格式输出?通常如何使用这个周报技能?希望周报的语言风格是什么?
很快,一个完整的技能包就生成了,会看到一个以 .skill 为后缀的文件,本质上是一个zip压缩包。你可以把它解压到个人技能目录(~/.claude/skills/)下,这样所有项目都能使用。如果你只想在某个特定项目中使用这个技能,可以把它放到该项目的 .claude/skills/ 目录下,并利用Git同步给项目组的其他成员。测试没问题后,你还可以把它开源到GitHub,或者上传到Claude Skills Hub等社区平台,让所有用户都能使用。
Skills / MCP / 斜杠命令的区别
你可能已经感受到了开发Skills的简单,但心里不免疑惑:“这玩意儿和此前火爆的MCP、斜杠命令有什么区别?”
鱼皮给出了清晰的解答:
MCP,就像给AI装上了“手和眼睛”,让它能够连接外部工具和数据源,比如搜索网页、读取代码仓库、查询数据库。它适合需要获取数据或操作外部系统的场景。
而Agent Skills,更像是给AI发了一本“工作手册”,将专业知识和操作流程打包,教它在特定领域该怎么做。
至于斜杠命令,它就像一个快捷键,需要你手动输入 /command 命令来触发固定的操作。而Skills的特点是AI可以自动识别并调用,不需要你显式地操作。
值得注意的是,MCP和Skills是可以协同工作的。举个例子,如果你想让AI帮你发送周报:MCP负责获取数据(从任务管理数据库中拉取本周的任务列表),而Skills则负责加工数据(将原始数据整理成老板爱看的格式)。一个提供食材,一个提供配方,相得益彰。
Agent Skills 凭什么大火?
仔细审视技能文件夹的结构,你可能会有一种熟悉的感觉:“等等……这不就是我们程序员玩烂的‘封装、复用、模块化、懒加载’那一套吗?写几个代码文件、打个包、发到网上,让其他程序员下载使用,本质上不是一回事?它凭什么能让整个AI圈为之疯狂?”
鱼皮一针见血地指出:“这个问题问得很好。从纯技术角度来看,它并没有发明什么惊天动地的算法。它之所以能火,主要有两个原因。”
“第一,它是开放标准。封装一次技能包后,就能在各种AI工具里复用,还能通过社区进行共享。更重要的是,Skills能立刻让AI的工作变得更加专业可靠,让普通人‘无感’地享受技术带来的价值。以前想让AI变聪明,得学提示词工程、配置各种工具链;现在只需要像安装手机APP一样安装技能包,AI就立刻变得专业起来。一项技术的成功,不在于它有多复杂,而在于它能让普通用户在不需要关注技术细节的情况下,真切地感受到技术的价值。”
结尾
你点点头:“学会了,学废了!降低门槛,才是技术走向大众的钥匙。”
没错,Agent Skills不仅仅是一个技术概念,更是一种全新的工作方式。你可以将它融入日常工作中,比如,把重复的任务封装成技能,把团队的最佳实践固化成技能,让AI真正成为你的得力助手。
在这个Vibe Coding盛行的时代,技术门槛正在不断崩塌,而想象力的边界则在无限扩张。
那么,问题来了:你最想让AI学会什么技能呢?
