从 Prompt 到 Skill,一文讲透 Claude Skills

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

Claude Agent Skills 介绍

Claude Skills 是 Anthropic 10月份推出的一项功能,允许 Claude AI 通过加载专业化的"技能包"来提升特定任务的执行能力。

为什么需要 Skills?

假设我们有个流程需要非常长的 Prompt,里面有流程步骤、逻辑判断、注意事项全部等等。这就存在着两个问题

  • 每次要使用这个流程的时候,就每次要把这个 Prompt 复制给 AI
  • Prompt 的内容太长,AI 可能只需要这里面的部分信息,但依旧需要消耗了很多token

Skills 就能解决这两个问题。

什么是 Skills?

官方定义:
Agent Skills 是扩展 Claude 功能的模块化能力。每个 Skill 包含指令、元数据和可选资源(脚本、模板),Claude 在相关时会自动使用这些资源

Skill 的结构

my-skill/
├── SKILL.md          # 核心文件:定义名称、描述、触发条件、执行步骤
├── templates/        # (可选) 输出模板
├── examples/         # (可选) 示例文件
├── scripts/          # (可选) 可执行代码
└── resources/        # (可选) 参考文档

SKILL.md 文件结构

  1. 名称 (Name):Skill 的标识
  2. 描述 (Description): Claude 根据描述判断何时触发此 Skill 最重要!
  3. 工具白名单 (allowed-tools):可选,限制 Skill 可使用的工具
  4. 触发条件:明确说明什么场景下应该使用
  5. 执行步骤:分几步走,每步做什么

模板:

---
name: your-skill-name
description: 简要描述此 Skill 的功能以及何时使用它
---


## 指令
[Claude 要遵循的清晰、分步指导]

## 步骤

## 示例
[使用此 Skill 的具体示例]

Skills 的工作原理

加载机制

  1. 启动时:Claude 只扫描所有的 Skill 的元数据(name + description)
  2. 匹配时:当用户提出请求时,当 Claude 判断某 Skill 与当前任务相关,才加载完整的 SKILL.md
  3. 执行时:如果 Skill 包含代码或资源文件,仅在需要时才加载

触发机制

  • 自动触发:Claude 根据对话上下文和 Skill 的 description 自动匹配
  • 显式调用:用户可以直接说"用 xxx Skill 帮我处理"

示例:加载 PDF 处理 skill

skill 文件夹:

pdf/
├── SKILL.md              # 主要说明(触发时加载)
├── FORMS.md              # 表单填充指南(根据需要加载)
├── reference.md          # API 参考(根据需要加载)
├── examples.md           # 使用示例(根据需要加载)
└── scripts/
    ├── analyze_form.py   # 实用脚本(执行,不加载)
    ├── fill_form.py      # 表单填充脚本
    └── validate.py       # 验证脚本

SKILL.md:

---
name: pdf-processing
description: 从 PDF 文件中提取文本和表格、填充表单、合并文档。在处理 PDF 文件或用户提及 PDF、表单或文档提取时使用。
---

# PDF 处理

## 快速开始

使用 pdfplumber 提取文本:
```python
import pdfplumber
with pdfplumber.open("file.pdf") as pdf:
    text = pdf.pages[0].extract_text()

## 高级功能

**表单填充**:参阅 [FORMS.md](FORMS.md) 获取完整指南
**API 参考**:参阅 [REFERENCE.md](REFERENCE.md) 获取所有方法
**示例**:参阅 [EXAMPLES.md](EXAMPLES.md) 获取常见模式

FORMS.md :

## PDF 表单填充工作流

复制此清单并在完成项目时检查:

任务进度:
- [ ] 步骤 1:分析表单(运行 analyze_form.py)
- [ ] 步骤 2:创建字段映射(编辑 fields.json)
- [ ] 步骤 3:验证映射(运行 validate_fields.py)
- [ ] 步骤 4:填充表单(运行 fill_form.py)
- [ ] 步骤 5:验证输出(运行 verify_output.py)

**步骤 1:分析表单**

运行:`python scripts/analyze_form.py input.pdf`

这提取表单字段及其位置,保存到 `fields.json`。

**步骤 2:创建字段映射**

编辑 `fields.json` 为每个字段添加值。

**步骤 3:验证映射**

运行:`python scripts/validate_fields.py fields.json`

在继续之前修复任何验证错误。

**步骤 4:填充表单**

运行:`python scripts/fill_form.py input.pdf fields.json output.pdf`

**步骤 5:验证输出**

运行:`python scripts/verify_output.py output.pdf`

如果验证失败,返回步骤 2。

## 高级功能

**表单填充**:参阅 [FORMS.md](FORMS.md) 获取完整指南
**API 参考**:参阅 [REFERENCE.md](REFERENCE.md) 获取所有方法
**示例**:参阅 [EXAMPLES.md](EXAMPLES.md) 获取常见模式

如何安装和使用 Skills

安装方式

方式一:Claude Web / Desktop(上传 ZIP)

  1. 将 Skill 文件夹打包为 .skill 扩展名的 ZIP 文件
  2. 进入 Settings → Capabilities → 开启 Code execution
  3. 点击 “Upload skill” 上传

方式二:Claude Code

# 个人 Skills(跨所有项目)
~/.claude/skills/

# 项目 Skills(团队共享)
./your-project/.claude/skills/

方式三:通过插件市场安装

# 添加官方插件市场
/plugin marketplace add anthropics/skills

# 安装技能插件
/plugin install document-skills@anthropic-agent-skills

官方的 Github Skills 地址:https://github.com/anthropics/skills/tree/main/skills

步骤:
输入 /plugin marketplace add https://github.com/anthropics/skills 直接安装 官方提供的 skills

在这里插入图片描述

或者直接安装某个skills:
/plugin install document-skills@anthropics-skills
在这里插入图片描述

如何创建 Skills

方式一:直接让 Claude 帮助创建

帮我创建一个 Skill,目标是...
或者
用 skill-creator 帮我创建一个 Skill

方式二:手动创建

  1. 创建文件夹 ~/.claude/skills/skill-name/
  2. 编写 SKILL.md 文件
  3. (可选)添加模板、示例、脚本等资源

API 中使用

上传自定义 skills

import anthropic

client = anthropic.Anthropic()

# 选项 1:使用 files_from_dir 助手(仅 Python,推荐)
from anthropic.lib import files_from_dir

skill = client.beta.skills.create(
    display_title="Financial Analysis",
    files=files_from_dir("/path/to/financial_analysis_skill"),
    betas=["skills-2025-10-02"]
)

# 选项 2:使用 zip 文件
skill = client.beta.skills.create(
    display_title="Financial Analysis",
    files=[("skill.zip", open("financial_analysis_skill.zip", "rb"))],
    betas=["skills-2025-10-02"]
)

# 选项 3:使用文件元组(文件名、文件内容、mime 类型)
skill = client.beta.skills.create(
    display_title="Financial Analysis",
    files=[
        ("financial_skill/SKILL.md", open("financial_skill/SKILL.md", "rb"), "text/markdown"),
        ("financial_skill/analyze.py", open("financial_skill/analyze.py", "rb"), "text/x-python"),
    ],
    betas=["skills-2025-10-02"]
)

print(f"Created skill: {skill.id}")
print(f"Latest version: {skill.latest_version}")

在API 中调用

response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"], // 要先开启这两个
    container={
        "skills": [
            {
                "type": "anthropic",
                "skill_id": "xlsx",
                "version": "latest"
            },
            {
                "type": "anthropic",
                "skill_id": "pptx",
                "version": "latest"
            },
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest"
            }
        ]
    },
    messages=[{
        "role": "user",
        "content": "Analyze sales data and create a presentation"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

Skill 的 局限性

运行时环境约束

Skills 在代码执行容器中运行,具有以下限制:

  • 无网络访问:Skills 无法进行外部 API 调用或访问互联网
  • 无运行时包安装:仅预安装的包可用,也就是必须先对 skill 进行加载才能使用。
  • 仅预配置的依赖项,就是 Skills 在执行代码时,是运行在受限的代码执行容器中,你不能临时安装新包(比如执行 pip install xxx 或 npm install xxx)

触发机制依赖 Claude 理解

  • Skills 是根据 description 自动触发的
  • 如果 description 写得不够清楚,可能不会被触发
  • 或者多个 Skills description 重叠,可能触发错误

Skills 和 MCP

Skills 本质上是把 Prompt 或者工作流程 封装为可组合、可重用、可共享的模块,而 MCP 是一个标准协议,让 AI 模型能够以统一的方式连接和使用各种外部数据源和工具。
Skills 和 MCP 可以协同工作,比如可以使用 MCP 从 GitHub 或公司的数据库中获取实时数据,然后利用 Skill 来根据你定下的流程来分析这些数据做对应的操作。

总结

Skills 的特点

渐进式披露: 一开始只会加载所有的 skills 的元数据,也就是 name 和 describe 字段,只有匹配到对应的任务时候才会加载完整的 skill.md 内容,再根据内容去加载需要的额外的资源
可组合: 多个 Skills 可像积木一样组合,Claude 自动判断需要哪些
可复用: 一次构建,跨对话、跨项目使用
可移植: 相同格式在 Claude Web、Claude Code、API 中通用,可通过 Git 版本控制

Skill 的结构

  • skill 就是一个文件夹,必须有核心文件 SKILL.md 和一些其他可选的资源文件

  • SKILL.md 必须有 skill name 和 desc ,Claude 就是这两个字段来判断什么时候调用这个 Skill 的。剩下的就是写清楚,这个 Skill 要解决什么问题,逻辑判断、这个流程需要那些步骤,每一步需要用到哪些工具、哪些子能力

  • 一些资源文件(可选)可以包含一些固定的模板、参考文档、示例 或者 脚本代码

资源与参考

  • 官方文档: https://platform.claude.com/docs/zh-CN/agents-and-tools/agent-skills/overview
  • Blog :https://claude.com/blog/skills-explained

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值