乐于分享
好东西不私藏

AI 助理 Skills 完全指南:从零开始定制你的专属能力包,无需编程也能玩转自动化

AI 助理 Skills 完全指南:从零开始定制你的专属能力包,无需编程也能玩转自动化

一次性说清 Skills 是什么,从0到1

预计阅读时间:12 分钟


摘要

Skills 是 AI 助理的能力扩展包,让你无需编程就能定制专属功能。本文从概念到实战,带你完整理解 Skills 的工作原理、创建流程和使用场景,帮你打造真正懂你的 AI 助理。


正文

“如果给你的 AI 助理装上一个新技能,你最想让它学会什么?”

先别急着回答。花 30 秒想想:

  • 你有没有重复做过某件事,心里嘀咕”这要是能自动就好了”?
  • 你有没有希望过某个 APP 能多一个功能,但官方永远不更新?
  • 你有没有想过,为什么有些 AI 助理只能聊天,有些却能帮你订机票、查天气、发朋友圈?

如果你点头了,那你已经摸到了 Skills 的门槛。

今天这篇文章,我要带你从零开始,彻底搞懂 Skills 是什么、它能做什么、以及你如何用它打造真正属于自己的 AI 助理。

不绕弯子,不堆术语,咱们一层一层剥开看。


一、Skills 到底是什么?

1.1 一个类比

想象你刚买了一台智能手机。

刚开箱时,它只能打电话、发短信——这是它的基础能力

但你想拍照,于是装了相机 APP;你想导航,于是装了地图 APP;你想点外卖,于是装了美团……

每装一个 APP,你的手机就多了一个技能

Skills 之于 AI 助理,就像 APP 之于智能手机。

没有 Skills 的 AI,只是一个会聊天的语言模型。有了 Skills,它才能:

  • 帮你查天气
  • 替你发微信
  • 自动整理邮件
  • 监控服务器状态
  • 甚至控制你家里的摄像头

1.2 官方定义

在 OpenClaw 的体系里,Skill(技能) 是一个独立的功能模块,它定义了 AI 助理在特定场景下可以执行的操作。

每个 Skill 包含:

  • 触发条件:什么情况下启用这个技能
  • 执行逻辑:具体要做什么
  • 工具调用:需要用到哪些 API 或命令
  • 输出格式:结果如何呈现给用户

听起来很技术?别怕,后面我会用例子让你彻底明白。

1.3 为什么需要 Skills?

你可能会问:”AI 模型本身不是很强大吗?为什么还要额外加 Skills?”

好问题。

因为语言模型有边界。

GPT、Claude、Qwen 这些大模型,它们的训练数据有截止日期,它们无法访问实时信息,它们不能直接操作你的设备,它们不知道你的私人数据。

换句话说:模型知道全世界的事,但不知道你此刻的事。

Skills 就是用来填补这个gap的桥梁。

  • 模型不知道今天的天气?→ 加一个天气 Skill,调用实时 API
  • 模型不能发微信?→ 加一个微信 Skill,对接消息接口
  • 模型看不到你的文件?→ 加一个文件读取 Skill,授权访问 workspace

Skills 让通用模型变成专属助理。


二、Skills 是如何工作的?

2.1 核心架构

让我们拆开看 Skills 的内部结构。

一个典型的 Skill 由以下部分组成:

skill-name/├── SKILL.md          # 技能说明文档(核心)├── references/       # 参考资源(可选)├── scripts/          # 执行脚本(可选)└── assets/           # 静态资源(可选)

其中 SKILL.md 是最重要的文件,它告诉 AI:

  • 这个技能是做什么的
  • 什么时候应该使用它
  • 具体如何执行

2.2 工作流程

当一个 Skill 被触发时,会发生什么?

用户请求 → AI 识别意图 → 匹配 Skill → 执行逻辑 → 返回结果

举个例子:

用户说:”帮我查一下上海今天的天气”

AI 的处理流程

  1. 理解意图:用户想查天气
  2. 匹配 Skill:找到 weather 技能
  3. 读取 SKILL.md:了解如何调用天气 API
  4. 执行:调用 wttr.in 或 Open-Meteo
  5. 返回:把天气信息格式化后告诉用户

整个过程在几秒内完成,用户感知到的只是”AI 帮我查了天气”。

2.3 技能发现机制

AI 怎么知道有哪些 Skills 可用?

在 OpenClaw 中,有一个 available_skills 列表,每次会话启动时都会加载。

这个列表告诉 AI:

<available_skills><skill><name>weather</name><description>获取天气信息</description><location>~/skills/weather/SKILL.md</location></skill><skill><name>wechat-auto-reply</name><description>微信自动回复</description><location>~/skills/wechat-auto-reply/SKILL.md</location></skill>  ...</available_skills>

AI 会根据你的请求,自动选择最匹配的 Skill 来执行。


三、从零开始:创建一个 Skill

好了,理论讲够了。咱们来点实际的。

假设你想让 AI 帮你自动发送每日提醒,比如每天早上 9 点提醒你喝水、站起来活动一下。

这个功能现有的 Skills 里没有,那我们就自己创建一个。

3.1 第一步:确定需求

先问自己几个问题:

  • 触发条件:什么情况下执行?(定时?关键词触发?)
  • 执行内容:具体要做什么?(发消息?调用 API?)
  • 目标渠道:结果发送到哪里?(微信?Telegram?邮件?)
  • 频率限制:多久执行一次?(避免骚扰)

想清楚这些,再动手。

3.2 第二步:创建目录结构

在你的 workspace 下创建技能目录:

mkdir -p ~/.openclaw/workspace/skills/daily-remindercd ~/.openclaw/workspace/skills/daily-reminder

3.3 第三步:编写 SKILL.md

这是核心文件。我来给你写一个模板:

# daily-reminder - 每日提醒技能## 功能描述在指定时间发送自定义提醒消息到指定渠道。## 触发条件- 用户明确请求发送提醒- cron 定时任务触发## 使用方法1. 手动触发:`提醒我下午 3 点开会`2. 自动触发:配置 cron 任务## 配置项-`channel`: 发送渠道(wechat/telegram/email)-`message`: 提醒内容-`time`: 提醒时间## 依赖- message 工具(用于发送消息)- cron 工具(用于定时任务)## 注意事项- 避免过于频繁的提醒- 尊重用户的免打扰时间

3.4 第四步:实现执行逻辑

根据技能复杂度,你可以:

  • 简单技能:直接在 SKILL.md 中描述逻辑,让 AI 调用现有工具
  • 复杂技能:在 scripts/ 目录下写脚本,SKILL.md 负责调用

对于每日提醒,我们可以用 OpenClaw 的 cron 工具来实现定时任务:

# 添加一个每天 9 点执行的 cron 任务openclaw cron add --schedule "0 9 * * *" --command"发送提醒消息"

3.5 第五步:注册技能

在 OpenClaw 的配置中,将新技能添加到 available_skills 列表。

或者,更简单的方式:把技能放在标准的 skills 目录下,系统会自动发现。

3.6 第六步:测试

创建完技能后,一定要测试:

用户:提醒我下午 3 点开会AI:[应该调用 daily-reminder 技能,设置提醒]

如果 AI 没有正确识别,检查 SKILL.md 的描述是否清晰。


四、Skills 的高级用法

4.1 技能组合

单个技能可能功能有限,但组合起来就很强大

比如:

  • weather + message = 每天早上发送天气提醒
  • calendar + message = 会议前自动发送提醒
  • healthcheck + cron = 定期安全巡检并报告

思考:你现有的哪些需求,可以通过组合现有 Skills 来实现?

4.2 条件触发

Skills 不一定每次都要执行。你可以设置条件:

## 触发条件仅在以下情况执行:- 用户在线状态为 active- 当前时间在工作时间(9:00-18:00)- 距离上次执行超过 1 小时

这样可以避免过度打扰。

4.3 技能市场

OpenClaw 有一个技能市场 ClawHub(clawhub.com),你可以在上面:

  • 发现别人创建的技能
  • 安装现成的技能到你的环境
  • 分享你自己创建的技能

这就像 APP Store,让技能生态可以成长。

4.4 技能版本管理

当你的技能迭代时,注意版本管理:

skills/daily-reminder/├── v1/├── v2/└── latest → v2

或者使用 Git 管理技能目录,方便回滚和协作。


五、常见问题与最佳实践

5.1 技能命名规范

  • 使用小写字母和连字符:daily-reminder ✅
  • 避免空格和特殊字符:daily reminder ❌
  • 名称要直观反映功能

5.2 SKILL.md 写作技巧

  • 描述要具体:不要写”处理消息”,要写”接收微信消息并自动回复”
  • 边界要清晰:说明什么情况下应该使用这个技能
  • 示例要丰富:给出用户可能说的典型请求

5.3 安全注意事项

⚠️ 重要提醒

  • 不要创建会泄露隐私数据的技能
  • 对外部 API 的调用要有限流和错误处理
  • 涉及资金、账号的操作要二次确认
  • 定期审计已安装的技能

5.4 性能优化

  • 避免技能之间的循环调用
  • 耗时操作使用后台执行(background)
  • 缓存频繁访问的数据
  • 限制并发执行数量

六、实战案例:从想法到上线

让我们完整走一遍创建一个实用技能的过程。

场景

你希望 AI 能帮你自动整理每天收到的重要消息,并在晚上 8 点生成一份摘要发送到你的微信。

步骤 1:需求分析

  • 输入:当天所有消息记录
  • 处理:筛选重要消息(关键词匹配 + AI 摘要)
  • 输出:格式化摘要发送到微信
  • 触发:每天 20:00 自动执行

步骤 2:创建技能目录

mkdir -p ~/.openclaw/workspace/skills/message-digestcd ~/.openclaw/workspace/skills/message-digest

步骤 3:编写 SKILL.md

# message-digest - 消息摘要技能## 功能描述自动收集当天的消息记录,筛选重要内容,生成摘要并发送给用户。## 触发条件- 定时任务触发(每日 20:00)- 用户手动请求("生成今天的消息摘要")## 执行流程1. 获取当天消息历史(sessions_history)2. 筛选重要消息(关键词:会议、提醒、截止、紧急)3. 调用 AI 生成摘要4. 通过 message 工具发送到微信## 配置项- `digest_time`: 摘要生成时间(默认 20:00)-`keywords`: 重要消息关键词列表-`channel`: 发送渠道## 依赖工具- sessions_history- message- sessions_list

步骤 4:配置定时任务

openclaw cron add \  --name "daily-message-digest" \  --schedule "0 20 * * *" \  --payload '{"kind": "agentTurn", "message": "生成今天的消息摘要"}'

步骤 5:测试与迭代

  • 手动触发一次,检查摘要质量
  • 调整关键词列表,减少噪音
  • 优化摘要格式,提高可读性

步骤 6:分享(可选)

如果你觉得这个技能对别人也有用,可以发布到 ClawHub:

clawhub publish ./message-digest

七、进阶思考:Skills 的边界在哪里?

写到这儿,我想请你思考几个问题:

问题 1:什么不应该做成 Skill?

不是所有功能都适合 Skills 化。

  • 一次性任务:写个脚本就行,没必要封装成 Skill
  • 过于复杂的工作流:可能需要独立应用而非 Skill
  • 涉及核心安全的功能:要谨慎评估风险

判断标准:这个功能是否会被重复使用?是否值得标准化

问题 2:Skills 会让 AI 变得”太强大”吗?

这是一个值得思考的伦理问题。

当你的 AI 助理可以:

  • 自动发消息给任何人
  • 访问你的所有文件
  • 操作你的各种账号

你如何确保它不会被滥用?

我的建议:

  • 敏感操作要人工确认
  • 定期审计已安装的技能
  • 最小权限原则:只给必要的访问权限

问题 3:未来 Skills 会如何演进?

我预测几个趋势:

  1. 技能市场会成熟:像 APP Store 一样,形成完整的生态
  2. 技能会变得更智能:AI 自动选择、组合、优化技能
  3. 跨平台技能:一个技能可以在多个 AI 助理平台运行
  4. 可视化创建:无需写代码,拖拽式创建技能

八、动手时间:你的第一个 Skill

读到这里,你应该已经对 Skills 有了完整的理解。

现在,我给你留一个作业:

创建一个属于你自己的 Skill。

它可以是:

  • 一个每日习惯提醒
  • 一个自动回复规则
  • 一个数据备份脚本
  • 一个信息聚合工具

步骤

  1. 想清楚要解决什么问题
  2. 创建技能目录和 SKILL.md
  3. 测试它是否工作
  4. (可选)发布到 ClawHub 分享给别人

完成后,你会有一种感觉:这个 AI 助理,真的是我的了。


结语

Skills 的本质,是让 AI 助理从通用走向专属

每个人都有自己的生活习惯、工作流程、信息渠道。一个没有 Skills 的 AI,就像一个没有安装任何 APP 的手机——功能强大,但与你无关。

而当你开始创建、安装、组合 Skills 时,你实际上是在训练 AI 理解你的世界

这个过程需要时间,需要迭代,需要耐心。

但当你某天发现,AI 主动提醒你”今天有雨,记得带伞”,或者”你关注的文章更新了”,或者”服务器 CPU 使用率异常”时——

你会明白,这一切都是值得的。


最后,回到开头的问题:

“如果给你的 AI 助理装上一个新技能,你最想让它学会什么?”

现在,你有答案了吗?

如果有,那就动手去做吧。

Skills 的世界,从零到一,只差你的一次尝试。


本文基于 OpenClaw 技能体系编写,部分概念可能因平台而异。核心思路通用,具体实现请参考你所用平台的文档。

如果你有任何问题或想法,欢迎在评论区留言。


延伸阅读

  • OpenClaw 官方文档[1]
  • ClawHub 技能市场[2]

引用链接

[1]OpenClaw 官方文档: https://docs.openclaw.ai

[2]ClawHub 技能市场: https://clawhub.com