AI Agent Skills实战教程:从原理到上手编写SKILL.md

AI Agent Skills实战教程:从原理到上手编写SKILL.md

摘要

传统复制粘贴 Prompt 复用效率低、Token 开销大。Skills 是面向 AI 智能体的模块化能力封装,以 SKILL.md 为核心,采用 YAML 元数据 + Markdown 指令,实现按需渐进加载,把业务 SOP 沉淀为可自动触发、跨项目复用的 AI 技能包。本文讲解 Skills 背景概念、核心结构、字段规范、目录组织、完整示例以及避坑实践,帮助你快速上手编写自己的 Skill。

0. 前言:为什么需要Skills

日常使用大模型时,经常遇到这些痛点:

日常使用大模型时,经常遇到这些痛点:

痛点 具体表现
重复输入 复杂任务每次都要复制一大段 Prompt,容易遗漏条件
Token 消耗高 Prompt 全部塞进上下文,长对话容易被遗忘
规范难沉淀 团队内部 SOP、业务规范难以统一,每个人写出来结果不一致
共享困难 不同项目之间的提示逻辑无法便捷共享与版本维护

✨关键特性:按需、渐进式加载

系统启动只加载Skill简短元数据(name+description);只有判断任务匹配后,才读取完整SKILL.md正文,大幅节省上下文Token,解决长Prompt臃肿的问题。

Skills vs 普通Prompt对比表

对比项 普通Prompt Skills机制
使用方式 每次对话粘贴输入 编写一次,自动匹配触发
Token消耗 全部内容一次性载入 仅匹配成功才加载完整指令
复用能力 手动复制粘贴 项目/全局目录存放,可共享分发
维护修改 每个对话重新写 修改SKILL.md文件,全部地方即时生效
输出一致性 依赖单次提示词质量 固定SOP,输出稳定可控

1. Skill整体架构

一个Skill就是独立文件夹 + SKILL.md主文件SKILL.md是强制必需文件,其余脚本、模板、参考资料全部为可选资源。

基础最简目录:

复制代码
my-skill/
└── SKILL.md  # 唯一必需文件

完整推荐工程目录:

复制代码
my-skill/
├── SKILL.md          # ✅必须:YAML元数据 + AI执行指令
├── scripts/          # 可选:存放可执行脚本(python/shell)
├── references/       # 可选:详细参考文档、业务规范
└── assets/           # 可选:模板、静态资源文件

各目录职责说明:

目录 作用 说明
scripts/ 存放自动化脚本 SKILL.md 内通过相对路径引用
references/ 存放大段参考文档 避免把全部资料塞进 SKILL.md 造成臃肿
assets/ 存放静态资源 报告模板、docx/markdown 模板、配置文件等
SKILL.md分为两大部分:
SKILL.md 分为两大部分:
部分 作用 加载时机
YAML Frontmatter 头部元数据 Skill 的身份证,决定 AI 能否识别、触发该技能 系统启动即读取
Markdown 正文 给 AI 看的执行步骤、使用指引、示例 触发匹配成功后才加载
yaml 复制代码
---
name: csv-data-analyze
description: 当用户上传csv表格,需要做数据探索、统计、可视化分析时使用,支持数据清洗、统计指标输出、绘图。
license: MIT
compatibility: "Claude Code、Agent运行环境"
metadata:
  author: demo
  version: "1.0.0"
---
字段 是否必填 约束与说明
name ✅是 唯一标识符;kebab‑case短横线命名;仅小写字母、数字、-;最多64字符;不能以连字符开头结尾;建议动名词,和文件夹同名,供斜杠命令调用。示例:pdf‑processing
description ✅是 最重要字段,最多1024字符;必须写两件事:①这个Skill能干什么;②什么场景触发。只有元数据里的描述会参与预匹配;正文里写的触发条件AI看不到!
license ❌否 开源协议
compatibility ❌否 写明兼容Agent环境、依赖包、权限要求
metadata ❌否 自定义键值,版本号、作者等扩展信息

⚠️高频踩坑:触发条件不要只写在Markdown正文##使用场景中。AI判断要不要启用Skill,只会读取Frontmatter的description,正文只有匹配后才会载入上下文,写正文里不会触发!

✅好示例description

复制代码
description: >
处理PDF文档,提取文本表格、合并拆分PDF。当用户提到pdf、提取表格、合并文档、pdf表单填充时触发。

❌差示例(太笼统,容易误触发)

复制代码
description: PDF工具,处理文件。

name命名规范:

✅推荐:pdf-processingcsv-data-analyze(动名词,短横线小写)

❌禁止:PdfTool大写、pdf tool空格、pdf_tool下划线、tool过于模糊名称。

2.2 Markdown正文(指令部分)

Frontmatter结束后,写Markdown,用来告诉AI具体执行步骤,推荐划分模块:

Frontmatter 结束后,写 Markdown 用来告诉 AI 具体执行步骤,推荐划分以下模块:

模块 作用
## 使用场景 进一步细化适用、不适用场景
## 使用指引 分步骤、逐条的行为指令
## 输出规范 约束输出格式
## 示例 输入输出样例,帮助 AI 理解用法
markdown 复制代码
---
name: pdf-processing
description: 对PDF文档操作,提取文本表格,合并拆分PDF,填充表单;用户提到pdf、提取表格、合并pdf、pdf表单填充触发本技能。
metadata:
  version: "1.0"
  author: demo
---

# PDF文档处理技能
## 使用场景
### 适用
1. 提取PDF文本、表格内容
2. 多个PDF文件合并、拆分
3. PDF表单字段填充生成新文档

### 不适用
1. PDF图片OCR识别扫描件(需要额外OCR工具)
2. PDF密码解密

## 使用指引
1. 如果是扫描版PDF,告知用户需要OCR工具协助;
2. 提取表格优先调用pdfplumber工具读取;
3. 合并PDF按用户指定顺序拼接;
4. 输出结果告知用户生成文件路径。

## 输出格式
- 提取表格输出markdown表格;
- 文件操作结束打印执行摘要。

## 使用示例
- 用户指令:提取报告.pdf的表格
- 用户指令:把a.pdf、b.pdf合并输出all.pdf

最小可用SKILL.md(最少代码跑通)

markdown 复制代码
---
name: demo-skill
description: 演示技能,用户需要简单文本格式化的时候触发。
---
# Demo技能
## 使用指引
将用户输入文本按段落整理,去掉多余空行。

3. Skill存放位置

分两种部署模式:

  1. 全局Skill :存放于 ~/.claude/skills/,本机所有项目都可以使用;
  2. 项目局部Skill :项目目录下 .claude/skills/,仅当前项目生效,适合团队业务SOP沉淀。

创建目录示例(终端)

bash 复制代码
mkdir -p .claude/skills/pdf-processing
# 在这个文件夹创建SKILL.md文件

4. 编写Skill最佳实践&避坑清单

  1. 单一职责原则:一个Skill只做一类事情,不要把PDF处理+数据分析+代码审查全部塞在同一个Skill,拆分成多个小Skill,提升触发准确率。
  2. description必须写清楚:能力 + 触发关键词;不要笼统描述。
  3. 大段参考资料不要全部写进SKILL.md,放到references/文件夹,通过相对路径引用,控制主文件token大小。
  4. scripts脚本放单独目录,SKILL.md中只写调用指引,不粘贴大段代码。
  5. name严格遵循kebab‑case小写+短横线命名,文件夹名与name完全一致。
  6. 区分「适用场景」与「不适用场景」,减少误触发。
  7. 多写输入输出示例,示例可以显著提升AI执行准确率。

常见问题

Q:为什么写好了Skill,AI不会自动调用?

A:优先检查Frontmatter的description,是否写清楚触发关键词;name命名是否规范;确认Skill文件夹路径放置正确。

Q:Skill会不会占用大量token?

A:不会。系统只预加载简短元数据,只有语义匹配成功,才加载完整Markdown指令,实现按需加载。

Q:Skill和MCP工具区别?

Skill侧重业务流程、SOP、提示指令,纯文件;MCP偏向外部API、服务器工具调用,需要服务运行,两者可以配合使用。

5. 总结

Skills把口头的业务SOP转化成标准化文件,解决传统Prompt难以维护、Token开销大、复用困难的痛点。核心就三件事:

  1. 创建文件夹,固定文件名SKILL.md
  2. 顶部YAML填写必填namedescription,写清楚"做什么,什么时候触发";
  3. Markdown正文编写分步指令与示例,按需补充scripts、references、assets资源。

写好Skill之后,即可实现AI自动识别任务、自动加载对应工作流,适合个人提效、团队沉淀业务规范。

参考文档:https://www.runoob.com/skills/skills-structure.html

相关推荐
科技拓维者20 分钟前
宠物智能硬件AI公司:哪些企业具备真正的AI赋能能力?
人工智能·智能硬件·宠物
Java小白笔记24 分钟前
AI Agent-CLI 的启动命令与跳过权限模式
人工智能·ai·ai编程
dunge202627 分钟前
ChatGPT Plus / Pro + Codex 实战指南(2026-08-28):从零搭建 AI 编程工作流
人工智能·chatgpt
2601_9672642831 分钟前
【2026最新】ComfyUI AI系统陪跑课
人工智能
Huazhongzhanhui36 分钟前
从柔性裁切到模内装饰!2026武汉国际汽车内外饰展会定档九月
人工智能
萝萝仔41 分钟前
02.人工智能训练师三级是什么?谁适合考?考了有什么用?
人工智能·深度学习·机器学习·ai·云计算
在学了加油42 分钟前
阿尔茨海默病诊断(优化特征选择版)
人工智能·python·dnn
水管在开花.1 小时前
Agent范式与LangGraph-②零基础保姆级教程
人工智能·面试·langchain·agent