Agent Skills

Claude Code 是 Anthropic 推出的官方命令行(CLI)代理工具,而 Agent Skills(代理技能) 是其核心的功能扩展机制。

Claude Code 像是一个拥有终端权限的工程师,而 Skills 则是你给这位工程师准备的专业手册或工具包,通过 Skills,你可以让 Claude 自动掌握特定的项目规范、复杂的 API 文档或特定的自动化工作流。

当 Claude 加载了一个 Skill,它就获得了执行某项特定任务的新能力,而无需你每次都从头详细描述所有要求和步骤。

为什么需要 Skills?它解决了什么问题?

在没有 Skills 之前,你可能需要:

  1. 每次对话都提供冗长的背景信息和指令。
  2. 手动复制粘贴数据或 API 格式。
  3. 反复纠正 AI 的输出格式。

有了 Skills,你可以:

  • 标准化流程:将最佳实践固化下来,确保每次执行任务都高质量、格式统一。
  • 提升效率:一键调用复杂功能,节省大量提示词输入和调试时间。
  • 知识复用:将公司内部知识、产品文档、API 规范等嵌入 Skill,让 Claude 记住并使用它们。
  • 能力扩展:通过 API 和工具调用,让 Claude 突破纯文本的限制,与真实世界的系统和数据互动。

核心概念快速理解

概念 比喻 作用
Skill(技能) 一个独立的瑞士军刀工具或烹饪食谱 完成一项特定任务(如写邮件、分析数据)的完整套件。
Instruction(指令) 工具的使用说明书或食谱的步骤 告诉Claude具体要做什么、如何思考、输出什么格式。
Knowledge(知识) 工具的零件清单或食谱的食材背景资料 上传文件(如产品手册、API 文档)作为 Skill 的专属知识库。
Tool(工具) 工具上的特殊配件(如开瓶器) 定义 Skill 可以调用的外部 API 或函数,用于获取数据或执行操作。

Skill 执行流程

  • 从用户指令开始,先进行 Skill 意图识别,决定是否进入受控执行路径。

  • 命中 Skill 后,系统加载 SKILL.md,建立工具权限与行为边界,再结合上下文进行推理。

  • 只有在确实需要时才调用被允许的外部工具,否则在规则内完成逻辑。

  • 最终结果经过约束整合后输出,用户的下一次输入触发新一轮完整流程。


第一个 Skill

让我们暂时忘掉复杂的创建过程,先从 使用一个现成的 Skill 开始,感受它带来的便利。

创建 Skill 目录

Skills 存放在 ~/.claude/skills/(个人全局)或项目目录下的 .claude/skills/(项目专用)。

本章节再项目目录下测试,先创建个目录 claude-test
mkdir claude-test

进入该目录,创建 skills 的目录与文件:

mkdir -p .claude/skills/python-naming-standard

编写配置文件 SKILL.md

在目录下创建 SKILL.md,这是 Skill 的大脑 ,告诉 Claude 什么时候用它。

---
name: Python 内部命名规范技能
description: 当用户要求重构、审查或编写 Python 代码时,请参考此规范。
---

## 指令
1. 所有的内部辅助函数必须以 `_internal_` 前缀命名。
2. 如果发现不符合此规则的代码,请自动提出修改建议。
3. 在执行 `claude commit` 前,必须检查此规范。

## 参考示例
- 正确:`def _internal_calculate_risk():`
- 错误:`def _calculate_risk():`

字段要求:

  • name:必须仅使用小写字母、数字和连字符(最多 64 个字符)
  • description:Skill 的简要描述及其使用时机(最多 1024 个字符)

创建完后文件结构如下:

你的项目现在看起来应该是这样的:

my-project/
├─ src/
│  └─ test.py              # 项目源码
├─ .claude/
│  ├─ skills/
│  │  └─ hello-world/
│  │     ├─ skill.md       # Skill 定义(YAML + Instructions,机器可执行)
│  │     └─ README.md      # Skill 说明(人类阅读,可选)
│  └─ config.yml           # Claude 项目级配置(可选)
├─ .gitignore
└─ README.md               # 项目整体说明

接下来我们再终端执行以下命令启动 Claude Code:

claude

输入任务:

帮我写一个计算用户折扣的函数

Claude 的反应:

它会扫描已安装的 Skills。

发现你的请求涉及 "Python 代码编写",匹配了 python-naming-standard。

它会根据 SKILL.md 中的要求,生成如下代码:

def _internal_get_discount(user_score):
    # 计算逻辑...
    return discount

除了自己编写,你还可以利用 2025 年末发布的 Agent Skills 开放标准:

  • 官方市场:访问 anthropics/skills 仓库下载预设的技能(如:React 优化器、SQL 调优工具)。
  • Skill Creator:你可以对 Claude 说:"帮我把我刚才教你的关于 Docker 的配置逻辑总结成一个 Skill",它会自动在相应目录为你生成文件。