OpenClaw 实战:5 个核心 Skill 详解与提示词指南

69 阅读16分钟

OpenClaw 的核心能力由 Skill 提供。本文详细介绍 5 个常用 Skill 的功能、配置方法,以及如何通过提示词与它们交互。所有示例均可直接复制使用。


什么是 Skill?

Skill 是 OpenClaw 的能力模块,类似于手机的 App。每个 Skill 提供一种特定能力:

  • 🌤️ Weather - 天气查询能力
  • 💬 Message - 消息发送能力
  • 🤖 Coding-Agent - AI 写代码能力
  • 🧠 Memory - 长期记忆能力
  • 📊 Feishu - 飞书协作能力

Skill 从哪来?

Skill 是 OpenClaw 内置的,由官方或社区开发,安装 OpenClaw 后自动可用。

获取方式:

  1. 内置 Skill - 安装 OpenClaw 后自动包含
  2. 扩展 Skill - 通过插件安装(如 ACP 运行时)
  3. 自定义 Skill - 高级用户可自己开发

如何使用 Skill?

直接向 OpenClaw 发送消息即可,AI 会自动识别并调用对应的 Skill。

示例:

帮我查一下北京天气  → 自动调用 Weather Skill
给张三发个消息      → 自动调用 Message Skill
写一个 Python 函数   → 自动调用 Coding-Agent Skill

Skill 1:Weather - 天气查询

功能说明

Weather Skill 提供天气查询能力,基于 wttr.in 免费 API,无需注册,无需 API key。

支持:

  • 当前天气查询
  • 天气预报(未来 3-7 天)
  • 全球城市支持
  • 多种输出格式

配置方法

无需配置,安装 OpenClaw 后即可使用。

原理:

# 内部调用
curl "wttr.in/Beijing?format=j1"

提示词示例

基础查询:

帮我查一下北京天气
上海天气怎么样
纽约现在多少度

带时间查询:

北京明天会下雨吗
上海周末天气如何
纽约未来 3 天天气预报
下周北京的天气趋势

场景化查询:

现在适合洗车吗
现在适合运动吗
今天需要带伞吗
现在适合穿短袖吗

特殊格式:

用表格形式列出北京未来 3 天天气
用 JSON 格式返回天气数据

输出示例

🌤️ 北京天气

当前温度:2°C
体感温度:-1°C
天气状况:部分多云
风速:东南风 12 km/h
湿度:64%
降水概率:10%

建议:
• 早晚温差较大,建议带件外套
• 空气质量良好,适合户外活动
• 降水概率低,无需带伞

提示词技巧

1. 包含地点

❌ 天气怎么样
✅ 北京天气怎么样
✅ 上海浦东新区天气

2. 包含时间

❌ 会下雨吗
✅ 北京明天会下雨吗
✅ 上海周末天气如何

3. 具体化需求

❌ 天气如何
✅ 现在适合洗车吗
✅ 今天需要带伞吗

4. 指定格式

用表格形式列出天气
用 JSON 格式返回数据

常见问题

Q: 需要 API key 吗?

A: 不需要。wttr.in 是免费服务。

Q: 支持哪些城市?

A: 支持全球绝大多数城市,包括城市名、机场代码、坐标。

Q: 数据更新频率?

A: 每小时更新一次。


Skill 2:Message - 消息发送

功能说明

Message Skill 提供跨平台消息发送能力,支持多个消息渠道。

支持渠道:

  • ✅ 飞书(工作)
  • ✅ Telegram(技术社群)
  • ✅ WhatsApp(海外客户)
  • ✅ Discord(开源项目)
  • ✅ Slack(团队协作)
  • ✅ 微信(开发中)

支持内容:

  • 文本消息
  • 文件(文档、图片、视频)
  • 富文本卡片
  • 定时消息

配置方法

# 配置飞书
openclaw configure --channel feishu

# 配置 Telegram
openclaw configure --channel telegram

# 配置 WhatsApp
openclaw configure --channel whatsapp

# 查看已配置的渠道
openclaw status

配置流程:

  1. 运行配置命令
  2. 扫码登录(飞书)或输入 Token(Telegram)
  3. 授权机器人权限
  4. 完成配置

提示词示例

发送文本消息:

给张三发个飞书,提醒他下午 3 点开会
在项目群里发个通知,说今晚 8 点上线
用 Telegram 给技术群发个消息
给李四发个 WhatsApp,说明天会议取消了

发送文件:

把这篇文章发给李四
把这个截图发给设计组
把会议纪要发给参会人员
把视频文件发给客户

定时发送:

明天早上 9 点提醒小王开会
下周一提醒我提交周报
每天晚上 10 点提醒我睡觉
每小时提醒我喝水

回复消息:

帮我回复张三,说下午 3 点的会议我参加
帮我回复王五,说文档已经准备好了

群发消息:

在所有项目群里发个通知,说系统今晚维护
给产品组所有人发个消息,说明天评审会

富文本消息:

给产品组发个数据报告卡片:
- 标题:📊 本周数据
- 内容:本周增长 23%,用户数突破 10 万
- 按钮:查看详情

输出示例

 已发送消息

收件人:张三
渠道:飞书
内容:提醒他下午 3 点开会
发送时间:2026-03-04 13:00
消息 ID: om_xxx

提示词技巧

1. 指定渠道

❌ 给张三发消息
✅ 用飞书给张三发消息
✅ 用 Telegram 给技术群发消息

2. 指定收件人

❌ 发个消息
✅ 给张三发个消息
✅ 在项目群里发个通知

3. 指定时间

❌ 提醒我开会
✅ 明天早上 9 点提醒我开会
✅ 下周一提醒我提交周报

4. 附上文件

把这篇文章发给李四
[附上文件]

常见问题

Q: 如何知道消息发送成功?

A: OpenClaw 会返回确认信息,包含消息 ID 和发送时间。

Q: 可以撤回消息吗?

A: 取决于渠道支持,飞书和 Telegram 支持撤回。

Q: 支持发送语音吗?

A: 部分渠道支持,飞书支持发送语音消息。


Skill 3:Coding-Agent - AI 写代码

功能说明

Coding-Agent Skill 提供 AI 写代码能力,支持多种编程语言和框架。

使用方式:

  1. 内置模式 - 简单代码任务,无需配置
  2. ACP 模式 - 复杂项目,需要安装 ACP 运行时(Claude Code、Codex 等)

支持任务:

  • 编写函数/类/组件
  • 修复 bug
  • 重构代码
  • 代码审查
  • 创建完整项目

配置方法

内置模式(简单任务):

# 无需配置,直接使用

ACP 模式(复杂任务):

# 1. 安装 ACP 运行时插件
npm install -g @openclaw/acpx

# 2. 配置
openclaw configure --runtime acp

# 3. 验证配置
openclaw status

提示词示例

简单任务(内置模式):

帮我写一个 Python 函数,计算两个数的最大公约数
创建一个 React 组件,显示用户列表
写一个 Express API,支持 CRUD 操作
帮我修复这个 bug:[附上错误信息]
写一个 SQL 查询,统计每个用户的订单数

复杂任务(ACP 模式):

用 Claude Code 帮我创建一个科技感风格的视频字幕组件
要求:
1. 打字机效果,逐字显示
2. 霓虹发光文字,青色
3. 半透明背景面板
4. 光标闪烁效果
5. 场景切换时自动清除上一场景

代码审查:

帮我审查这个 PR,把意见发到 GitHub
检查这段代码有没有性能问题
帮我优化这个函数的代码

项目创建:

帮我创建一个 React + TypeScript 项目
帮我创建一个 Express REST API 项目
帮我创建一个 Next.js 博客系统

文件操作:

帮我修改 src/components/Button.tsx,添加 loading 状态
帮我删除所有未使用的 import
帮我重命名这个函数

输出示例

✅ 已创建文件

文件路径:src/components/Subtitles.tsx

代码特点:
- 使用 useCurrentFrame() 获取当前帧
- 根据时间计算应显示的字符数
- 添加霓虹文字样式(textShadow)
- 实现光标闪烁动画

预览命令:
cd social-media/remotion-video
npm run dev

核心代码示例

import { useCurrentFrame } from 'remotion';

// 辅助函数:十六进制转 RGB
function hexToRgb(hex: string): string {
  const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  return result
    ? `${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}`
    : '0, 240, 255';
}

export const Subtitles: React.FC = () => {
  const frame = useCurrentFrame();
  const currentTime = frame / 30; // 30fps

  // 找到当前时间对应的字幕
  const currentSubtitle = audioTimestamps.find(
    (ts) => currentTime >= ts.start && currentTime < ts.end
  );

  if (!currentSubtitle) {
    return null;
  }

  // 计算打字机效果
  const timeInSegment = currentTime - currentSubtitle.start;
  const segmentDuration = currentSubtitle.end - currentSubtitle.start;
  const progress = Math.min(timeInSegment / segmentDuration, 1);
  
  // 计算应显示的字符数
  const totalChars = currentSubtitle.text.length;
  const visibleChars = Math.floor(totalChars * progress);
  const displayText = currentSubtitle.text.substring(0, visibleChars);

  // 光标闪烁
  const showCursor = Math.floor(frame / 15) % 2 === 0;

  const neonColor = '#00F0FF';

  return (
    <div style={{ position: 'absolute', bottom: 60, zIndex: 1000 }}>
      <div style={{
        backgroundColor: 'rgba(10, 10, 18, 0.85)',
        border: `1px solid rgba(${hexToRgb(neonColor)}, 0.3)`,
        borderRadius: 12,
        backdropFilter: 'blur(10px)',
      }}>
        <p style={{
          color: 'white',
          fontSize: 36,
          textShadow: `0 0 10px ${neonColor}, 0 0 20px ${neonColor}`,
        }}>
          {displayText}
          {showCursor && visibleChars < totalChars && (
            <span style={{
              width: 3,
              height: 36,
              backgroundColor: neonColor,
              animation: 'blink 0.5s step-end infinite',
            }} />
          )}
        </p>
      </div>
    </div>
  );
};

提示词技巧

1. 指定语言/框架

❌ 写一个函数
✅ 写一个 Python 函数
✅ 写一个 React 组件

2. 指定功能

❌ 写个代码
✅ 写一个计算最大公约数的函数
✅ 写一个显示用户列表的组件

3. 提供上下文

❌ 修复 bug
✅ 修复这个 bug:[错误信息]
✅ 修复这个 bug:[相关代码]

4. 设定约束

写一个 Python 函数,要求:
1. 输入两个数
2. 返回最大公约数
3. 添加完整的注释
4. 包含使用示例

5. 迭代优化

第一轮:帮我写一个 Python 函数,计算最大公约数
第二轮:给这个函数添加错误处理
第三轮:再添加单元测试

常见问题

Q: 什么时候用内置模式,什么时候用 ACP 模式?

A:

  • 内置:简单代码片段、函数、算法
  • ACP:复杂项目、多文件、需要文件探索

Q: Claude Code 需要付费吗?

A: 是的,Claude Code 是 Anthropic 的付费服务。

Q: 可以直接修改现有代码吗?

A: 可以,提供文件路径和修改需求即可。


Skill 4:Memory - 长期记忆

功能说明

Memory Skill 提供长期记忆能力,让 AI 记住你的偏好、项目背景、历史决策。

存储位置:

~/.openclaw/workspace/
├── SOUL.md          # AI 人格定义
├── USER.md          # 用户信息
├── MEMORY.md        # 长期记忆(精选)
└── memory/
    ├── 2026-03-04.md   # 每日日志
    ├── 2026-03-03.md
    └── ...

特点:

  • 本地存储,隐私安全
  • 自动搜索和召回
  • 支持更新和删除

配置方法

无需配置,默认启用。

提示词示例

记住信息:

记住,我每天早上 8:30 需要晨间简报
记住,我喜欢用深色主题
记住,项目代号"Phoenix",是一个视频生成工具
记住,下周要完成的事:1.发布文章 2.代码审查
记住,客户张三的手机号是 138-xxxx-xxxx

查询历史:

我记得上次说过视频项目的事,具体内容是什么
搜索所有关于"会议"的记录
我之前的项目进度是什么样的
查找关于"张三"的所有记录

更新记忆:

把视频项目的状态改成"已完成"
更新我的偏好:现在喜欢浅色主题
修改会议时间:从下午 3 点改成 4

删除记忆:

删除关于视频项目的记忆
删除过时的待办事项

批量查询:

显示本周的所有记录
搜索上个月关于"产品"的讨论
列出所有未完成的任务

输出示例

记住信息:

✅ 已记录

内容:每天早上 8:30 需要晨间简报
位置:memory/2026-03-04.md
时间:2026-03-04 13:00

我会在每天 8:30 自动发送晨间简报。

查询历史:

🔍 搜索结果:视频项目

找到 3 条相关记录:

1. 2026-02-28: 决定用 Remotion 做视频生成
   Source: memory/2026-02-28.md#L15

2. 2026-03-01: 完成第一个 demo,69 
   Source: memory/2026-03-01.md#L8

3. 2026-03-03: 优化字幕效果,打字机风格
   Source: memory/2026-03-03.md#L22

需要我展开哪个记录的详情吗?

提示词技巧

1. 使用关键词

记住,项目代号"Phoenix",是一个视频生成工具

2. 分类记录

记住,我的偏好:喜欢深色主题
记住,项目信息:视频生成项目
记住,待办事项:下周发布文章

3. 及时更新

把视频项目的状态改成"已完成"

4. 便于搜索

记住,客户张三,手机号 138-xxxx-xxxx,负责采购

常见问题

Q: 记忆会一直保存吗?

A: 是的,除非手动删除,否则会一直保存在本地文件系统。

Q: 隐私安全吗?

A: 所有记忆存储在本地,不会上传到云端。

Q: 可以导出记忆吗?

A: 可以,直接复制 ~/.openclaw/workspace/memory/ 下的文件即可。


Skill 5:Feishu - 企业协作

功能说明

Feishu Skill 提供飞书企业协作能力,支持消息、文档、多维表格等操作。

支持功能:

  • 发送消息(文本/文件/媒体)
  • 读取/创建/更新文档
  • 操作多维表格(Bitable)
  • 管理知识库(Wiki)
  • 日历管理

配置方法

openclaw configure --channel feishu

配置流程:

  1. 运行配置命令
  2. 扫码登录飞书
  3. 授权机器人权限
  4. 完成配置

提示词示例

发送消息:

在飞书上给张三发消息:下午 3 点开会
在项目群里发个通知,说今晚 8 点上线
给产品组所有人发个消息,说明天评审会

发送文件:

把这个文档发给李四
把会议纪要发给参会人员
把视频文件发给客户

读取文档:

帮我看看这个文档的内容
https://xxx.feishu.cn/docx/xxxxx

帮我总结一下这个文档的主要内容
提取这个文档里的关键信息

创建文档:

创建一个新的飞书文档,标题是"会议纪要"
帮我写个周报,然后创建成飞书文档

操作多维表格:

在项目进度表里加一条记录:
- 任务:用户模块开发
- 负责人:李四
- 状态:进行中
- 截止日期:本周五

查询所有未完成的任务
更新任务 A 的状态为"已完成"
导出项目进度表为 Excel

知识库管理:

在知识库中创建一个新页面,记录 API 文档
更新产品文档的最新版本

输出示例

发送消息:

 已发送飞书消息

收件人:张三
内容:下午 3 点开会
发送时间:2026-03-04 13:00
消息 ID: om_xxx

读取文档:

📄 文档内容摘要

标题:Q1 产品规划
作者:产品组
更新时间:2026-03-01

主要内容:
1. 用户增长目标:+30%
2. 新功能:AI 助手、数据分析
3. 时间节点:3 月底上线

操作表格:

✅ 已创建记录

表格:项目进度表
记录 ID: rec_xxx
字段:
- 任务:用户模块开发
- 负责人:李四
- 状态:进行中
- 截止日期:2026-03-08

提示词技巧

1. 附上链接

帮我看看这个文档的内容
https://xxx.feishu.cn/docx/xxxxx

2. 明确操作

查看这个文档
更新这个表格
创建新文档

3. 指定字段

在项目进度表里加一条记录:
- 任务:xxx
- 负责人:xxx
- 状态:xxx

Feishu Skill vs Message Skill

功能Message SkillFeishu Skill
发送消息
发送文件
读取文档
创建文档
多维表格
知识库
日历

常见问题

Q: 需要管理员权限吗?

A: 普通用户权限即可,但某些操作(如创建知识库)可能需要额外权限。

Q: 支持发送机器人消息吗?

A: 支持,可以配置机器人发送消息。

Q: 可以读取群消息吗?

A: 可以,需要授权相应权限。


组合使用:多 Skill 协作

场景 1:晨间简报

提示词:

帮我准备今天的晨间简报,发到飞书

执行流程:

  1. Weather → 查询天气
  2. Memory → 读取待办
  3. Message → 发送简报

输出:

✅ 已发送晨间简报

📅 晨间简报 | 2026 年 3 月 4 日

【天气】北京 2°C,部分多云
      体感温度:-1°C
      建议:带件外套

【待办】
• 💧 喝水提醒(每小时 9:00-21:00)
• 🏃 锻炼提醒 - 今日 17:30
• 📖 阅读提醒 - 今日 20:00

场景 2:项目汇报

提示词:

帮我准备项目汇报材料,发到产品群

执行流程:

  1. Feishu → 读取项目进度
  2. Memory → 查询历史记录
  3. Message → 发送汇报

输出:

✅ 已发送项目汇报

📊 项目进度汇报

【本周完成】
• 用户模块开发(100%)
• 数据接口对接(80%)
• UI 优化(100%)

【下周计划】
• 测试与修复
• 性能优化
• 准备上线

场景 3:代码审查

提示词:

帮我审查这个 PR,把意见发到 GitHub

执行流程:

  1. Coding-Agent → 分析代码
  2. Memory → 查询代码规范
  3. Message → 发送审查意见

输出:

✅ 已发送审查意见

【代码审查】

✅ 优点:
- 代码结构清晰
- 测试覆盖完整

⚠️ 建议:
- 添加错误处理
- 优化循环性能

📝 已评论到 PR #123

提示词核心原则

1. 直接说需求

❌ 不好:

你好,请问能不能帮我查一下北京今天的天气?麻烦了

✅ 好:

帮我查一下北京天气

原因:OpenClaw 是工具,直接说需求更高效。


2. 明确动作 + 对象

公式:动作 + 对象 + (可选)细节

动作对象细节示例
查询天气北京帮我查一下北京天气
发送消息给张三给张三发个消息,说下午 3 点开会
创建代码Python 函数写一个 Python 函数,计算最大公约数
记住事项晨间简报记住,我每天早上 8:30 需要晨间简报
读取文档飞书链接帮我看看这个文档的内容

3. 分步骤提问

❌ 一次性太多:

帮我查一下北京天气,然后给张三发个消息,再帮我写个 Python 函数,最后把结果发到群里

✅ 分步骤:

帮我查一下北京天气

(等待回复后)

给张三发个消息,说我晚点到

(等待回复后)

帮我写一个 Python 函数,计算最大公约数

4. 提供上下文

❌ 缺少上下文:

帮我修复这个 bug

✅ 提供上下文:

帮我修复这个 bug:
[错误信息]
[相关代码]

5. 指定输出格式

用表格形式列出我的待办事项
用 Markdown 格式写一份会议纪要
用 JSON 格式返回天气数据

6. 设定约束条件

写一个 Python 函数,要求:
1. 输入两个数
2. 返回最大公约数
3. 添加完整的注释
4. 包含使用示例

7. 迭代优化

第一轮:

帮我写一个 Python 函数,计算最大公约数

第二轮:

给这个函数添加错误处理

第三轮:

再添加单元测试

配置清单

Skill提示词示例配置需求难度
Weather帮我查一下北京天气无需
Message给张三发个飞书配置渠道⭐⭐
Coding-Agent写一个 Python 函数无需/可选 ACP⭐⭐⭐
Memory记住,...无需
Feishu在飞书上给张三发消息配置渠道⭐⭐

快速参考

第一句话怎么说?

帮我查一下北京天气

怎么发送消息?

[谁] 发个 [渠道],说 [什么]

怎么让 AI 写代码?

帮我写一个 [语言/框架] [功能]

怎么记住信息?

记住,[内容]

怎么处理文档?

[操作] 这个文档:[链接]

实践建议

  1. 从简单开始:先尝试天气查询、消息发送
  2. 逐步复杂:熟练后尝试代码创建、组合任务
  3. 记录常用提示词:建立自己的提示词库
  4. 迭代优化:根据回答调整提示词
  5. 分享交流:和同事分享好用的提示词

关于本文:所有示例均经过实际测试,可直接复制使用。