跳到主要内容

Agent Skill 介绍

Agent Skill 是一种让 AI 助手获得特定能力的开放标准。它将 AI 的能力从临时的"提示词"升级为永久、可复用、可共享的技能模块,就像给 AI 安装"插件"一样,让它能够专业地处理特定类型的任务。

官方资源

本文档基于 Agent Skills 开放标准 和 Anthropic 官方指南编写。

什么是 Agent Skill?​

Agent Skill(智能体技能)本质上是一个包含指令文件的文件夹,用于教会 AI 如何处理特定任务或工作流程。它的核心理念是:一次编写,到处运行。

传统方式 vs Agent Skill​

在没有 Agent Skill 之前,每次需要 AI 执行特定任务时,你都需要:

用户:请帮我写一个 Python 函数,要求:
1. 使用类型注解
2. 包含文档字符串
3. 遵循 PEP 8 规范
4. 添加单元测试
...(每次都要重复这些要求)

有了 Agent Skill 之后:

用户:请用 python-best-practices skill 写一个排序函数
AI:(自动应用预定义的规范,输出符合要求的代码)

Agent Skill 解决的问题​

问题传统方式Agent Skill 方式
重复说明每次都要详细描述需求一次定义,多次复用
一致性不同对话可能产生不同风格统一的输出标准
知识沉淀难以积累最佳实践可打包分享的专业技能
Token 消耗每次都要发送完整指令按需加载,节省成本

Agent Skill 与其他技术的关系​

与 MCP 的对比​

Agent Skill 和 MCP(Model Context Protocol)都是开放标准,但它们解决不同层面的问题:

特性Agent SkillMCP
核心功能教 AI 如何执行任务让 AI 访问外部资源
侧重点知识和工作流程数据源和工具连接
内容形式Markdown 指令文件JSON-RPC 协议服务
使用场景代码审查、文档生成、测试编写数据库查询、API 调用、文件系统访问
类比提供"脑"(专业知识)提供"手"(访问能力)

何时使用 Agent Skill?​

  • 你想让 AI 遵循特定的工作流程
  • 你需要封装团队的最佳实践
  • 你希望 AI 在特定领域表现得更专业
  • 你想复用和分享专业知识

何时使用 MCP?​

  • 你需要连接数据库、API 或文件系统
  • 你想让 AI 访问实时数据
  • 你需要执行系统命令或调用外部服务
  • 你要集成现有的工具链

协同工作​

两者可以协同使用:MCP 提供数据和工具访问能力,Agent Skill 提供专业知识指导。例如:

  • MCP 连接数据库 → Agent Skill 指导数据分析 → 输出专业报告
  • MCP 访问代码仓库 → Agent Skill 执行代码审查 → 生成审查报告
  • MCP 调用 CI/CD API → Agent Skill 编写部署流程 → 执行部署

与 CLAUDE.md 的区别​

CLAUDE.md 是项目级上下文文件,包含项目特定的约定和知识。它与 Agent Skill 的区别:

特性CLAUDE.mdAgent Skill
作用范围单个项目可跨项目复用
加载方式始终加载按需激活
适用场景项目约定、编码规范可复用的工作流程
分发方式提交到代码仓库可独立分发和共享

如何选择使用哪个?

  • 使用 CLAUDE.md 当你需要:定义项目特定的编码规范、说明项目结构、记录团队约定。这些内容在项目的每次对话中都需要被知道。

  • 使用 Agent Skill 当你需要:封装可复用的工作流程、创建可以在多个项目中使用的专业技能、分享给团队或社区的专业知识。

协同使用示例:

CLAUDE.md 内容:
- 本项目使用 Python 3.11
- 数据库连接配置在 config/database.py
- API 密钥存储在环境变量中

Agent Skill (python-code-reviewer) 内容:
- 如何进行专业的代码审查
- 检查清单和最佳实践
- 输出格式规范

CLAUDE.md 提供项目上下文,Skill 提供专业知识,两者配合使用效果最佳。

与 Subagents 的关系​

Subagents(子代理)是独立运行的代理实例,可以执行特定任务。Agent Skill 可以配置为在子代理中运行:

  • 内联执行:Skill 内容直接注入到当前对话
  • 子代理执行:Skill 在隔离的子代理中运行,完成后返回结果

子代理执行适合需要隔离上下文的复杂任务,如大规模代码分析、长时间运行的批处理等。

核心特性​

1. 开放标准​

2025 年 12 月,Anthropic 将 Agent Skills 发布为开放标准,这意味着:

  • 跨平台兼容:同一个 Skill 可以在 Claude Code、OpenAI Codex、Cursor、Gemini CLI 等多种工具中使用
  • 社区共享:开发者可以创建和分享自己的 Skills
  • 标准化格式:遵循统一的规范,确保互操作性
  • GitHub 生态:官方维护 skills-ref 验证库和示例 Skills 仓库

2. 按需加载​

Skills 只在真正需要时才会被调用,这带来两个好处:

  • 节省 Token:不会在每次对话中都加载所有指令
  • 精准触发:通过 description 字段精确控制触发时机

3. 可组合性​

多个 Skills 可以协同工作,构建复杂的工作流:

Skill 1: 代码格式化 → Skill 2: 语法检查 → Skill 3: 单元测试生成

核心价值​

Agent Skills 的核心价值在于将 AI 的能力从"临时提示"升级为"可复用的专业技能"。

为什么需要 Skills?​

当你与 AI 助手协作时,可能会遇到这些问题:

问题一:重复说明

每次都要详细描述你的需求:"请用 Python 写一个函数,要有类型注解,要有文档字符串,要遵循 PEP 8 规范..." 这些重复的说明消耗时间和精力。

问题二:不一致的输出

同一个任务,不同对话可能产生不同风格的输出。今天 AI 用 Google 风格的 docstring,明天可能用 NumPy 风格。

问题三:知识难以积累

你发现 AI 在某个任务上表现出色,总结了一套方法,但下次对话又要重新教它。

问题四:难以分享最佳实践

你的团队有一套编码规范,但很难让每个成员在与 AI 协作时都保持一致。

Agent Skills 解决了这些问题:一次定义,处处复用。你把专业知识写进 SKILL.md,AI 就能在需要时自动应用。

Skills 的核心特性​

自描述性:SKILL.md 文件本身就可读,任何人都能理解这个 Skill 做什么。这使得 Skills 易于审计、改进和维护。

可扩展性:从简单的文本指令到包含脚本、模板、参考文档的复杂技能包,Skills 可以根据需求灵活扩展。

可移植性:Skills 只是文件,所以容易编辑、版本控制、分享。一个在 Claude Code 中创建的 Skill 可以直接在 OpenAI Codex、Cursor、Windsurf 等工具中使用。

应用场景​

软件开发​

  • 代码审查:自动检查代码质量、安全漏洞
  • 文档生成:按照团队规范生成 API 文档
  • 测试编写:自动生成单元测试和集成测试

内容创作​

  • 技术写作:遵循特定风格指南
  • 翻译校对:保持术语一致性
  • SEO 优化:检查关键词密度和结构

数据分析​

  • 报告生成:统一的数据可视化风格
  • 代码规范:确保分析脚本的可维护性
  • 结果解读:专业的数据解读框架

DevOps​

  • CI/CD 配置:标准化的流水线模板
  • 监控告警:规范的告警规则编写
  • 日志分析:统一的日志解析方法

快速预览​

一个最简单的 Skill 结构如下:

my-skill/
└── SKILL.md

SKILL.md 文件内容:

---
name: "code-reviewer"
description: "审查代码质量、发现潜在问题。当用户请求代码审查或提交代码时触发。"
---

# 代码审查专家

你是一位专业的代码审查员。在审查代码时,请关注:

## 审查范围

1. **代码质量**:检查命名规范、代码结构
2. **潜在问题**:发现可能的 bug 和安全隐患
3. **性能优化**:识别性能瓶颈
4. **最佳实践**:提供改进建议

## 输出格式

- 问题列表(按严重程度排序)
- 具体改进建议
- 总体评价

这就是创建一个 Skill 所需的全部内容。安装后,AI 会根据 description 自动判断何时使用这个 Skill。

渐进式披露机制​

Agent Skills 采用渐进式披露(Progressive Disclosure)策略来高效管理上下文,这是其核心设计理念之一。

三层加载机制​

层级加载内容加载时机Token 消耗
1. 元数据name + description会话启动时,加载所有 Skills每个 Skill 约 50-100 tokens
2. 指令完整 SKILL.md 正文Skill 被激活时建议 < 5000 tokens
3. 资源scripts、references、assets指令明确引用时按需加载

为什么这样设计?​

传统方式需要在每次对话中都包含完整的指令,导致大量 Token 浪费。渐进式披露让 Agent 只在真正需要时才加载完整内容:

  • 会话启动:只加载所有 Skill 的 name 和 description,建立"技能目录"
  • 任务匹配:当用户任务与某个 Skill 的 description 匹配时,才激活该 Skill
  • 按需深入:只有当指令明确引用 scripts/ 或 references/ 中的文件时,才加载这些资源

这种设计使得即使安装了数十个 Skills,也不会显著影响初始上下文大小。

发展历程​

Agent Skills 格式最初由 Anthropic 开发,随后发布为开放标准,并被越来越多的 AI 编程工具采用。

里程碑说明
标准创立Anthropic 开发并发布 Agent Skills 开放标准
官方规范agentskills.io 成为官方规范网站
广泛采用Claude Code、OpenAI Codex、Cursor、Windsurf、Gemini CLI 等主流工具支持
生态发展社区涌现大量共享 Skills,形成跨平台生态
开放标准

Agent Skills 是真正的开放标准,任何 AI 工具都可以实现支持。规范完全公开在 agentskills.io,包含完整的格式定义、最佳实践和客户端实现指南。

学习路径​

本教程将带你从零开始掌握 Agent Skill:

  1. 文件结构:了解 Skill 的组成部分和规范要求
  2. 编写 Skills:学习如何创建高质量的 Skill
  3. 最佳实践:掌握 Skill 设计的核心原则
  4. 实战案例:通过真实案例加深理解
  5. 工具支持:了解各平台的使用方法
  6. 评估质量:系统化评估和优化 Skill
  7. 调试技巧:解决常见问题和优化 Skill

准备好开始了吗?让我们从 文件结构 开始。