Claude 官方讲解 Agent Skills——快速上手工作流最新秘密武器

什么是 Skills?

技能是一个个独立的功能包,它们能给 Claude 或编程环境添加专业知识、工作流程和工具。你可以把技能想象成某个专业领域的”使用手册”——能让 Claude 从一个什么都懂一点的助手,变成一个掌握特定专业知识的专家。

一个 Skill 可能包含

  1. 工作流程 - 针对特定领域的多步骤程序
  2. 工具 - 用于处理特定文件格式或 API 的说明
  3. 领域知识 - 特定知识、架构、业务逻辑等
  4. 资源 - 用于复杂和重复任务的脚本、参考资料和资产

在 Claude code 的 skill 文件夹中,包含一个必需的 SKILL.md 文件和可选的资源:

skill-name/ ├── SKILL.md (必需) ← YAML元数据 + Markdown指令 │ ├── YAML frontmatter metadata (必需) │ │ ├── name: (必需) │ │ └── description: (必需) │ └── Markdown instructions (必需) ├── scripts/ (可选) ← 可执行代码 (Python/Bash等) ├── references/ (可选) ← 参考文档 (按需加载) └── assets/ (可选) ← 资源文件 (模板/图片/字体等)

最少必要信息

SKILL.md 文档顶部的 YAML 中的 namedescription,决定了 Claude 何时使用该技能。要具体说明该技能的作用以及何时使用。应使用第三人称(例如 “This skill should be used when…” instead of “Use this skill when…”)进行描述。

skill-skill

捆绑资源(可选)

脚本:用于需要确定性可靠性或反复重写的任务的可执行代码(Python/Bash/等)。

skill-scripts

参考资料:可根据需要加载到上下文中,以指导 Claude 的流程和思维。

skill-references

资源:文件不是为了被加载到上下文中,而是用在 Claude 生成的输出中。

skill-assets

渐进式披露原则

skill 使用三级加载来高效管理 context:

  1. 元数据(名称 + 描述)- 始终在 context 中(~100 字)
  2. 技能触发时的 SKILL.md 正文(<5000 字)
  3. 资源 - 根据需要加载

技能创建流程

skill-process

第 1 步:通过具体示例理解技能

要创建好用的技能,首先要知道具体的使用例子,可以是用户提供的,也可以是你想出来后让用户确认的。

比如,做一个图像编辑技能时,可以问这些问题:

这个技能要支持哪些功能?比如编辑、旋转,还有别的吗?

能举几个使用这个技能的例子吗?

用户可能会说’去掉照片的红眼’或’旋转这张图’。还有其他用法吗?

用户会怎么说来使用这个技能?

别一次问太多问题,先问最重要的,需要的话再追问。

第 2 步:规划可复用的技能内容

想要把具体例子变成实用的技能,方法是分析每个例子:

  1. 想想如何一步步完成
  2. 找出哪些脚本、参考文档和资源可以重复使用

例子 1:PDF 编辑技能

当用户说"帮我旋转这个 PDF"时: 1. 每次旋转 PDF 都要写一样的代码 2. 可以把 `scripts/rotate_pdf.py` 脚本保存在技能里,下次直接用

例子 2:网页应用构建技能

当用户说"做一个待办事项应用""做一个步数统计页面"时: 1. 每次写网页应用都要用同样的 HTML/React 基础代码 2. 可以把基础模板 `assets/hello-world/` 保存在技能里,下次直接用

例子 3:数据查询技能

当用户问"今天有多少人登录过"时: 1. 每次查询 BigQuery 都要重新查找表格结构 2. 可以把表格结构说明 `references/schema.md` 保存在技能里,下次直接查

总结:分析每个具体例子,整理出可以重复使用的内容,包括脚本、参考文档和资源文件。

第 3 步:创建技能文件

创建全新技能时,可以运行官方提供的 skill-creator 技能中的 init_skill.py 脚本

scripts/init_skill.py <技能名称> --path <保存位置>

这个脚本会自动创建一个技能文件夹,里面包含所需的基础文件。

  • 生成一个 SKILL.md 模板文件,里面有格式和待填写的部分
  • 创建三个示例文件夹:scripts/(脚本)、references/(参考资料)和 assets/(资源文件),包含一些示例文件,可以根据需要修改或删除

创建后,再根据实际需要修改。

第 4 步:编辑技能

编辑技能时,要记住这个技能是给另一个 Claude 用的。重点写下那些对 Claude 有用但它不知道的信息。想想什么知识、专业细节或可以重复使用的文件能帮助 AI 更好地完成任务。

从可重用的内容开始

开始制作时,先处理脚本、参考资料和资源文件。这一步可能需要用户提供材料。比如做 brand-guidelines 技能时,用户可能要提供品牌素材或模板放到 assets/ 里,或提供文档放到 references/ 里。

更新 SKILL.md 文件

写作风格:整个技能都要用命令式写法(比如”做 Y 来完成 X”),不要用”你应该”这样的说法。用客观、说明性的语言(比如写”要完成 X,做 Y”,而不是”应该做 X”或”如果需要做 X”)。

完成 SKILL.md 文件时,回答这些问题:

  1. 这个技能是做什么的?用几句话说明。
  2. 什么时候用这个技能?
  3. Claude 实际使用时该怎么做?要说明怎么用前面准备的内容,让 Claude 知道如何使用它们。
  4. 是否已删除不需要用到的模版文件

第 5 步:打包技能

技能准备就绪后,可将其打包为可分发的 zip 文件。

scripts/package_skill.py <path/to/skill-folder>

打包流程会首先自动验证,以确保满足要求:

  • YAML 前置元数据格式和必填字段
  • 技能命名规范和目录结构
  • 描述的完整性和质量
  • 文件组织和资源引用

如果验证通过,将创建一个以技能命名的 zip 文件,包含所有文件和正确的目录结构。如果验证失败,脚本将报告错误并退出,需要修复错误并再次运行打包命令。

第 6 步:不断改进

用过技能后,你可能会发现需要改进的地方。改进步骤:

  1. 在真实工作中使用这个技能
  2. 记下遇到的问题或不方便的地方
  3. 想想需要修改 SKILL.md 文件或相关资源的哪些部分
  4. 修改完成后再测试一遍

下一篇我们来仔细拆解 Claude 官方的 Skills,加速学习进度 🚀。

© 00RSS