技能搭建八步法——从零到一开发 Agent Skills 实战指南

Jul 18, 2026 分钟阅读

参加讯飞 AI 开发者大赛 Skill 赛题,第一步该干什么?不是写代码,不是写文档,而是先搞清楚——你的 Skill 到底解决谁的问题。

前言:Skill 是什么

在进入搭建方法之前,我们先对齐一个基本认知:

Skill 是一种结构化的 Prompt Engineering——通过标准的文件格式,把分散在人脑中的领域知识、操作流程和最佳实践,转化为 AI 可理解、可执行的指令集。

一个标准的 Skill 目录结构如下:

skill-name/
├── SKILL.md (必需)
│   ├── YAML frontmatter (必需)
│   │   ├── name:       # 技能名称 8-15汉字
│   │   └── description:# 三段式描述
│   └── Markdown instructions
└── Bundled Resources (可选)
    ├── scripts/        # 可执行代码
    ├── references/     # 参考文档
    └── assets/         # 资源文件

核心只有两个必填字段:namedescription——但要把这两个字段写好写精准,前期的调研和设计工作远比你想象的多。


为什么需要八步法?

很多同学一开始做 Skill 会踩三个坑:

第一种:“上来就写文件”——还没有想清楚业务场景就开始写 SKILL.md,最后做出来的 Skill 看起来完整,但不知道解决谁的问题。

第二种:“做得太大”——比如一开始就想做"医疗 AI 助手"“智能诊断系统"“全科健康管理专家”,范围太大,边界也危险。

第三种:“只有演示,没有真实流程”——最终展示时只有一段对话截图,没有业务调研、样例输入、输出设计、测试迭代,看不出 Skill 的复用价值。

为了解决这些问题,我们把 Skill 搭建拆解为 8 个步骤,每一步都有明确的输入输出和验收标准:

业务调研 → 场景收敛 → 样例准备 → 流程设计 → 结构设计 → 编写 Skill → 测试迭代 → 打包交付

下面我们用一个真实的案例——体检报告人话翻译官(参赛讯飞 AI 开发者大赛医疗健康赛道)——来逐一拆解每个步骤。


第 1 步:业务调研

核心问题:这个 Skill 为什么值得做?

业务调研不是走过场。它决定了你的 Skill 是"自嗨"还是"真有用”。我们用一个 6 问框架来快速扫一遍:

问题说明案例:体检报告人话翻译官
谁会用?目标用户是谁每年做体检的普通人,年龄 25-55 岁,非医学背景
在什么场景用?具体发生的时间/地点拿到体检报告后,看到 ↑↓ 箭头和医学术语,感到焦虑
现在痛点是什么?用户为什么需要这个 Skill看不懂指标含义,不知道哪些严重哪些没事,百度搜了更焦虑
输入是什么?用户提供什么体检报告中的异常指标列表(文本粘贴)
输出是什么?Skill 产出什么逐项人话翻译 + 关注等级 + 生活建议 + 就医提醒
哪些事情不能做?安全边界不诊断疾病、不推荐药物、不代替医生、不制造恐慌

调研方法推荐:如果你有自己的目标用户群,做 3-5 个用户访谈比任何 desk research 都有效。如果没有,就从自己的真实痛点出发——“我自己拿到体检报告时最想知道什么?”


第 2 步:场景收敛

核心问题:这个 Skill 到底只做哪一件事?

一个 Skill 最怕"大而全"。医疗健康场景尤其如此——范围越大,越容易越界,越难测试,越难拿高分。

收敛的方法可以参考双钻模型

  1. 发散:先列出所有可能的方向(病历结构化、体检解读、用药提醒、症状分诊……)
  2. 收敛:选一个最具体、边界最清晰的方向,砍掉所有"顺便也做一下"的功能

场景收敛的核心是定义 4 个边界:

边界问题案例
输入边界Skill 接收什么脱敏体检报告文本(指标名称+数值+单位+参考范围)
输出边界Skill 产出什么人话翻译 + 关注等级(放心/留意/建议就医)+ 生活建议
能力边界Skill 能做什么解释指标含义、标注偏离程度、给出非药物建议
安全边界Skill 不能做什么不诊断疾病、不推荐药物、不代替医生、不解读影像报告

在我们的案例中,收敛决策很明确:

病历结构化 + 体检解读 + 药品问答 + 健康管理(太宽) ✅ 只做一件事:体检报告异常指标的通俗翻译与关注等级标注


第 3 步:样例准备

核心问题:这个 Skill 要处理什么样的数据?处理完应该长什么样?

没有样例的 Skill 是空泛的。样例就像"设计图"——写 SKILL.md 之前,你要先知道输入长什么样、输出长什么样。

输入样例

总胆固醇 6.8mmol/L ↑(参考值 3.1-5.7)
低密度脂蛋白 4.2mmol/L ↑(参考值 0-3.4)
谷丙转氨酶 58U/L ↑(参考值 0-40)
尿酸 420μmol/L(参考值 200-430)
血压 135/85mmHg(参考值 <120/80)

理想输出样例(节选):

📊 关注等级:🟡 留意
🗣️ 人话翻译:这是在查你血液里所有"油"的总量
💡 类比:就像水管里的水垢——6.8 说明水垢开始变厚了
🥗 生活建议:减少高油高脂食物,增加膳食纤维

但只有"理想输出"是不够的。真实场景中经常有信息缺失、表达模糊、用户追问越界等问题。尤其是医疗这种高风险领域,至少要覆盖 4 种测试场景

类型用途案例
正常样例验证基本功能完整指标列表 + 参考范围
缺失样例验证会不会脑补用户只说了"总胆固醇6.8"没有单位
模糊样例验证能否标记不确定用户说"好几个箭头"但没有具体数值
高风险样例验证会不会越界用户问"这个病吃什么药好"

第 4 步:工作流程设计

核心问题:第一步做什么?第二步做什么?

流程设计就是把一件事拆成可执行的步骤序列。一个好的流程让 AI 不会漏步骤、不会跳逻辑。

以体检报告翻译为例,流程是:

步骤 1:解析输入
  → 识别指标名称、数值、单位、参考范围
  → 筛选出异常项

步骤 2:逐项翻译
  → 对每个异常指标输出:人话翻译 + 类比 + 关注等级 + 建议

步骤 3:综合结论
  → 整体评估 + 优先级排序 + 就医提醒

步骤 4:可视化
  → Mermaid 图表展示异常分布

流程设计的原则

  • 每个步骤只做一件事
  • 步骤之间有明确的输入输出衔接
  • 每个步骤都要有"异常处理"(用户没提供足够信息怎么办)

第 5 步:Skill 结构设计

核心问题:这个 Skill 文件夹里应该放什么?

不是所有 Skill 都需要复杂的目录结构。实际上,最小可用 Skill 只需要一个 SKILL.md 文件。但随着场景变复杂,你可能需要以下目录:

文件/目录作用何时需要
SKILL.md触发场景、目标、流程、输出格式、安全边界必需
references/字段定义、医学映射表、安全规则详情规则较多时
examples/输入样例、期望输出、测试材料推荐始终包含
scripts/稳定的计算逻辑、格式转换需要精确计算时

对于体检报告案例,我们选择了最简单的结构:

体检报告人话翻译官/
├── SKILL.md                    # 核心指令文件
└── examples/
    ├── test-case-001.md        # 10项指标的模拟输入
    └── 真实跑测输出.md          # 完整跑测报告

第 6 步:编写 Skill

核心问题:怎么写 SKILL.md?

到了这一步,我强烈推荐用自然语言跟 AI 对话来生成 Skill——你不是写一个文件,而是告诉 AI 你想要什么。

你可以这样说:

请帮我创建一个 Codex Skill,名称为"体检报告人话翻译官"。

这个 Skill 用于:输入体检报告中的异常指标,逐项翻译成通俗易懂的人话, 标注"放心/留意/建议就医"三个关注等级,给出非药物的生活改善建议。

要求:

  1. 不诊断疾病
  2. 不推荐药物
  3. 不代替医生
  4. 原文未提及的写"未提及"
  5. 严重指标引导就医

然后根据 AI 生成的初版,你可以在对话中不断迭代:

  • “输出格式太自由了,请固定成表格结构。”
  • “安全边界不够,请加强’不诊断、不调药、不脑补’的规则。”
  • “请为每个关注等级补充具体的判定标准。”

SKILL.md 的关键质量检查点

  1. name 是否 8-15 个汉字,是否具体无歧义
  2. description 是否三段式完整(核心能力 + 适用场景 + 触发词)
  3. ✅ 触发词是否 ≥6 个,覆盖书面指令和自然口语
  4. ✅ Workflow 是否一步步写清楚,没有"一步到位"的黑箱
  5. ✅ 安全边界是否足够严格,有没有遗漏红线
  6. ✅ 输入输出格式是否具体到文件格式和结构

第 7 步:测试迭代

核心问题:这个 Skill 能稳定工作吗?

Skill 写完不测试,就像程序写完不运行。医疗类 Skill 至少要测试 5 种情况:

测试类型目的我们的测试用例
正常输入验证基本功能10 项完整指标
缺失信息验证是否会脑补缺少单位或参考范围
模糊表达验证能否标记不确定只有"好几个箭头"
矛盾信息验证是否能提示复核数值和描述不一致
高风险情况验证是否会及时引导就医指标超上限 2 倍

常见问题和修改方向

问题修改方向
输出太自由固定输出结构(表格/JSON)
经常脑补加强"原文未提及"规则
安全边界弱补充 safety-rules 或严格的约束清单
没有原文依据要求每个字段带 source/evidence
诊断口吻太强改成"需医生确认"或"仅供参考"
对缺失数据不敏感增加缺失项检查和对应的处理逻辑

在我们的测试中,最关键的发现是:比喻需要严格审核。一个不恰当的医学类比可能导致用户误解病情。所以我们为每个常用指标建立了固定的比喻库,而不是让 AI 自由发挥。


第 8 步:打包交付

核心问题:怎么交付一个完整的 Skill?

这一步很多人会栽坑:

  • ❌ 只交了 SKILL.md,没交整个 Skill 文件夹
  • ❌ 把整个工作区打包,混了很多无关文件
  • ❌ 压缩包打开后多套了一层目录,AI 找不到 SKILL.md

正确的打包方式

体检报告人话翻译官.zip    ← 压缩包根目录就是 Skill 名
├── SKILL.md              ← 直接放在根目录
└── examples/             ← 可选,但推荐包含
    ├── test-case-001.md
    └── 真实跑测输出.md

注意:压缩包打开后第一层就是 SKILL.md,不要再套一层 src/skill/ 目录。SkillHub 和 AI 解析工具都是直接从根目录查找 SKILL.md 的。


案例回顾:体检报告人话翻译官

最后,让我们看看这个 Skill 从 0 到 1 的全貌。

业务调研结果:大多数人体检后看不懂报告,搜百度越搜越焦虑,需要一个"人话翻译"级别的解读工具。

场景收敛结果:只做体检报告异常指标的通俗解读,不做病历、不做药品、不做诊断。

输入样例

总胆固醇 6.8mmol/L ↑(参考值 3.1-5.7)
低密度脂蛋白 4.2mmol/L ↑(参考值 0-3.4)

输出样例(节选)

🗣️ 人话翻译:这是在查你血液里所有"油"的总量
💡 类比:就像水管里的水垢
📊 关注等级:🟡 留意
🥗 生活建议:减少高油高脂食物,增加膳食纤维

核心安全边界

  1. 不诊断疾病——所有解读均为"这是什么指标/异常意味着什么"
  2. 不推荐药物——生活建议仅限于饮食、运动、作息等非药物方案
  3. 不否定医生——如果用户已在看医生,引导遵循医嘱
  4. 严重指标引导就医——显著异常必须标注"建议就医"

测试结果:10 项指标全部正确识别,关注等级判定合理,所有类比经过医学准确性审核,严重指标均标注了就医提醒。在缺失信息测试中,Skill 正确标记"未提供"而非自行脑补。


总结:八步法的核心思维

把这 8 步走完,你得到的不仅是一个 SKILL.md 文件,而是:

  1. 一种产品思维——先理解真实问题,再收敛任务范围
  2. 一种工程习惯——先准备样例和流程,再编写指令
  3. 一种交付意识——写完之后测试、迭代,并完整打包交付

八步法的价值不在于机械地走完全程,而在于帮你在每个决策点上停下来想清楚。当你的 Skill 在 SkillHub 上获得下载和收藏时,你会发现——每一步的思考都体现在了最终的用户体验里。


附录:快速检查清单

步骤完成标准
业务调研6 问框架全部回答清楚
场景收敛4 个边界(输入/输出/能力/安全)明确定义
样例准备至少包含正常、缺失、模糊、高风险 4 类样例
流程设计每个步骤都有输入输出和异常处理
结构设计目录结构只放必要的文件
编写 Skillname 8-15字、description 三段式、触发词 ≥6
测试迭代至少 5 种测试场景全部通过
打包交付ZIP 根目录直接放 SKILL.md

本文案例 Skill 已参加 2026 年讯飞 AI 开发者大赛医疗健康赛道。如果你想获取完整代码或在 SkillHub 上体验,欢迎留言交流。