从零讲清楚AI Agent Skill是什么、怎么构成、如何开发,附完整案例剖析。Claude Code、Copilot、Cursor都在用的开放标准

AI智能体的"技能"到底是个啥?一篇讲透原理、规范和开发方法
你可能听过 Claude Code、GitHub Copilot、Cursor、Gemini CLI 这些 AI 编程助手。但你可能不知道——它们背后有一套通用的"技能系统",叫做 Agent Skills。
这套标准已经被 20 多个主流 AI Agent 采纳,相当于 AI 界的"USB接口":只要你的技能符合规范,就能在任何支持它的 Agent 上跑。
今天咱们就从零讲清楚:AI 智能体的"技能"是什么、怎么构成的、怎么开发一个。
一、先理解:AI Agent 为什么需要"技能"?
大模型(LLM)就像一个百科全书式的大学生:知识面很广,但动手能力为零。
你让他帮你搜论文?他不知道去哪个网站搜。 你让他做一份带目录的 Word 报告?他不知道怎么操作 Word。 你让他同时发微信公众号和今日头条?他连登录都不会。
技能,就是给这个"大学生"装上"专业工具包"——让他从"什么都知道一点"变成"某些活干得特别专业"。
用一句话总结:Skill = 告诉 AI 在什么场景下、用什么工具、按什么步骤、完成什么任务。
二、Skill 的构成:一个文件夹,一份说明书
Agent Skills 的规范非常简洁——一个文件夹,核心就是一个 SKILL.md 文件。
目录结构
my-skill/ ← 技能文件夹(名字就是技能名)
├── SKILL.md ← 必需:元数据 + 使用说明
├── scripts/ ← 可选:可执行脚本
├── references/ ← 可选:详细参考文档
└── assets/ ← 可选:模板、图片等资源
就这么简单。唯一必须的是 SKILL.md,其他都是可选的。
SKILL.md 的结构
---
name: pdf-processing
description: 从PDF提取文字和表格、填表、合并文件。当用户提到PDF、表格提取、文档合并时使用。
license: Apache-2.0
metadata:
author: my-team
version: "1.0"
---
# PDF 处理技能
## 使用场景
用户提到 PDF 相关操作时激活。
## 操作步骤
1. 读取文件:使用 scripts/extract.py
2. 解析内容:按页提取文字和表格
3. 输出结果:生成结构化 Markdown
## 注意事项
- 加密的 PDF 需要先解密
- 超过 100 页的 PDF 分批处理
你看到了吗?上半部分是"身份证"(YAML 元数据),下半部分是"操作手册"(Markdown 说明)。
元数据字段解读
| 字段 | 必填? | 作用 |
|---|---|---|
name |
✅ 必填 | 技能名称,只能小写字母+数字+连字符,如 pdf-processing |
description |
✅ 必填 | 描述"做什么+什么时候用",AI 靠它判断该不该激活 |
license |
可选 | 开源协议 |
compatibility |
可选 | 环境要求(如"需要 Python 3.14+") |
metadata |
可选 | 自定义键值对(作者、版本等) |
allowed-tools |
可选 | 预授权的工具列表(实验性功能) |
其中 description 是最关键的——写得越具体,AI 就越能准确判断"什么时候该用这个技能"。
❌ 差的写法:"Helps with PDFs."
✅ 好的写法:"从PDF提取文字和表格、填表、合并文件。当用户提到PDF、表格提取、文档合并时使用。"
三、原理:AI 是怎么"学会"用技能的?
这里有个很巧妙的设计,叫做**"渐进式加载"**:
启动阶段(约100 token):AI 只加载所有技能的 name+description,就像浏览菜单,只看菜名激活阶段(<5000 token):当 AI 判断需要某个技能时,才加载完整的 SKILL.md 正文,相当于翻开菜谱 执行阶段(按需):需要用到脚本或参考文档时,才读取 scripts/、references/里的文件
这样设计的好处:AI 不用一次性加载所有技能的详细内容,省内存、省 token、响应更快。
整个流程就像你去餐厅——先看菜单点菜(加载元数据),选定后厨师才去拿食材(加载详情),需要特殊调料才去仓库取(加载脚本/文档)。
四、实战案例:从零开发一个"学术搜索"技能
咱们用真实案例走一遍完整流程。这个技能叫 academic-research,功能是帮用户在学术数据库里搜论文。
第1步:定义问题
目标:当用户说"帮我查论文""搜一下某某方向的研究"时,AI 能自动打开学术数据库、用关键词搜索、返回结构化结果。
关键需求:
支持关键词搜索 返回标题、作者、年份、DOI 不编造任何文献
第2步:创建目录结构
academic-research/
├── SKILL.md ← 技能说明书
└── scripts/
├── scholar-search.py ← 搜索脚本
└── literature-review.py ← 文献综述脚本
第3步:编写 SKILL.md
这是最核心的部分。咱们逐块写:
元数据:
---
name: academic-research
description: 在 OpenAlex 学术数据库(2.5亿+论文)中搜索学术文献。当用户提到搜论文、查文献、文献综述、引用分析时使用。
---
注意 description 里写了**"什么时候用"**(搜论文、查文献、文献综述、引用分析),这让 AI 能精准判断触发时机。
使用说明:
# 学术研究技能
## 什么时候用
- 用户要搜论文、查文献
- 用户要做文献综述
- 用户查某个DOI的论文
## 怎么用
### 搜索论文
python3 scripts/scholar-search.py search "关键词" --limit 10
### 按作者搜索
python3 scripts/scholar-search.py author "作者名" --limit 5
### 查DOI
python3 scripts/scholar-search.py doi "10.1038/xxxxx"
## ⚠️ 关键规则
1. 所有文献必须来自检索结果,严禁编造
2. 每篇必须核实:标题、作者、年份、DOI
3. 检索不足时如实告知,不填充假数据
为什么这样写?
"什么时候用":帮 AI 做触发判断 "怎么用":给 AI 可直接执行的命令 "关键规则":设红线,防止 AI 胡编
第4步:开发脚本
scripts/scholar-search.py 是真正干活的程序。它调用 OpenAlex 的免费 API(不需要 API Key),核心逻辑大约 100 行 Python:
import requests, sys, json
BASE = "https://api.openalex.org/works"
def search(query, limit=10):
params = {"search": query, "per_page": limit, "sort": "relevance_score:desc"}
r = requests.get(BASE, params=params)
results = r.json().get("results", [])
for i, w in enumerate(results, 1):
title = w.get("title", "N/A")
year = w.get("publication_year", "N/A")
doi = w.get("doi", "N/A")
authors = ", ".join(a["author"]["display_name"]
for a in w.get("authorships", [])[:3])
print(f"{i}. {title} ({year})")
print(f" Authors: {authors}")
print(f" DOI: {doi}")
print()
if __name__ == "__main__":
# 命令行参数解析...
search(query, limit)
第5步:测试验证
# 测试搜索
python3 scripts/scholar-search.py search "transformer" --limit 3
# 验证输出
# 1. Attention Is All You Need (2017)
# Authors: Ashish Vaswani, Noam Shazeer, Niki Parmar
# DOI: 10.48550/arxiv.1706.03762
如果输出正确,技能就开发完成了。
第6步:安装使用
# 安装到工作区
cp -r academic-research/ ~/.openclaw/workspace/skills/
# AI 自动识别——下次用户说"帮我查论文"时,自动激活
五、这套标准为什么重要?
你可能觉得:不就是一个 Markdown 文件嘛,有什么了不起?
了不起的地方在于它是跨平台通用的。
agentskills.io 已经成为 AI Agent 界的"USB 标准"——你写的一个技能,可以在以下所有平台上跑:
| 平台 | 类型 |
|---|---|
| Claude Code | Anthropic 官方编程 Agent |
| GitHub Copilot | 微软/VS Code 内置 AI |
| Cursor | AI 代码编辑器 |
| Gemini CLI | Google 终端 AI |
| OpenAI Codex | OpenAI 编程 Agent |
| OpenClaw | 开源多通道 Agent |
| OpenHands | 云端 Agent 平台 |
| Goose | Block 开源 Agent |
写一次,处处可用——这跟当年 USB 统一了各种接口的逻辑一模一样。
六、写好 Skill 的3个黄金法则
法则一:description 要具体。把"什么时候用"写清楚,AI 才不会在错误的场景激活你的技能。
法则二:SKILL.md 别写太长。控制在 500 行以内,详细内容放到 references/ 目录。AI 按"菜单→菜谱→仓库"的顺序加载,太长会浪费 token。
法则三:设红线。把"绝对不能做的事"写进 SKILL.md(如"严禁编造文献""禁止删除文件"),比事后补救强一万倍。
写在最后
AI 技能开发,本质上就是把你的专业经验翻译成 AI 能看懂、能执行的说明书。
你不需要是顶级程序员——很多优秀的 Skill 就是一个 SKILL.md 加一个几十行的 Python 脚本。
你需要的只是:清楚地知道一件事该怎么做,然后把它写下来。
20 多个主流 AI Agent 已经统一了技能标准。下一个好用的技能包,可能就出自你手。
👉 想了解更多?访问 agentskills.io[1] 查看完整规范和示例。
你觉得 AI 技能还能用在哪些场景?评论区聊聊👇
引用链接
[1]agentskills.io: https://agentskills.io
夜雨聆风