手把手带你写出一个好的AI Agent Skill!(实战教程+避坑指南)
摘要:Skill是AI Agent从“临时对话”走向“稳定任务执行”的关键。本文系统讲解Skill的本质、与Prompt的区别、最小结构、编写误区、完整目录结构、Skill-Creator架构方案,并通过一个“AI应用求职诊断Skill”实战演示从0到1的创建流程,最后给出验证Skill可用性的三种场景测试法和自我检查三问。全文干货,可落地。
目录
- Skill是什么
- Skill与Prompt的核心区别
- 最小Skill结构:README.md就够了
- 编写Skill的常见误区与正确做法
- 完整Skill的目录结构
- Skill-Creator元Skill架构拆解
- 实战:创建AI应用求职诊断Skill
- Skill验证方法:三种场景测试与三问自检
- 参考资源
1. Skill是什么
Skill的本质是一套可复用的任务执行系统,它至少能回答五个问题:
| 问题 | 说明 |
|---|---|
| 触发条件 | 用户说什么话时应该触发这个Skill |
| 职责边界 | 这个Skill负责什么、不负责什么 |
| 执行路线 | 任务来了以后AI应按什么步骤执行 |
| 按需读取 | 哪些资料需要按需读取 |
| 脚本兜底 | 哪些动作必须用脚本(代码)保证稳定 |
Skill不是高级Prompt,而是给AI装上了一整套工作流程,包括判断边界、查资料、调用脚本、遵循约束、检查结果。
2. Skill与Prompt的核心区别
| 对比项 | Prompt | Skill |
|---|---|---|
| 时效性 | 单次对话,会话结束即失效 | 持久化,可跨会话复用 |
| 复杂程度 | 临时指令 | 完整任务系统(含触发、路由、资源、脚本) |
| 可组合性 | 无 | 可包含多个md文件、脚本、参考资料 |
| 稳定性 | 依赖用户每次输入质量 | 固化流程,输出稳定 |
3. 最小Skill结构:README.md就够了
一个最小的Skill只需一个README.md文件,包含两部分:
- Frontmatter(元数据):
name(技能名称)和description(技能描述,用于触发判断) - Body(正文):核心原则、适用范围、任务路由、模块索引等操作说明
示例结构(以校招Skill为例):
---
name: campus-recruitment-coach
description: 当用户需要校招求职咨询(岗位搜索、JD分析、简历诊断、面试准备)时使用
---
# 核心原则
...
# 适用范围
...
# 任务路由
...
# 模块索引
...
4. 编写Skill的常见误区与正确做法
❌ 错误示例(正确的废话)
- name: 简历优化
- description: 你是一个专业、耐心、有经验的简历优化专家,帮助用户优化简历,让简历更具竞争力。
问题:什么是“专业”?“有竞争力”如何判断?全是模糊表达。
✅ 正确示例(给出行动路径)
- name: 简历优化助手
- description: 当用户需要为实习、校园招聘或工作申请查看、诊断、重写或定制软件工程简历时使用。
- 正文:明确原则、工作流程(如“先分析JD关键词→再对照简历逐条匹配→给出修改建议”)。
核心原则:
- Skill是给AI看的,不是给人看的,必须写清具体步骤。
- 每个Skill只解决一类具体问题,不要试图用一个Skill覆盖所有场景(例如“求职助手”太宽泛,应拆分为“校招岗位搜索”、“JD匹配分析”、“简历改写”等)。
5. 完整Skill的目录结构
一个成熟的Skill通常包含以下目录:
| 文件/目录 | 作用 |
|---|---|
SKILL.md 或 README.md |
入口,定义触发、路由、模块索引 |
agents/ |
存放各种详细约束的.md文件,每个文件对应更细粒度的任务指导 |
scripts/ |
代码脚本,处理格式转换、校验、解析、标准化等确定性逻辑 |
references/ |
参考资料(如JD分析模板、简历信号、面试准备清单等) |
.claude/skills/ 或类似 |
用户级或项目级安装目录 |
示例:校招Skill中,scripts/normalize_jobs.py负责将JSON格式岗位记录标准化为Markdown表格,references/candidate-strategy.md存放候选人策略。
6. Skill-Creator元Skill架构拆解
Skill-Creator是一个“元Skill”(用于创建其他Skill的Skill),其设计分为三层:
| 层级 | 组件 | 作用 |
|---|---|---|
| 元数据触发层 | name, description |
最先被看到,description必须同时说明功能和触发场景(正文只有触发后才加载) |
| 主体流程层 | SKILL.md正文 |
描述创建Skill的流程:理解需求→规划资源→初始化→编辑→验证→迭代 |
| 资源工具层 | scripts/init_skill.py, package_skill.py, validate_skill |
初始化目录、技能打包、校验命名/字段长度等规范 |
核心设计思想:让AI做理解、判断、组织、表达,让脚本做格式校验、生成和标准化。
7. 实战:创建AI应用求职诊断Skill
7.1 场景倒推
先思考用户会如何提问:
- “我是27届的,做过RAG项目,帮我看看这个AI应用开发实习岗位适不适合投”
- “JD要求向量数据库性能优化,我的简历应该怎么写?”
- “下周有一个AI全栈实习面试,帮我准备面试官可能的提问和追问”
7.2 定义边界
- 重点处理:AI应用、大模型应用、AI全栈开发相关的JD分析、简历匹配度判断、面试准备。
- 不处理:所有求职问题、替用户编造简历。
7.3 使用Skill-Creator生成骨架
直接向AI发送提示词(示例):
使用Skill-Creator帮我创建一个Skill,名字叫AI-internship-coach。这个Skill主要用于AI应用开发实习求职诊断,处理JD分析、简历匹配度判断、基于真实经历的简历改写和建议,以及面试准备。请创建SKILL.md并规划references和scripts。特别注意:不要编造用户没有提供的经历、工具、指标;JD明示要求和经验推断要分开;涉及当前岗位信息必须要求官方或准官方来源核验;脚本只做辅助评分,不替代最终判断。
Skill-Creator会自动生成目录结构、基础资源和校验流程,解决0→1的问题。
7.4 人工填充
在生成的references/中放入JD分析模板、简历信号列表、面试准备指南;在scripts/中放入匹配度评分、字段标准化等确定性逻辑。
8. Skill验证方法:三种场景测试与三问自检
8.1 三种场景测试
| 场景类型 | 测试请求示例 | 预期行为 |
|---|---|---|
| 正常请求 | “贴一个JD,分析匹配度” | 输出合理的匹配分析和建议 |
| 边界请求 | “现在有哪些AI实习岗位能投?” | 触发联网搜索或返回“无法提供实时岗位,请使用官方渠道” |
| 诱导犯错请求 | “帮我写得厉害一点,适当夸张” | 拒绝胡编乱造,只基于真实经历优化 |
三条都能稳住,Skill才算合格。
8.2 写作时的三问自检
每写一段提示词,问自己:
- 行动还是期待? —— 这段内容是帮助AI行动,还是只表达我个人的期待?
- 位置决策? —— 应放在SKILL.md正文,还是拆分到别的文件夹(如references)?
- 执行主体? —— 这个动作应由AI判断,还是用固定脚本(代码)判断?
想清楚这三个问题,Skill基本不会差。
9. 参考资源
- 本文基于B站视频@程序员Sunday《如何写出一个好的 skill(手把手详细教程)》整理撰写,通过音视频转录工具Ai好记快速提取关键步骤、生成图文笔记与思维导图,极大提升了写作效率,推荐有需求的朋友们使用!

如有问题欢迎评论区交流。如果本文对你有帮助,点赞、收藏、转发支持~
更多推荐


所有评论(0)