乐于分享
好东西不私藏

OpenClaw Skills 全解析:安装、功能与自定义开发

OpenClaw Skills 全解析:安装、功能与自定义开发

OpenClaw 的 Skills 是扩展 AI 能力的核心机制,本质是包含 SKILL.md 配置文件的目录,通过声明触发场景、执行逻辑与工具权限,让 AI 完成特定任务(如网页浏览、数据抓取、表单填写等)。以下是详细的安装、功能说明与自定义编写指南。

一、Skills 安装方式

1. 官方 ClawHub 安装(推荐)

通过 ClawHub CLI 管理官方/社区技能,支持搜索、安装、升级与卸载。

前置依赖

需先安装 Node.js(v22+)与 ClawHub CLI:

# 安装 ClawHub CLInpm install -g clawhub

常用命令

命令
作用
示例
clawhub search <关键词>
搜索技能
clawhub search web-browsing
clawhub install <技能名>
安装技能
clawhub install web-browsing

(网页浏览)clawhub install nano-banana-pro(图像生成)
clawhub list
列出已安装技能
clawhub update --all
升级所有技能
clawhub uninstall <技能名>
卸载技能

2. 本地手动安装

适合团队内部或个人专属技能,无需发布到 ClawHub,直接放入本地技能目录。

标准目录结构

~/.openclaw/workspace/skills/└── 你的技能名/    ├── SKILL.md  # 核心配置文件(必需)    └── scripts/    # 执行脚本(可选,如 JS/Python/Bash)    └── config.json     # 可选:配置文件

快速创建示例

# 创建技能目录mkdir -p ~/.openclaw/workspace/skills/hello-world# 编写核心配置文件cat > ~/.openclaw/workspace/skills/hello-world/SKILL.md << 'EOF'---name: hello-worlddescription: 当用户请求打招呼时触发,返回问候语---# Hello World 技能当用户输入“你好”“打招呼”等问候语时,使用 echo 工具返回欢迎信息。EOF

加载生效

创建或修改后,需重启会话或 OpenClaw Gateway 使技能生效:

# 重启网关openclaw gateway restart# 验证技能加载openclaw skills list

3. 模板初始化(快速开发)

使用官方 skill-creator 技能生成标准化项目模板,降低开发成本。

# 安装模板工具clawhub install skill-creator@latest# 初始化新技能(自动生成目录、配置文件与脚本骨架)python3 ~/.openclaw/skills/skill-creator/scripts/init_skill.py my-new-skill \--path ~/.openclaw/skills/ \--author "你的名字" \--version "1.0.0" \--description "自定义技能描述"

初始化后会自动生成 SKILL.mdmanifest.yaml、脚本入口文件与测试文件,直接编辑即可开发。

二、核心功能与常用技能

1. 核心功能定位

Skills 是 AI 能力的“扩展包”,通过声明触发条件(如用户提问关键词)、工具权限(如网络请求、文件读写)与执行逻辑,让 AI 自主完成任务,而非局限于内置能力。

2. 常用技能及用途

技能名
核心功能
适用场景
web-browsing
网页浏览、信息提取、链接跳转
搜索网页内容、获取实时资讯
nano-banana-pro
图像生成、封面设计、视觉草图
制作公众号封面、流程图素材
weather
天气查询、多日预报
出行规划、日常天气提醒
pdf/docx/xlsx
文档解析、格式转换、数据处理
提取 PDF 文本、编辑 Word/Excel
github
仓库管理、PR/Issue 处理
代码协作、CI 状态查看

3. 技能加载优先级

本地工作区技能 > 共享技能 > 官方内置技能,优先级高的技能会覆盖同名低优先级技能。

查看skills

三、自定义编写 Skill 全流程

1. 核心概念

  • SKILL.md:核心配置文件,采用 YAML 前端配置 + Markdown 指令 格式,定义技能元数据与执行逻辑。
  • 工具(Tools):AI 执行任务的“手脚”,如 Bash(执行命令)、Read(读文件)、Write(写文件)、WebSearch(网络搜索)等,需在配置中声明最小权限集合。

2. 开发步骤(标准流程)

步骤 1:需求分析与设计

明确技能的触发场景(如“用户查询天气”)、核心功能(如“获取城市天气、多日预报”)、依赖工具(如 BashHTTP 请求)与异常处理(如网络异常、城市不存在)。

步骤 2:编写 SKILL.md 核心配置

基础结构(YAML 前端配置)
---name: 技能名(kebab-case 格式,全局唯一)description: 技能描述(关键!AI 据此判断触发时机,越具体越好)version: 1.0.0(语义化版本)author: 作者名metadata:openclaw:os: ["darwin""linux""win32"](支持的系统)requires:bins: ["curl""python3"](必需的系统命令)env: ["API_KEY"](必需的环境变量,如第三方服务密钥)config: ["feature.enabled"](必需的配置项)---
Markdown 指令体

描述触发条件执行步骤示例限制,示例如下(天气查询技能):

# 天气查询技能## 触发当用户询问“天气”“温度”“未来几天天气”时触发。## 执行1. 从用户提问中提取城市名称(如“北京”“上海”);2. 调用天气 API(如 wttr.in)获取天气数据;3. 格式化返回结果,包含城市、温度、天气状况、未来预报;4. 异常处理:无网络时提示“网络不可用”,城市不存在时提示“暂不支持该城市”。## 示例- 用户:“北京今天天气怎么样?”- AI:“北京 2026年04月21日 天气:晴,18℃,微风,适合出行。”## 限制仅支持国内主要城市,暂不支持小众县城。

步骤 3:编写执行脚本(可选)

若技能需要复杂逻辑(如 API 调用、数据处理),可在 scripts 目录下编写脚本(支持 Node.js、Python、Bash 等),并在 SKILL.md 中引用。

示例(Node.js 脚本:天气查询)

创建 scripts/weather.js

#!/usr/bin/env nodeconst fetch = require('node-fetch');const city = process.argv[2] || '北京';// 调用天气 APIasync function getWeather(city) {try {const response = await fetch(`https://wttr.in/${city}?format=3`);if (!response.okthrow new Error('API 请求失败');return response.text();  } catch (error) {return `获取天气失败:${error.message}`;  }}// 执行并输出结果getWeather(city).then(console.log);

在 SKILL.md 中引用:

## 执行运行 scripts/weather.js 脚本,传入城市参数获取天气数据。

步骤 4:本地测试

# 安装本地技能openclaw skill install --path ~/.openclaw/workspace/skills/天气查询# 测试触发openclaw agent --message "北京今天天气怎么样?"# 或通过聊天交互测试openclaw chat

步骤 5:发布到 ClawHub(可选)

若需分享给社区,需先完善 manifest.yaml 与 README.md,再执行发布命令:

# 进入技能目录cd ~/.openclaw/workspace/skills/天气查询# 发布(需 ClawHub 账号)openclaw skill publish

3. 编写规范与最佳实践

  1. 命名规范:技能名使用 kebab-case(小写+连字符),全局唯一。
  2. 描述精准description 需明确触发场景,让 AI 快速匹配(如“当用户查询火车票余票、车次、票价时触发”)。
  3. 权限最小化:仅声明必需的工具(如无需文件读写时不添加 Read/Write),避免安全风险。
  4. 异常处理:返回友好提示(如“网络不可用,请检查网络后重试”),不暴露堆栈信息。
  5. 技能单一职责:一个技能只完成一个核心任务(如“天气查询”专注天气,不包含新闻推荐)。

四、常见问题与排障

  1. 技能未加载:检查目录结构是否正确(必须包含 SKILL.md),重启 OpenClaw Gateway 或开启新会话。
  2. 依赖缺失:通过 metadata.openclaw.requires.bins 声明依赖,或在脚本中安装依赖(如 npm installpip install)。
  3. 触发失败:优化 description 与触发条件描述,确保 AI 能匹配用户提问。
  4. 权限不足:检查技能目录权限,或在配置中声明 user 权限。

skills地址

ClawHub 是 OpenClaw 的公共技能注册表,用于发现、安装、更新和备份 Skills。

 官方地址:https://clawhub.ai/

 国内镜像地址(速度更快):https://skillhub.tencent.com/

总结

OpenClaw Skills 是灵活扩展 AI 能力的核心,通过 ClawHub 快速安装官方技能 或 本地自定义编写专属技能,可满足网页浏览、数据处理、图像生成等多样化需求。自定义开发的核心是编写规范的 SKILL.md 配置文件,结合脚本实现复杂逻辑,遵循权限最小化与异常处理规范,可打造高效、安全的专属技能。

1700+技能自由!OpenClaw 本地AI自动化框架,小白也能一键部署
OpenClaw 小龙虾零基础完整安装文档
养龙虾必备-ClawX 开源 AI 研究助手