Claude Skills 是什么,怎么用?
第二层是其对应的正文内容,如果 LLM 认为当前会话的任务与该 skill 相关,则会通过读取完整上下文加载该 skill。这些元数据是渐进披露的第一层,也就是他仅提供基本信息,让 LLM 知道应该什么时候调用 skill,而无需全部加载。一种是隐式的,由 LLM 根据预先加载的 SKILLS 内容,进行判别。”,并指定相关的项目/代码。名副其实的达到了全工具的标准化和规划,你写的 Skill 可
大家好,我是煎鱼。
在去年 10 月中 A 社推出了 Skills 是什么。在 26 年 1 月正式火爆,开始在非编程领域全面开花,从而也有更多的人开始关注 skills。
从目前来看,skills 由于使用门槛低,广泛性强,更亲民。有了更大的使用群体。
以下概念是由 Claude 先发起,后续其他平台也进行了跟进。今天我们一起来学习他。
Skills 是什么
Skills 是由指令(Instructions)、可执行代码(Code)和资源(Resources) 打包而成的程序包/指令集。可以用于指导 LLM 去处理的特定任务,或是工作流。
实体上,每一个 Skill 需包含以下内容:
-
SKILL.md(必填):带有 YAML 前置元数据的 Markdown 指令文件。
-
scripts(可选):可执行代码(Python、Bash 等)。
-
references(可选):按需加载的参考文档。
-
assets(可选):用于输出内容的模板、字体、图标等资源。
主要优势&特性
渐进式披露
Skills 能这么火,肯定是有原因的。其有多个主要优势,最核心之一是:渐进式披露。可以省挺多钱(tokens)。
其在 SKILL.md 中使用三层的加载模型去逐步读取:
-
元数据(名称:64 字符,描述:1024 字符):Claude 可查看技能名称与描述。
-
完整指令(< 5000 tokens):在技能匹配相关场景时加载。
-
关联文件:仅在需要时才加载的额外资源。
第一、第二层:元数据和完整指令
在启动时,第一层会预先加载每个 skill 的名称和描述作为系统预设信息中。
这些元数据是渐进披露的第一层,也就是他仅提供基本信息,让 LLM 知道应该什么时候调用 skill,而无需全部加载。
第二层是其对应的正文内容,如果 LLM 认为当前会话的任务与该 skill 相关,则会通过读取完整上下文加载该 skill。
第三层:关联文件
如果本身复杂度较高,上下文信息过多。我们可以在 SKILL.md 中引用额外的链接文件。这是第三层。
对此 LLM 将会根据描述和需要时进行阅读和处理相关信息。
可组合/可复用
多个 Skill 可以在同一个会话中协同工作,也可以在不同会话中进行处理。
更甚至可以把多个 Skill 组件成有实操价值的工作流才达成自己的诉求。
标准化&规范
目前 Skills 也已经在 A 社和大家的使用下,各大 CLI 工具和平台均已支持。
名副其实的达到了全工具的标准化和规划,你写的 Skill 可以在不同的工具中复用。
分发打个包发过去就可以用了,很方便。
基本结构
前面有提到一个 SKILL 的基本结构是:
your-skill-name/
├── SKILL.md # Required - main skill file
├── scripts/ # Optional - executable code
├── references/ # Optional - documentation
└── assets/ # Optional - templates, et
SKILL.md 是必须要有的,其文件内容如下:
---
name: your-skill-name
description: 详细介绍该 SKILL 能做什么,以及何时应该被使用。
---
SKILL 的正文内容,进一步描述 SKILL 应该如何做,怎么做。
该文件内容分为两个部分:
-
分别是 YAML 前置内容(
---标记之间),描述该 SKILL 的名称和描述,便于 LLM 进行预加载和识别。 -
其后,是 LLM 识别到要该使用该 SKILL 后会读取的正文描述内容。再基于此进行延伸渐进式读取。
官方例子
这里将直接引用 Claude 官方的 SKILL 例子,并补充一些说明。
该示例将创建一个 SKILL,教会 LLM 借助可视化图表 + 类比的方式讲解代码。
创建 SKILL
第一步,我们创建该 SKILL 的目录:
mkdir -p ~/.claude/skills/explain-code
创建后你可以在 ~/.claude/skills 下看到名为 explain-code 的 SKILL。
如果你有安装过别的 SKILL,也会在此一同查看到。
描述 SKILL.md
第二步,在 ~/.claude/skills/explain-code/SKILL.md 下创建核心文件:SKILL.md:
---
name: explain-code
description: 通过视觉图表和类比来解释代码。适用于解释代码运行原理、教授代码库知识或当用户询问“这段代码是怎么工作的?”时。
---
在解释代码时,请务必包含以下内容:
1. **以类比开头**:将代码比作日常生活中的事物。
2. **绘制图表**:使用 ASCII 艺术图来展示流程、结构或相互关系。
3. **逐步引导**:按步骤详细说明代码执行过程中发生了什么。
4. **强调易错点**:指出常见的错误或误区是什么?
保持解释过程具有对话感。对于复杂的概念,可以运用多个类比。
调用 SKILL
调用 SKILL 有 两种方式。一种是隐式的,由 LLM 根据预先加载的 SKILLS 内容,进行判别。
例如你可以直接在 Claude 中询问:“这段代码是怎么工作的?”,并指定相关的项目/代码。
第二种是显式指定,直接执行:
/explain-code 相关要分析的项目或代码
就可以完成 SKILL 的调用和联动分析。
如果要查看本地 Claude 加载了什么 SKILLS,只需执行 /skills 查看即可。
总结
目前在使用建议上,如果存在可复用的场景。例如你一天要执行 2 次及以上,就可以让 Claude Code 给你写成 skills 去使用。
本文只包含了最简的 SKILL 创建和使用流程,如果大家还有需要,可以查看 skill-creator 这个 SKILL(建议让 LLM 学习他就行了)。

更多 SKILLS 案例仓库,可以查看:anthropics/skills,对于复杂案例学习是有帮助的。
关注和加煎鱼微信,
一手消息和知识,拉你进技术交流群👇


你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路。
日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!
原创不易 点赞支持
更多推荐



所有评论(0)