摘要:Skill是AI Agent从“临时对话”走向“稳定任务执行”的关键。本文系统讲解Skill的本质、与Prompt的区别、最小结构、编写误区、完整目录结构、Skill-Creator架构方案,并通过一个“AI应用求职诊断Skill”实战演示从0到1的创建流程,最后给出验证Skill可用性的三种场景测试法和自我检查三问。全文干货,可落地。

目录

  1. Skill是什么
  2. Skill与Prompt的核心区别
  3. 最小Skill结构:README.md就够了
  4. 编写Skill的常见误区与正确做法
  5. 完整Skill的目录结构
  6. Skill-Creator元Skill架构拆解
  7. 实战:创建AI应用求职诊断Skill
  8. Skill验证方法:三种场景测试与三问自检
  9. 参考资源

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.mdREADME.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 写作时的三问自检

每写一段提示词,问自己:

  1. 行动还是期待? —— 这段内容是帮助AI行动,还是只表达我个人的期待?
  2. 位置决策? —— 应放在SKILL.md正文,还是拆分到别的文件夹(如references)?
  3. 执行主体? —— 这个动作应由AI判断,还是用固定脚本(代码)判断?

想清楚这三个问题,Skill基本不会差。

9. 参考资源

  • 本文基于B站视频@程序员Sunday《如何写出一个好的 skill(手把手详细教程)》整理撰写,通过音视频转录工具Ai好记快速提取关键步骤、生成图文笔记与思维导图,极大提升了写作效率,推荐有需求的朋友们使用!在这里插入图片描述

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

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐