今天在 GitHub Trending 上看到一个有意思的项目:Agent Skills,一个让 AI Agent 获得可插拔专业能力的开放标准。它将技能封装为包含 SKILL.md 的文件夹,Agent 按需加载,实现了知识与工具的模块化复用。
一、项目概述
Agent Skills 起源于 Anthropic,最初是给 Claude 等 AI Agent 扩展能力的一种规范,现已演进为开放的行业标准。其核心理念很简单:技能即文件夹,SKILL.md 即能力说明。
一个标准 Skill 的结构如下:
my-skill/
├── SKILL.md # 必选:元数据 + 操作指令
├── scripts/ # 可选:可执行代码
├── references/ # 可选:参考资料
├── assets/ # 可选:模板、资源
└── ...
该格式已被众多 AI 工具和 Agent 客户端支持,包括 OpenClaw、Claude Code 等。这意味着你在一个平台编写的 Skill,可以无缝迁移到另一个平台使用。
Agent Skills 解决的核心问题:
- 领域专长缺失:通用 Agent 缺乏垂直行业的专业知识,Skill 将专家知识打包成可复用的指令集
- 工作流不一致:将多步骤任务固化为标准流程,保证执行的一致性和可审计性
- 跨产品复用难:Skill 以文件夹为单位版本化管理,一次编写,任意兼容平台加载
二、技术原理
渐进式披露(Progressive Disclosure)
Agent Skills 的加载机制采用渐进式披露策略,分三阶段进行:
1. Discovery(发现阶段)
Agent 启动时只加载每个 Skill 的 name 和 description,无需读取完整内容就知道什么时候该调用哪个 Skill。这个阶段上下文占用极小。
2. Activation(激活阶段)
当任务描述匹配某个 Skill 的 description 时,Agent 读取完整的 SKILL.md 内容,将其加载到当前对话上下文中。此时 Skill 的所有指令、脚本路径、参考资料路径均可被访问。
3. Execution(执行阶段)
Agent 遵循 SKILL.md 中的指令执行任务,必要时调用 scripts/ 目录下的脚本或读取 references/ 中的参考文档。
这一机制背后的设计哲学是:不要让 Agent 记住所有技能,只需让它知道"技能在哪里、需要时能获取"。
SKILL.md 规范
SKILL.md 是 Skill 的核心,至少包含以下字段:
---
name: skill-name
description: 技能描述(用于 Agent 匹配)
---
# 技能名称
## 触发条件
什么情况下调用此技能?
## 操作步骤
1. 第一步
2. 第二步
...
## 注意事项
常见陷阱和最佳实践
Anthropic 官方在 GitHub/anthropics/skills 仓库中提供了大量示例 Skill,涵盖代码审查、文档生成、数据分析等多个领域。
多客户端支持
Agent Skills 的客户端列表(agentskills.io/clients)涵盖了主流的 AI 工具。这种开放性是该标准最重要的竞争优势——它不依附于任何单一厂商,而是以协作文档和开放规范为核心,形成生态系统。
三、安装与快速开始
环境要求
- 支持 SKILL.md 解析的 AI Agent 客户端(如 OpenClaw、Claude Code 等)
- 可选:
scripts/目录下脚本所需的运行时环境(Node.js、Python3 等)
创建你的第一个 Skill
Step 1: 在 Skill 目录下创建文件夹
mkdir -p ~/my-first-skill
Step 2: 创建 SKILL.md
---
name: code-review
description: 对提交代码进行系统性审查,输出结构化评审意见
---
# 代码审查技能
## 触发条件
用户发送代码片段、PR 链接或仓库地址并要求"review"或"审查"。
## 审查流程
### 1. 理解代码意图
- 阅读代码整体结构
- 确认核心逻辑和数据流
### 2. 质量检查
- 检查命名规范
- 检查是否有潜在 bug(空指针、内存泄漏、并发问题)
- 检查错误处理是否完善
### 3. 输出评审报告
按以下格式输出:
✅ 优点
- …
⚠️ 改进建议
- …
🔴 严重问题
- …
Step 3: 在 Agent 客户端中加载
将 Skill 文件夹路径注册到 Agent 客户端配置中,即可开始使用。
四、使用方法与进阶
基础用法
最直接的使用方式是将专业领域的标准操作流程打包成 Skill。例如法律团队可以将合同审查流程写成 Skill,产品团队可以将需求分析流程写成 Skill。
进阶:带脚本的 Skill
Skill 不仅仅是文本指令,还可以嵌入可执行脚本:
legal-review/
├── SKILL.md
├── scripts/
│ ├── extract_clauses.py # 从 PDF 提取合同条款
│ └── check_compliance.sh # 合规性检查
└── references/
└── clause_templates.md # 条款模板参考
Agent 在执行过程中可调用这些脚本,实现指令 + 代码的混合能力扩展。
Skill 组合
多个 Skill 可以协同工作,形成更复杂的 Agent 工作流。例如:
research-skill→ 收集行业信息write-outline-skill→ 生成文章大纲write-article-skill→ 撰写完整文章
这三个 Skill 组合在一起,就构成了一个完整的 AI 写作流水线。
五、常见问题与解决方案
Q1:Skill 的 description 应该如何写才能被准确触发?
A:description 应当描述使用场景而非功能列表。例如 “帮我写合同” 而非 “合同生成器”。Agent 通过自然语言匹配来决定是否激活 Skill,场景化的描述更易被触发。
Q2:一个 Skill 太大,超过了 Agent 的上下文限制怎么办?
A:将 Skill 拆分为多个子 Skill,通过渐进式激活来使用。另外,references/ 目录下的文档不会直接加载到上下文中,只有执行时按需读取,不会占用上下文空间。
Q3:不同客户端的 Skill 格式不完全兼容怎么办? A:Anthropic 维护的 Agent Skills 规范 是参考标准,各客户端应尽量遵循。当前主流客户端的兼容性较好,建议在选用前查阅客户端的 Skill 支持说明。
Q4:如何管理 Skill 的版本? A:由于 Skill 本质上是文件夹,推荐使用 Git 进行版本管理。将 Skill 仓库化,每次更新通过 PR 审查,可以保证 Skill 质量并追踪变更历史。
六、总结
Agent Skills 代表了一种 AI 能力扩展的新范式:从"把所有知识塞进模型"转向"把知识存在外部,按需加载"。这种解耦思路让专业知识的积累不再依赖于模型重训练,而是通过 Skill 的编写、分享和复用来完成。
对于个人用户,它可以让你把重复性的复杂任务固化为可信赖的 Skill;对于团队,它可以沉淀集体智慧,形成组织级的 AI 工作流。标准是开放的,生态是丰富的——这是 Agent Skills 最值得关注的地方。
如果你有想让 AI 完成的特定任务,不妨先思考:能否把它写成一份 SKILL.md?
项目地址:https://github.com/agentskills/agentskills
官方网站:https://agentskills.io