你可能已经习惯了和 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,复制过来之后用自己的方式修改。

操作路径

  1. 在技能商店搜索关键词,找到功能接近的 Skill
  2. 复制技能到自己的空间
  3. 用自然语言描述你想做的调整,比如"把这个周报生成器改成月报版本"
  4. 测试调优
  5. 部署上线

优点:站在前人的肩膀上,开发效率高
局限:受限于原 Skill 的结构,改动空间有限

使用场景:找到了功能相近的 Skill,想快速定制

方式三:从零开发(本文重点)

这是最完整、最灵活的方式,也是本文要重点讲解的路径。

操作路径

  1. 在扣子编程中新建技能
  2. 用自然语言描述你的需求
  3. AI 自动生成 Skill 文件
  4. 测试并调优
  5. 部署上线

本文会完整走一遍这个流程,用"旅行规划助手"作为实战案例。

从零开发:完整流程详解

下面进入正题。我们用一个完整的实战案例——旅行规划助手 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,它会帮你完成整个开发流程:

  1. 分析需求:理解你的目标和约束
  2. 规划文件结构:决定需要哪些文件
  3. 生成 SKILL.md:编写核心技能说明书
  4. 生成辅助文件:如果需要(参考文档、脚本等)
  5. 打包技能:生成可部署的技能包

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 生成之后,不要急着部署。先充分测试,确保它能稳定工作。

测试重点

  1. 是否稳定触发:输入触发关键词,Skill 能否正确激活?
  2. 是否稳定执行:输入完整信息后,Skill 能否按预期输出?
  3. 边界场景是否覆盖
    • 缺少必需参数时,能否正确追问?
    • 参数超出范围时(如 31 天),能否正确处理?
    • 用户意图不明确时,会不会答非所问?

调优方式

方式一:对话改(适合小幅调整)
用自然语言描述你想改什么,比如"行程里的景点描述可以更详细一些",AI 会自动更新 SKILL.md。

方式二:手动改(适合精确调整)
在文件树中找到 SKILL.md,直接编辑。改完后保存,AI 会自动重新打包。

实操建议

  • 测试用例要覆盖正常路径和异常路径
  • 如果一个 Skill 的基本流程都不稳定,先排查需求描述是否清楚
  • 边界场景的测试往往最能暴露问题

Step 4:部署上线

测试通过后,就可以部署了。

部署流程

  1. 点击右上角的"部署"按钮
  2. 配置环境变量(如有需要):用于存储 API Key、配置参数等
  3. 开启加密部署(可选,但生产环境建议开启)
  4. 点击"开始部署"
  5. 等待部署完成

部署后如何使用
在扣子对话中,通过 @ 符号调用你的 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 开发顺利。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐