从零开始:如何制作一个 AI Skill
你可能已经习惯了和 AI 对话——问它问题,让它写文案、帮忙分析数据。但你有没有想过:能不能把这种能力"固化"下来,变成一个随时可用的工具?
这就是 Skill 存在的意义。
Skill(技能)本质上是一个可保存、可复用、可迭代的"能力模块"。你可以把它理解成给 AI 安装的专业技能包——把做事的方法、流程、经验打包好,之后只需要一句话,就能让 AI 按照你预设的方式执行。
本文将手把手教你从零开始制作一个 AI Skill,用一个完整的实战案例——旅行规划助手——贯穿整个学习过程。学完之后,你也能打造属于自己的 AI 技能。
什么是 Skill
在开始动手之前,先理解清楚 Skill 到底是什么,能帮你少走很多弯路。
Skill 是给 AI 装的"专业技能包"。 它把做事的方法、流程、经验打包成模块,让 AI 在特定场景下能够稳定地产出你想要的结果。
举几个例子:
- 你可以制作一个"周报总结 Skill",每次粘贴周报内容,它自动提炼要点、生成汇报稿
- 你可以制作一个"代码审查 Skill",粘贴 PR 内容,它自动检查潜在问题并给出建议
- 你可以制作一个"旅行规划 Skill",告诉它目的地和天数,它自动生成详细行程
Skill 和 Prompt 有什么区别?
很多人容易把 Skill 和 Prompt 搞混。简单来说:
- **Prompt(提示词)**是一次性的。你每次对话都要重新粘贴、重新描述。
- **Skill(技能)**是可保存的。写好一次,之后随时调用,还能迭代优化。
更准确地说,Skill 是 Prompt 的"工程化"产物。Prompt 告诉你"怎么做",Skill 则把整个流程固化下来,包括触发条件、工作规则、输出格式、边界处理……
Skill 的核心价值,用一句话概括就是:从"理解你的指令"变成"掌握你的方法"。
三种制作方式:选最适合你的
制作 Skill 有三种路径,难度从低到高,你可以根据自己的情况选择。
方式一:对话直接转 Skill(最简单)
这是门槛最低的方式,适合快速把满意的对话结果固化下来。
操作方法很简单:在你和 AI 完成一次满意的对话后,直接说「帮我把以上处理流程制作为技能」,AI 会自动总结整个对话中的处理流程,生成对应的 Skill。
优点:零门槛,不需要写任何代码或文档
局限:依赖对话质量,如果对话本身混乱,生成的 Skill 也不会好
使用场景:日常对话中遇到好的处理方式,随手保存
方式二:复制改造别人的 Skill(适合快速上手)
如果你不想从零开始,可以先去技能商店找现成的开源 Skill,复制过来之后用自己的方式修改。
操作路径:
- 在技能商店搜索关键词,找到功能接近的 Skill
- 复制技能到自己的空间
- 用自然语言描述你想做的调整,比如"把这个周报生成器改成月报版本"
- 测试调优
- 部署上线
优点:站在前人的肩膀上,开发效率高
局限:受限于原 Skill 的结构,改动空间有限
使用场景:找到了功能相近的 Skill,想快速定制
方式三:从零开发(本文重点)
这是最完整、最灵活的方式,也是本文要重点讲解的路径。
操作路径:
- 在扣子编程中新建技能
- 用自然语言描述你的需求
- AI 自动生成 Skill 文件
- 测试并调优
- 部署上线
本文会完整走一遍这个流程,用"旅行规划助手"作为实战案例。
从零开发:完整流程详解
下面进入正题。我们用一个完整的实战案例——旅行规划助手 Skill——来演示从零开发的每一步。
Step 1:写好需求描述
这是最关键的一步。需求描述的质量,直接决定 AI 能否生成一个可用的 Skill。
核心原则:用途明确、触发场景清晰、输出格式具体。
一个好的需求描述应该回答四个问题:
- 这个 Skill 叫什么?
- 它解决什么问题?
- 什么情况下应该触发它?
- 输出结果应该是什么格式?
提示词模板:
我想创建一个 [功能名称] 的 Skill,用于 [解决什么问题],当用户 [触发场景] 时使用,输出 [期望格式和内容]。
以旅行规划助手为例:
我想创建一个旅行规划助手的 Skill,用于帮助用户生成详细的旅游行程计划。
当用户提及"旅行规划"、"旅游计划"、"行程安排"、"帮我规划行程"时触发此技能。
技能规则:
1. 首先检查用户是否提供了:目的地、天数、预算类型、兴趣偏好
2. 如果缺少任何一项,只询问缺失的那一项,一次问一个
3. 预算类型仅限:经济(200-400元/天)、舒适(400-800元/天)、豪华(800元以上/天)
4. 天数限制:1-30天
5. 生成行程时必须遵守:上午一个景点,中午推荐符合预算的当地餐厅,下午一个景点,晚上一个活动或住宿建议
6. 在行程末尾附加"行李清单"和"当地注意事项"(电压、小费、安全等)
输出格式:
# 行程计划:[目的地]
## 天数:X天 预算:XX类型
### Day 1:
- **上午**:...
- **午餐**:...
- **下午**:...
- **晚上**:...
[重复Day 2...]
## 行李清单
- [ ] 证件类:...
- [ ] 衣物类:...
## 当地注意
- ...
小贴士:
- 触发关键词尽量具体,避免太泛(比如"旅行"容易误触发)
- 输出格式写清楚 Markdown 结构,AI 生成的文档会严格按照这个格式来
- 如果有约束条件(天数限制、预算档位等),一定要写明,这些是确保输出稳定性的关键
Step 2:AI 自动开发
把需求描述提交给扣子编程的 AI,它会帮你完成整个开发流程:
- 分析需求:理解你的目标和约束
- 规划文件结构:决定需要哪些文件
- 生成 SKILL.md:编写核心技能说明书
- 生成辅助文件:如果需要(参考文档、脚本等)
- 打包技能:生成可部署的技能包
SKILL.md 是 Skill 的核心文件,相当于技能的使用说明书。一个标准的 SKILL.md 包含:
---
name: 技能名称
description: 技能描述,包括功能说明和触发关键词
---
# 技能名称
## 角色
定义 AI 在这个 Skill 中扮演什么角色
## 目标
这个 Skill 要达成什么目的
## 工作规则
具体的执行流程和约束条件
## 输出格式
结果应该以什么结构呈现
以旅行规划助手为例,生成的 SKILL.md 大致如下:
---
name: 旅行规划助手
description: 帮助用户生成详细的旅游行程计划。当用户提及"旅行规划"、"旅游计划"、"行程安排"、"帮我规划行程"时触发此技能。
---
# 旅行规划助手
## 角色
你是一个专业的旅行规划助手。
## 目标
帮助用户生成详细的旅游行程计划。
## 工作规则
1. 首先,检查用户是否提供了:目的地、天数、预算类型、兴趣偏好。
2. 如果缺少任何一项,只询问缺失的那一项,一次问一个。
3. 预算类型仅限:经济(200-400元/天)、舒适(400-800元/天)、豪华(800元以上/天)。
4. 天数限制:1-30天。
5. 生成行程时,必须遵守:上午一个景点,中午推荐符合预算的当地餐厅,下午一个景点,晚上一个活动或住宿建议。
6. 在行程末尾,附加一个"行李清单"和"当地注意事项"(电压、小费、安全等)。
## 输出格式
使用以下结构:
# 行程计划:[目的地]
## 天数:X天 预算:XX类型
### Day 1:
- **上午**:...
- **午餐**:...
- **下午**:...
- **晚上**:...
[重复Day 2...]
## 行李清单
- [ ] 证件类:...
- [ ] 衣物类:...
## 当地注意
- ...
Step 3:测试与调优
Skill 生成之后,不要急着部署。先充分测试,确保它能稳定工作。
测试重点:
- 是否稳定触发:输入触发关键词,Skill 能否正确激活?
- 是否稳定执行:输入完整信息后,Skill 能否按预期输出?
- 边界场景是否覆盖:
- 缺少必需参数时,能否正确追问?
- 参数超出范围时(如 31 天),能否正确处理?
- 用户意图不明确时,会不会答非所问?
调优方式:
方式一:对话改(适合小幅调整)
用自然语言描述你想改什么,比如"行程里的景点描述可以更详细一些",AI 会自动更新 SKILL.md。
方式二:手动改(适合精确调整)
在文件树中找到 SKILL.md,直接编辑。改完后保存,AI 会自动重新打包。
实操建议:
- 测试用例要覆盖正常路径和异常路径
- 如果一个 Skill 的基本流程都不稳定,先排查需求描述是否清楚
- 边界场景的测试往往最能暴露问题
Step 4:部署上线
测试通过后,就可以部署了。
部署流程:
- 点击右上角的"部署"按钮
- 配置环境变量(如有需要):用于存储 API Key、配置参数等
- 开启加密部署(可选,但生产环境建议开启)
- 点击"开始部署"
- 等待部署完成
部署后如何使用:
在扣子对话中,通过 @ 符号调用你的 Skill。
注意事项:
- 在扣子编程里开发的技能,必须部署才能用;通过对话直接转的技能不需要
- 环境变量分环境:部署时新建的变量只在生产环境生效,测试环境的变量不会自动同步
- 加密部署要慎重:开启后模型无法读取脚本,出错时也不能自动修复
- 重新部署后,扣子对话会自动使用最新版本
关于变现:
部署成功的 Skill 可以上架技能商店,你可以设置为免费或付费发布。
实战完整演示
下面让我们完整走一遍旅行规划助手的开发过程。
场景设定
假设你想做一个旅行规划助手,帮助用户:
- 根据目的地和天数生成行程
- 根据预算推荐餐饮
- 提供行李清单和当地注意事项
需求描述(直接复制可用)
我想创建一个旅行规划助手的 Skill,用于帮助用户生成详细的旅游行程计划。
当用户提及"旅行规划"、"旅游计划"、"行程安排"、"帮我规划行程"时触发此技能。
技能规则:
1. 首先检查用户是否提供了:目的地、天数、预算类型、兴趣偏好
2. 如果缺少任何一项,只询问缺失的那一项,一次问一个
3. 预算类型仅限:经济(200-400元/天)、舒适(400-800元/天)、豪华(800元以上/天)
4. 天数限制:1-30天
5. 生成行程时必须遵守:上午一个景点,中午推荐符合预算的当地餐厅,下午一个景点,晚上一个活动或住宿建议
6. 在行程末尾附加"行李清单"和"当地注意事项"(电压、小费、安全等)
输出格式:
# 行程计划:[目的地]
## 天数:X天 预算:XX类型
### Day 1:
- **上午**:...
- **午餐**:...
- **下午**:...
- **晚上**:...
[重复Day 2...]
## 行李清单
- [ ] 证件类:...
- [ ] 衣物类:...
## 当地注意
- ...
SKILL.md 完整代码
---
name: 旅行规划助手
description: 帮助用户生成详细的旅游行程计划。当用户提及"旅行规划"、"旅游计划"、"行程安排"、"帮我规划行程"时触发此技能。
---
# 旅行规划助手
## 角色
你是一个专业的旅行规划助手。
## 目标
帮助用户生成详细的旅游行程计划。
## 工作规则
1. 首先,检查用户是否提供了:目的地、天数、预算类型、兴趣偏好。
2. 如果缺少任何一项,只询问缺失的那一项,一次问一个。
3. 预算类型仅限:经济(200-400元/天)、舒适(400-800元/天)、豪华(800元以上/天)。
4. 天数限制:1-30天。
5. 生成行程时,必须遵守:上午一个景点,中午推荐符合预算的当地餐厅,下午一个景点,晚上一个活动或住宿建议。
6. 在行程末尾,附加一个"行李清单"和"当地注意事项"(电压、小费、安全等)。
## 输出格式
使用以下结构:
# 行程计划:[目的地]
## 天数:X天 预算:XX类型
### Day 1:
- **上午**:...
- **午餐**:...
- **下午**:...
- **晚上**:...
[重复Day 2...]
## 行李清单
- [ ] 证件类:...
- [ ] 衣物类:...
## 当地注意
- ...
测试案例
测试1:正常路径
用户输入:"帮我规划去北京5天的旅行,预算舒适型,喜欢美食和购物"
预期:生成完整的5天行程,包含每日景点、餐饮、购物建议,以及行李清单和北京当地注意事项
测试2:参数缺失
用户输入:"帮我规划去香港的旅行"
预期:按顺序询问缺失的参数(天数、预算类型、兴趣偏好),一次问一个
测试3:边界场景
用户输入:"帮我规划去巴黎30天的豪华旅行"
预期:能正常处理,生成30天行程
用户输入:"帮我规划去纽约31天的旅行"
预期:提示天数超出限制(1-30天)
实用建议:让 Skill 更好用
最后分享一些实战中总结的经验,帮你少走弯路。
1. 功能聚焦:一个 Skill 解决一个具体问题
新手容易犯的错是想做一个"万能 Skill",什么都包。结果往往是代码臃肿、行为不稳定。
正确的做法是:一个 Skill 做一件事。如果需要多个能力,做多个 Skill,然后通过组合使用。
2. 先跑通再优化:让基本流程先工作起来
不要一开始就追求完美。先让 Skill 能跑通、能输出基本结果,再逐步打磨细节。
3. 多测边界场景:正常路径都 OK,边界才是翻车重灾区
边界场景(参数缺失、参数越界、意图模糊等)往往最能暴露问题。测试时要多关注这些情况。
4. 善用附件:参考文档越多,输出越稳定
如果你的 Skill 涉及特定领域的术语或格式,可以在 Skill 目录下放一个 references/ 文件夹,放入术语表、模板、示例产物等参考资料。附件越丰富,输出越稳定。
5. description 是触发关键:写清楚什么场景触发
Skill 的 description 不只是描述功能,它直接决定了什么时候会触发这个 Skill。触发关键词要具体、明确,避免太泛或太窄。太泛容易误触发,太窄容易漏触发。
6. 部署前务必测试,尤其是边界场景
部署前最后一次检查:基本流程是否正常?边界场景是否都有处理?输出的 Markdown 格式是否符合预期?
写在最后
Skill 是把 AI 能力"产品化"的一种方式。它让 AI 不再只是问答工具,而是能够承担起具体的、可复用的工作任务。
学会制作 Skill 之后,你可以:
- 把重复性的工作流程自动化
- 把团队的最佳实践沉淀下来
- 甚至把 Skill 上架到技能商店,创造被动收入
最重要的是,这个过程并不难。只要按照本文的流程,你完全可以在一个小时内,从零开始做出一个真正可用的 Skill。
现在就动手试试吧。从一个具体的、你真正需要的功能开始,让 AI 成为你真正的助手。
如果你在制作过程中遇到问题,欢迎在评论区留言。祝你的 Skill 开发顺利。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)