Claude Skills 是什么,怎么用?
大家好,我是煎鱼。
在去年 10 月中 A 社推出了 Skills 是什么。在 26 年 1 月正式火爆,开始在非编程领域全面开花,从而也有更多的人开始关注 skills。
从目前来看,skills 由于使用门槛低,广泛性强,更亲民。有了更大的使用群体。
以下概念是由 Claude 先发起,后续其他平台也进行了跟进。今天我们一起来学习他。
Skills 是什么
Skills 是由指令(Instructions)、可执行代码(Code)和资源(Resources) 打包而成的程序包/指令集。可以用于指导 LLM 去处理的特定任务,或是工作流。
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
实体上,每一个 Skill 需包含以下内容:
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
-
SKILL.md(必填):带有 YAML 前置元数据的 Markdown 指令文件。
-
scripts(可选):可执行代码(Python、Bash 等)。
-
references(可选):按需加载的参考文档。
-
assets(可选):用于输出内容的模板、字体、图标等资源。
主要优势&特性
渐进式披露
Skills 能这么火,肯定是有原因的。其有多个主要优势,最核心之一是:渐进式披露。可以省挺多钱(tokens)。
其在 SKILL.md 中使用三层的加载模型去逐步读取:
-
元数据(名称:64 字符,描述:1024 字符):Claude 可查看技能名称与描述。
-
完整指令(< 5000 tokens):在技能匹配相关场景时加载。
-
关联文件:仅在需要时才加载的额外资源。
第一、第二层:元数据和完整指令
在启动时,第一层会预先加载每个 skill 的名称和描述作为系统预设信息中。
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
来自官方资料
这些元数据是渐进披露的第一层,也就是他仅提供基本信息,让 LLM 知道应该什么时候调用 skill,而无需全部加载。
第二层是其对应的正文内容,如果 LLM 认为当前会话的任务与该 skill 相关,则会通过读取完整上下文加载该 skill。
第三层:关联文件
如果本身复杂度较高,上下文信息过多。我们可以在 SKILL.md 中引用额外的链接文件。这是第三层。
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
来自官方资料
对此 LLM 将会根据描述和需要时进行阅读和处理相关信息。
可组合/可复用
多个 Skill 可以在同一个会话中协同工作,也可以在不同会话中进行处理。
更甚至可以把多个 Skill 组件成有实操价值的工作流才达成自己的诉求。
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
标准化&规范
目前 Skills 也已经在 A 社和大家的使用下,各大 CLI 工具和平台均已支持。
名副其实的达到了全工具的标准化和规划,你写的 Skill 可以在不同的工具中复用。
分发打个包发过去就可以用了,很方便。
基本结构
前面有提到一个 SKILL 的基本结构是:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_png/yFlllLR1oUICYDHdjpNX8D4XrkXpAMcNKZHrt4MIqmoV7HQzL0AtAbmnI0MzFvV3gJzK34sy6qheBby6tgqu7k2TXtlqIank5UtNLKiajVibc/640?wx_fmt=png&from=appmsg"></span><code><span leaf="">your-skill-name/</span><span leaf=""><br></span><span leaf="">├── SKILL.md </span><span><span leaf=""># Required - main skill file</span></span><span leaf=""><br></span><span leaf="">├── scripts/ </span><span><span leaf=""># Optional - executable code</span></span><span leaf=""><br></span><span leaf="">├── references/ </span><span><span leaf=""># Optional - documentation</span></span><span leaf=""><br></span><span leaf="">└── assets/ </span><span><span leaf=""># Optional - templates, et</span></span><span leaf=""><br></span></code>
SKILL.md 是必须要有的,其文件内容如下:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/sz_mmbiz_png/yFlllLR1oUKLSQX8yQOLNBicP89lX7IgicE1H5wFFIxJSRiaiasYLzjgHEsLnSyWd8iaSHnYicFORLXZgpXt0z1TjnuZdU7dDc0FHQXJRmsZdBeag/640?wx_fmt=png&from=appmsg"></span><code><span leaf="">---</span><span leaf=""><br></span><span leaf="">name: your-skill-name</span><span leaf=""><br></span><span leaf="">description: 详细介绍该 SKILL 能做什么,以及何时应该被使用。</span><span leaf=""><br></span><span leaf="">---</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">SKILL 的正文内容,进一步描述 SKILL 应该如何做,怎么做。</span><span leaf=""><br></span></code>
该文件内容分为两个部分:
-
分别是 YAML 前置内容(
---标记之间),描述该 SKILL 的名称和描述,便于 LLM 进行预加载和识别。 -
其后,是 LLM 识别到要该使用该 SKILL 后会读取的正文描述内容。再基于此进行延伸渐进式读取。
官方例子
这里将直接引用 Claude 官方的 SKILL 例子,并补充一些说明。
该示例将创建一个 SKILL,教会 LLM 借助可视化图表 + 类比的方式讲解代码。
创建 SKILL
第一步,我们创建该 SKILL 的目录:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_png/yFlllLR1oUJeWYu9FeTzOLpxc2PeOd3J7TdGtqZ1OzlM3puN15cUficDYIgRAPB9ibIKnGpFlCZoDoG4icGF8dUqqRgdcNibPf72UBKc1VUibQro/640?wx_fmt=png&from=appmsg"></span><code><span leaf="">mkdir -p ~/.claude/skills/explain-code</span><span leaf=""><br></span></code>
创建后你可以在 ~/.claude/skills 下看到名为 explain-code 的 SKILL。
如果你有安装过别的 SKILL,也会在此一同查看到。
描述 SKILL.md
第二步,在 ~/.claude/skills/explain-code/SKILL.md 下创建核心文件:SKILL.md:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/sz_mmbiz_png/yFlllLR1oUJiaU5CJx0oy79msGnQUtrewOBLVohdheKVg06zvXROmurFKSx9iaopJQAnicm1YeMwiaVk2ek38pen6oQiakVtZ0aQNQoLpEicCrewo/640?wx_fmt=png&from=appmsg"></span><code><span leaf="">---</span><span leaf=""><br></span><span leaf="">name: explain-code</span><span leaf=""><br></span><span leaf="">description: 通过视觉图表和类比来解释代码。适用于解释代码运行原理、教授代码库知识或当用户询问“这段代码是怎么工作的?”时。</span><span leaf=""><br></span><span leaf="">---</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">在解释代码时,请务必包含以下内容:</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">1. **以类比开头**:将代码比作日常生活中的事物。</span><span leaf=""><br></span><span leaf="">2. **绘制图表**:使用 ASCII 艺术图来展示流程、结构或相互关系。</span><span leaf=""><br></span><span leaf="">3. **逐步引导**:按步骤详细说明代码执行过程中发生了什么。</span><span leaf=""><br></span><span leaf="">4. **强调易错点**:指出常见的错误或误区是什么?</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">保持解释过程具有对话感。对于复杂的概念,可以运用多个类比。</span><span leaf=""><br></span></code>
调用 SKILL
调用 SKILL 有 两种方式。一种是隐式的,由 LLM 根据预先加载的 SKILLS 内容,进行判别。
例如你可以直接在 Claude 中询问:“这段代码是怎么工作的?”,并指定相关的项目/代码。
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
第二种是显式指定,直接执行:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/sz_mmbiz_png/yFlllLR1oULViaPzFqDxIFbGtsxh7xiaT4qX74aL5heiaPiak3wOOoyJWMTB0ZYWPw0hcKdzaAP2BxY8LicTZ5CEFJy9tEv6b1W7UvICa6Pzy5zA/640?wx_fmt=png&from=appmsg"></span><code><span leaf="">/explain-code 相关要分析的项目或代码</span><span leaf=""><br></span></code>
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
就可以完成 SKILL 的调用和联动分析。
如果要查看本地 Claude 加载了什么 SKILLS,只需执行 /skills 查看即可。
总结
目前在使用建议上,如果存在可复用的场景。例如你一天要执行 2 次及以上,就可以让 Claude Code 给你写成 skills 去使用。
本文只包含了最简的 SKILL 创建和使用流程,如果大家还有需要,可以查看 skill-creator 这个 SKILL(建议让 LLM 学习他就行了)。
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
更多 SKILLS 案例仓库,可以查看:anthropics/skills,对于复杂案例学习是有帮助的。
关注和加煎鱼微信,
一手消息和知识,拉你进技术交流群👇
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
’ fill=’%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路。
日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!
原创不易 点赞支持
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai002/post/20260814/Claude-Skills-%E6%98%AF%E4%BB%80%E4%B9%88%E6%80%8E%E4%B9%88%E7%94%A8/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com