Anthropic「Skills」是什么?——面向 AI 的“插件生态”(一)

AI3天前发布 beixibaobao
2 0 0

相关文档:
Claude Code 构建 Agent Skills官方文档
Agent Skills 学习与案例库
行业化的 AI 模板库
https://github.com/anthropics/skills

在这里插入图片描述


文章目录

  • 1 Skills 仓库结构与内容概览
    • 1.1 Skills结构的简易解释
      • 1.1.1 Skills技能的构成
      • 1.1.2 技能与上下文窗口
      • 1.1.3 技能与代码执行
      • 1.1.4 开发与评估技能
      • 1.1.5 使用技能时的安全考虑
    • 1.2 Anthropic Skills 仓的结构
  • 2、Skills 的核心概念:Skill 与 SKILL.md
    • 2.1 Skill 的正式定义(来自 Agent Skills Spec)
    • 2.2 从“Skill Sets” 看技能类别与场景
  • 3 Skills 的使用:从 Claude Code 到 Claude.ai 再到 API
    • 3.1 在 Claude Code 中使用 Skills
    • 3.2 在 Claude.ai 中使用 Skills
    • 3.3 通过 Claude API 使用 Skills
    • 3.4 在其他 IDE 插件(CodeBuddy, Trae, Cursor 等)中使用
      • 1. 深度集成环境(如 CodeBuddy)
      • 2. 通用“自带 Key”环境(如 Trae, Cursor, Qoder 等)
  • 4 创建你自己的 Skill:流程与对比
    • 4.1 创建基础 Skill 的步骤
    • 4.2 Skill 与其它概念的对比(表格)
    • 4.3 Agent Skills 规范的关键要点(进一步细节)
      • 4.3.1 规范内容提要
      • 4.3.2 规范与实践结合的几点结论(并注明出处)
  • 5 小结:anthropics/skills 能帮你做什么?适合谁用?

说明:本文基于本地仓库 anthropics/skillsREADME.mdspec/agent-skills-spec.md,对其中所有关键概念、章节和代码进行系统性翻译与解读,力求不遗漏原文信息,并做适度扩展说明,方便中文读者理解。

Anthropic 的 Skills(技能)并不是“模型参数”或“传统 SDK”,而是一套专门为 AI 代理(Agents) 设计的可加载工作流与说明书

  • 从形式上看:一个 Skill 就是一个文件夹,里面有一个 SKILL.md 以及若干脚本、资源。
  • 从作用上看:Skill 用来 教会 AI 怎么完成一个具体类别的任务,并且可以被动态加载、复用与组合。
  • 从使用方式看:开发者或高级用户可以将这个仓库注册到 Claude Code / Claude.ai / API 中,作为“技能市场”,按需调用。

原仓库官方定义可以概括为:

Skills are folders of instructions, scripts, and resources that Claude loads dynamically to improve performance on specialized tasks.

即:技能 = 可被 Claude 动态加载的指令 + 脚本 + 资源集合,用于提升在特定任务上的表现。


1 Skills 仓库结构与内容概览

1.1 Skills结构的简易解释

参考自:equipping-agents-for-the-real-world-with-agent-skills

1.1.1 Skills技能的构成

为智能体构建一个 skill 就像为新员工准备入职指南。与其为每个用例构建零散的、定制的智能体,不如通过捕捉和分享程序化知识,让任何人都能用可组合的能力来专门化他们的智能体。在本文中,我们将解释什么是 Skills,展示它们的工作原理,并分享构建你自己的技能的最佳实践。

在这里插入图片描述


技能是包含一个 SKILL.md 文件的目录,里面有组织的指令、脚本和资源,赋予智能体额外能力。

让我们通过一个真实例子来了解 Skills:这是支持 Claude 最近推出的文档编辑能力 的技能之一。Claude 已经对理解 PDF 有很深的认识,但在直接操作 PDF(例如填写表单)方面能力有限。这个 PDF 技能 让我们赋予 Claude 这些新能力。

最简单的技能是一个包含 SKILL.md 文件的目录。该文件必须以 YAML Frontmatter 开头,包含一些必需的元数据:namedescription。启动时,智能体会将所有已安装技能的 namedescription 预加载到系统提示中。

这些元数据是渐进式披露第一层:它提供足够的信息让 Claude 知道何时应该使用每个技能,而无需全部加载到上下文中。
该文件的正文是第二层细节。如果 Claude 认为该技能与当前任务相关,它将通过读取完整的 SKILL.md 文件来加载该技能。

在这里插入图片描述


随着技能的复杂度增加,可能会包含过多上下文,无法全部放入单个 SKILL.md,或者包含仅在特定场景下相关的上下文。这时,技能可以在目录中捆绑额外的文件,并在 SKILL.md 中通过名称引用它们。这些额外的链接文件是第三层(及更深层次)的细节,Claude 可以根据需要选择性地导航和发现。

在下面的 PDF 技能示例中,SKILL.md 引用了两个额外文件(reference.mdforms.md),技能作者选择将它们与核心的 SKILL.md 一起打包。通过将表单填写说明移到单独的文件 forms.md 中,技能作者可以保持核心技能文件的精简,并相信 Claude 只在填写表单时才会读取 forms.md

在这里插入图片描述


你可以通过额外文件为技能加入更多上下文,然后由 Claude 根据系统提示触发这些内容。

渐进式披露是 Agent Skills 灵活且可扩展的核心设计原则。就像一本结构良好的手册,从目录开始,然后是具体章节,最后是详细附录,技能让 Claude 只在需要时加载信息:

在这里插入图片描述


具备文件系统和代码执行工具的智能体,无需在处理特定任务时将整个技能加载到上下文窗口中。这意味着技能中可打包的上下文量实际上是无限的。

1.1.2 技能与上下文窗口

下图展示了当技能被用户消息触发时,上下文窗口的变化。

在这里插入图片描述


技能通过系统提示在上下文窗口中被触发。

操作序列如下:

  1. 初始时,上下文窗口包含核心系统提示、所有已安装技能的元数据,以及用户的初始消息;
  2. Claude 通过调用 Bash 工具读取 pdf/SKILL.md 内容,触发 PDF 技能;
  3. Claude 选择读取与技能捆绑的 forms.md 文件;
  4. 最后,Claude 在加载了 PDF 技能的相关指令后,继续执行用户的任务。

1.1.3 技能与代码执行

技能还可以包含 Claude 可按需执行的代码工具。

大型语言模型在很多任务上表现优异,但某些操作更适合传统代码执行。例如,通过生成 token 来排序列表比直接运行排序算法代价高得多。除了效率问题,许多应用需要代码才能提供的确定性可靠性。

在我们的示例中,PDF 技能包含一个预写的 Python 脚本,用于读取 PDF 并提取所有表单字段。Claude 可以在不将脚本或 PDF 加载到上下文中的情况下运行该脚本。由于代码是确定性的,该工作流既一致又可重复。

在这里插入图片描述


技能可以根据任务性质,包含 Claude 可执行的代码工具。

1.1.4 开发与评估技能

以下是一些有助于开始编写和测试技能的指导原则:

  • 从评估开始: 通过在代表性任务上运行智能体,识别其能力缺口,观察其在哪些地方表现不佳或需要额外上下文。然后逐步构建技能以解决这些不足。
  • 结构化以便扩展:SKILL.md 文件变得庞大时,将内容拆分到多个文件中并进行引用。如果某些上下文是互斥的或很少一起使用,分开路径可以减少令牌使用量。代码既可以作为可执行工具,也可以作为文档,应明确 Claude 是直接运行脚本还是将其作为参考读入上下文。
  • 从 Claude 视角思考: 监控 Claude 在实际场景中如何使用你的技能,并根据观察进行迭代:注意意外的路径或对某些上下文的过度依赖。特别关注技能的 namedescription,Claude 会用它们来决定是否针对当前任务触发技能。
  • 与 Claude 一起迭代: 在与 Claude 共同完成任务时,让 Claude 将成功的方法和常见错误捕获到可重用的上下文和代码中。如果它在使用技能完成任务时偏离轨道,询问它自我反思哪里出错。此过程将帮助你发现 Claude 实际需要的上下文,而不是试图提前预判。

1.1.5 使用技能时的安全考虑

技能通过指令和代码为 Claude 提供新能力。虽然这增强了技能的力量,但也意味着恶意技能可能引入使用环境中的漏洞,或指示 Claude 泄露数据和执行非预期操作。

我们建议仅从可信来源安装技能。安装来自不太可信来源的技能时,务必先彻底审计。首先阅读技能中所有文件的内容,了解其功能,特别关注代码依赖和捆绑的资源(如图片或脚本)。同样,注意技能中是否有指示 Claude 连接到潜在不可信外部网络的指令或代码。

1.2 Anthropic Skills 仓的结构

来看一下https://github.com/anthropics/skills 仓的结构

根据 README.md,这个仓库的顶层结构大致如下(简化说明):

  • ./skills:大量示例技能目录,涵盖:

    • 创意与设计(艺术、画图、UI)
    • 开发与技术(测试、MCP 工具生成)
    • 企业与沟通(品牌、内部沟通)
    • 文档处理(docx、pdf、pptx、xlsx)
  • ./specAgent Skills 规范,说明 Skill 的文件结构和 SKILL.md 的格式。
  • ./template:一个模板 Skill,用来作为创建新 Skill 的起点。
  • .claude-plugin/:与 Claude Code 插件系统集成相关的元数据。
  • README.md:你目前看到的总说明文件。

原文还特别强调:

Many skills in this repo are open source (Apache 2.0)。
文档创建与编辑技能(docxpdfpptxxlsx)是 source-available 而非开源,但作为复杂生产级技能的参考被开放出来。

这意味着:

  • 绝大部分示例技能可以自由参考和复用;
  • 文档类技能则代表了 Anthropic 自己在生产环境中给 Claude 用的“官方技能实现”,非常适合作为你设计企业级文档系统的参考。

2、Skills 的核心概念:Skill 与 SKILL.md

2.1 Skill 的正式定义(来自 Agent Skills Spec)

spec/agent-skills-spec.md 中,对 Skill 的正式定义是:

A skill is a folder of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks.

翻译并拆解:

  • “folder of instructions, scripts, and resources”:Skill 是一个目录,里面放:

    • 说明文档(指示 AI 怎么做)
    • 脚本(如 Python、JS,供 AI 生成或调用)
    • 资源(如模板、示例、图片等)
  • “agents can discover and load dynamically”:Agent(如 Claude)可以根据任务需要:

    • 动态发现这些 Skill;
    • 按需加载与执行其中的流程或脚本;
  • “perform better at specific tasks”:Skill 是任务特化的:例如只负责“PDF 处理”或“PPT 生成”,强调在某类任务上的高质量与可重复性。

2.2 从“Skill Sets” 看技能类别与场景

README.md 中把仓库中的技能粗略分为几类,并使用了“Skill Sets”的说法:

  • ./skills:各种领域的技能:

    • Creative & Design(创意与设计)
    • Development & Technical(开发与技术)
    • Enterprise & Communication(企业与沟通)
    • Document Skills(文档技能)
  • ./spec:Agent Skills 规范;
  • ./template:技能模板。

结合前面的 list_files,我们可以列出几个代表性 Skill 目录(部分):

目录名 主要领域 典型用途简述
pdf 文档处理 PDF 拆分、文本/表格/图片提取、表单处理等
docx 文档处理 Word 创建、编辑、修订、批注、结构化读取
pptx 文档 & 演示处理 PPT 创建/编辑、模板套用、文本批量替换等
xlsx 数据 & 表格处理 Excel 读取、写入、公式校验、格式规范等
canvas-design 视觉设计 画海报、插画、静态视觉稿(输出 PNG/PDF)
algorithmic-art 算法艺术 使用 p5.js 等生成算法图形
frontend-design 前端页面设计 生成页面布局、组件结构和 CSS 风格
web-artifacts-builder 复杂 Web 产物 使用 React/Tailwind/shadcn 搭建复杂 Web 组件
doc-coauthoring 文档协作写作 引导式写技术文档/提案/说明书
theme-factory 主题与品牌 统一主题配色与字体,生成主题示例(有 PDF 展示)

图片提示:
仓库中 theme-factory/theme-showcase.pdf 是一个 PDF 示例,用来展示不同主题样式的效果,可视作“图片资源集”的 PDF 版展示。[来源:skills/theme-factory/theme-showcase.pdf]


3 Skills 的使用:从 Claude Code 到 Claude.ai 再到 API

README.md 的后半部分详细说明了在不同产品中如何使用这些技能。可以概括为三个场景:Claude Code、Claude.ai、Claude API

3.1 在 Claude Code 中使用 Skills

官方建议可以把这个仓库当作一个“插件市场源”来注册:

/plugin marketplace add anthropics/skills

代码解读:

  • /plugin marketplace add:Claude Code 中的命令,用于添加一个插件市场源;
  • anthropics/skills:GitHub 仓库标识,即当前这个 Skills 仓库。

注意事项:

  • 该命令在 Claude Code 环境中执行,而不是在系统 shell 中执行;
  • 添加后,你可以在 Claude Code 的 UI 中浏览和安装其中的技能集合(例如 “document-skills”、“example-skills”)。

之后有两种安装方式:

  1. 通过 UI 操作:

    • 在 Claude Code 里选择「Browse and install plugins」;
    • 选择 anthropic-agent-skills
    • 再选择安装 document-skillsexample-skills
    • 点击 Install now
  2. 通过命令直接安装:

    /plugin install document-skills@anthropic-agent-skills
    /plugin install example-skills@anthropic-agent-skills
    

    代码解读:

    • /plugin install:安装插件;
    • document-skills@anthropic-agent-skills

      • anthropic-agent-skills:插件集合名称;
      • document-skills:该集合中的一个具体插件(下挂多个与文档相关的 Skill)。

    注意事项:

    • 名称需要精确匹配;
    • 安装后,只需在对话中说“使用 PDF skill ……”,就能让 Claude 自动调用对应的 Skill。

README 给了一个典型用例:

“Use the PDF skill to extract the form fields from path/to/some-file.pdf

翻译为普通话对话就是:

  • 你在 Claude Code 里对模型说:
    • “请使用 PDF skill,从 path/to/some-file.pdf 里抽取所有表单字段。”
  • Agent 会:
    • 检查已安装的 document-skills
    • 激活 pdf 这个 Skill;
    • skills/pdf/SKILL.md 中的流程,使用合适的 Python 工具(如 pdfplumber)完成任务。

3.2 在 Claude.ai 中使用 Skills

README 指出:

These example skills are all already available to paid plans in Claude.ai.

即:对于 Claude.ai 的付费用户,这些示例 Skills 已经可用,无需你手动配置仓库。

你只需按照官方文档:

  • 参考链接:Using skills in Claude
  • 在 Claude.ai 的界面中上传或启用这些 Skills。

在实际对话中,使用方式类似:

  • “用 docx skill 帮我生成一份项目计划书草稿。”
  • “用 xlsx skill 分析这份销售数据表,并输出关键指标。”

3.3 通过 Claude API 使用 Skills

README 还提到可以通过 API 使用预置 Skill 或自定义 Skill:

You can use Anthropic’s pre-built skills, and upload custom skills, via the Claude API. See the Skills API Quickstart.

对应官方文档链接是:

  • Skills API Quickstart: https://docs.claude.com/en/api/skills-guide#creating-a-skill

在 API 级别,本质是:

  1. 把你的 my-skill/ 目录(含 SKILL.md)上传到 Anthropic 的 Skill 系统;
  2. 在调用模型时,通过接口参数告知使用某些 Skill;
  3. Agent 在推理过程中按这些 Skill 的说明来规划、调用工具、执行脚本。

3.4 在其他 IDE 插件(CodeBuddy, Trae, Cursor 等)中使用

除了 Anthropic 官方支持的渠道,许多第三方工具,尤其是深度集成的 IDE 插件,也提供了使用 Skills 的方式。这些工具大致可以分为两类:

1. 深度集成环境(如 CodeBuddy)

这类工具通常内置了对 Skills 理念的支持,提供了类似 Claude Code 的无缝体验。以 CodeBuddy 为例,其对 Skills 的支持非常完整:

  • 自动加载与执行:当你在 CodeBuddy 中提到要使用某个 Skill 时(例如 pptx),它能够自动加载对应的 SKILL.md 文件,并将其中的工作流、脚本路径、工具列表等信息注入到当前的对话上下文中。
  • 内置工具调用:如果 Skill 需要执行本地脚本(如 pptx skill 中用于操作 OOXML 的 Python 脚本),CodeBuddy 提供了让 AI 安全执行这些脚本的能力。AI 会生成一个执行指令,经用户确认后,在 CodeBuddy 的环境中运行,并将结果返回给 AI。
  • 闭环工作流:从“激活 Skill” -> “AI 按 SKILL.md 规划任务” -> “调用工具/脚本” -> “返回结果”,整个过程是闭环的,用户体验非常流畅。

在这种环境下,使用 Skill 的方式与在 Claude Code 中几乎没有差别,核心在于工具本身是否实现了 Skill 的发现、加载和执行机制。

2. 通用“自带 Key”环境(如 Trae, Cursor, Qoder 等)

对于更多通用的、允许用户“自带 API Key”的 AI 编码助手(如 Trae, Cursor, Qoder 等),它们可能没有专门为 Skills 设计的集成功能。但在这些工具中,你仍然可以手动模拟 Skill 的使用过程:

  1. 手动“安装” Skill:将 skills/SKILL_NAME/SKILL.md 的全部内容,以及任何相关的脚本文件(如 scripts/main.py),手动添加到对话的上下文中。你可以直接复制粘贴 SKILL.md 的内容,或者使用插件的“附加文件”功能。这一步相当于手动“教会” AI 这个 Skill 的工作流程。

  2. 引导 AI“执行” Skill

    • 对于纯 Prompt 类 Skill:AI 读取 SKILL.md 后,就可以遵循其中的指导和示例来回答你的问题。
    • 对于需要代码生成的 Skill:AI 会根据 SKILL.md 中的规范生成代码,你需要手动复制并应用到你的项目中。
    • 对于需要执行脚本的 Skill(如 pptx:这是最复杂的情况。AI 在读取 SKILL.md 后,会知道需要调用某个脚本。但由于这些通用工具通常不具备让 AI 直接执行本地代码的能力,AI 会“请求”你来执行。它会生成需要运行的命令(例如 python skills/pptx/scripts/run.py --action "create_slide" ...),你需要自己复制这个命令到终端里执行,然后将终端的输出结果再复制回对话框,告诉 AI 执行结果。

总结:在 Trae、Cursor 这类工具中,使用 Skills 更像是一种**“人机协作”的模式**。SKILL.md 成为你和 AI 共同遵循的“操作手册”,AI 负责规划和生成指令,而你负责执行其中需要外部环境支持的步骤。虽然不如深度集成环境来得自动化,但这极大地扩展了 Skills 在各种开发环境中的适用性。


4 创建你自己的 Skill:流程与对比

README.md 对“如何创建一个基础 Skill”给了一个核心样例(前面已经展示了代码),这里我们将整个过程总结为步骤,并做一点对比说明。

4.1 创建基础 Skill 的步骤

  1. 新建 Skill 目录

    my-skill/
      - SKILL.md
    
  2. 编辑 SKILL.md 的 YAML 部分

    ---
    name: my-skill-name
    description: A clear description of what this skill does and when to use it
    ---
    
  3. 填写 Markdown 正文

    • # My Skill Name:整体标题;
    • ## Examples:写 2–3 个对话中的使用示例;
    • ## Guidelines:写清楚该 Skill 的使用原则(如“避免一次修改过多文件”、“遇到错误优先回滚”等)。
  4. 按需添加脚本与资源

    • 若 Skill 需要执行 Python 脚本,可以在该目录下加 scripts/
    • 若需要模板文件(如 Word 模板、PPT 模板),可建立 templates/
  5. 在 Claude 环境中加载或上传

    • Claude Code:通过 /plugin 命令或 UI。(见上文)
    • Claude.ai:通过网页版的 Skill 配置入口。
    • API:通过 Skills API 上传。

4.2 Skill 与其它概念的对比(表格)

为了更清晰地理解 Skill 与传统组件(如插件、工具、普通 prompt)的区别,可以用表格对比:

概念 粒度与形式 谁来执行? 典型内容
Prompt 单段文本提示 纯大模型(LLM) 指令、问题、上下文描述
Tool 一个具体 API / 命令行 / 函数 外部系统或代码 HTTP 请求、DB 查询、脚本调用
Plugin 一组工具与集成逻辑 应用/平台 + LLM 多个 API、配置与 UI 绑定
Skill 一整个“任务工作流 + 说明书 + 资源”的目录 LLM 主导 + 工具辅助 SKILL.md + scripts + 模板 + 规则

从表中可以看出:

  • Skill 更像是**“让 LLM 成为高级工程师/助理的 SOP 手册 + 工具箱”**;
  • 它比单一 Tool 粒度更大,涵盖“怎么规划任务、如何分步调用工具、如何处理错误”等。

4.3 Agent Skills 规范的关键要点(进一步细节)

spec/agent-skills-spec.md 是对 Skills 的正式规范文件,前面我们已经引用核心内容,这里补充它的结构与版本信息。

4.3.1 规范内容提要

  1. Skill 定义:前文已述。

  2. Skill Folder Layout(技能目录结构):

    my-skill/
      - SKILL.md
    

    说明:即使 Skill 非常复杂,入口仍然是 SKILL.md

  3. The SKILL.md file

    • 必须包含 YAML frontmatter;
    • 前面详细介绍了必选与可选字段。
  4. Additional Information

    • 若想要一个最小示例,可以参考仓库中的 template-skill
  5. Version History(版本历史):

    规范当前版本信息为:

    • 1.0 (2025-10-16) Public Launch —— 即 2025-10-16 公开发布 1.0 版规范。

4.3.2 规范与实践结合的几点结论(并注明出处)

  1. Skill = 目录 + SKILL.md + 资源

    • 出处:Agent Skills Spec 开头段落
    • 实践意义:你在设计任何 Skill 时,都可以先从一个最小目录 + SKILL.md 开始,逐步添加脚本与资源。
  2. YAML Frontmatter 的 name 与目录名需要一致

    • 出处:规范中对 name 字段的要求
    • 实践意义:保证 Skill 的“逻辑名称”和“物理目录”一致,有利于自动发现和维护。
  3. Markdown 正文自由度高,但结构化越好

    • 出处:Markdown Body has no restrictions
    • 实践意义:建议你把 SKILL 文档写成一份“人类可读、Agent 可遵循”的操作手册,而不是仅仅给几行说明。
  4. 1.0 规范已经稳定,可直接用作企业内部标准

    • 出处:Version History 标记为 Public Launch
    • 实践意义:如果你要在公司内部推广自身 Skill 体系,可以直接参考该规范制定组织标准。

5 小结:anthropics/skills 能帮你做什么?适合谁用?

综合 README.mdagent-skills-spec.md 的全部信息,我们可以对这个仓库做一个较为客观的总结:

  1. 它是什么?

    • 一个面向 AI Agent 的“技能集合”仓库;
    • 每个 Skill 是一个目录,内含 SKILL.md、脚本与资源;
    • Skill 是“教 AI 做事”的模块化单元。
  2. 它解决什么问题?

    • 让复杂任务(如 PDF/PPT/Docx/Xlsx 处理、Web 设计、算法艺术等)被抽象成可复用的工作流
    • 让不同项目中的 Agent 能共享并复用这些工作流;
    • 提供了一套可扩展的“企业级 AI 能力装配”方式。
  3. 适合谁用?

    • 想给 Claude“装插件”的开发者与团队;
    • 希望沉淀内部流程、标准与规范为“AI 可用指令集”的组织;
    • 想搭建自己的“AI 开发者平台 / 文档工作台 / 设计工作台”的产品经理与架构师。
  4. 如何开始?

    • 阅读本仓库的 README.mdspec/agent-skills-spec.md(本文已覆盖关键内容);
    • 在 Claude Code 中添加插件市场 anthropics/skills,试用现成的技能集合;
    • template-skill 复制一份,按需修改 SKILL.md,编写自己的 Skill;
    • 将 Skill 通过 Claude Code / Claude.ai / API 引入你的工作流与产品。

关键结论出处:

  • Skill 概念与结构:spec/agent-skills-spec.md
  • 仓库整体说明与使用方式:README.md
  • 文档技能与示例技能的具体内容:skills/ 目录下各个 SKILL.md(如 docxpdf 等)
© 版权声明

相关文章