夜雨聆风学习资料网

ARTICLE · 1091557

OpenClaw skill_workshop 实战:把「踩过的坑」变成可复用的技能包

OpenClaw skill_workshop 实战:把「踩过的坑」变成可复用的技能包

为什么需要 skill_workshop

你一定有过这种经历:某个环境配置、某个部署报错,第一次花两小时查出来,第二次又花两小时——因为上次只记在脑子里(或根本没有记)。

OpenClaw 的 skill_workshop 工具就是专门解决这件事的:把已经跑通的操作步骤,提炼成一个可复用的 Skill(技能包),下次遇到同类问题,AI 直接加载技能照做,不用重新摸索。

它和 skills/ 目录里现成的技能不同:现成技能是别人写好的,而 skill_workshop 让你把自己工作区里验证过的真实流程沉淀成新技能。

skill_workshop 能做什么

这个工具不是让你手写一堆文件,它管的是技能的「生命周期」:

| 动作(action) | 作用 | 什么时候用 |

|---|---|---|

| create | 从零新建一个技能提案 | 你有一个反复出现的任务想固化 |

| prepare_patch / patch | 对现有技能做精准修改 | 某个技能步骤过时了、有坑没写 |

| read | 读取正在运行的技能完整内容 | 想看清一个技能到底怎么写的 |

| revise | 整体重写某个技能 | 技能逻辑要大改 |

| list | 查看待处理(pending)的技能提案 | 攒了一堆想法,先盘点 |

| inspect | 检查某个提案/支持文件 | 发布前确认内容是否完整 |

| evaluate | 用插件评估草稿质量 | 想判断技能写得够不够好 |

| apply / reject / quarantine | 应用 / 拒绝 / 隔离某个提案 | 评审通过或淘汰 |

| history | 查看最近 20 条处理记录 | 回溯「上次那个技能怎么改的」 |

| restore_collection | 还原上次清理保留的备份 | 误操作后回退 |

关键点:你写的叫「提案(proposal)」,只有 apply 之后它才变成真正生效的 SKILL.md。这层保护很实用——写错了不会直接污染工作区。

实操:把一次部署排错固化成技能

下面用真实流程演示。假设你刚解决了一个「Nginx 反代 WebSocket 一直 502」的问题,想把排错步骤存下来。

第一步:新建提案

调用 skill_workshop,动作选 create,描述写清触发场景:

action: create
name: nginx-websocket-502-debug
description: 当 OpenClaw 频道(飞书/微信)WebSocket 连接反代后频繁 502/掉线时激活。
              按「查 upstream 配置 → 查 Upgrade 头 → 查 proxy_read_timeout → 改配置重载」顺序排查。

create 之后工具会返回提案路径,内容还是空壳——你接下来要填的是步骤,不是文档。

第二步:写步骤(这是核心)

一个好技能只写「操作步骤 + 完成判据」,不写背景故事。示例正文骨架:

# SKILL.md

## 触发
飞书/微信频道经 Nginx 反代后 WebSocket 频繁 502 或几分钟掉线。

## 步骤
1. 检查反代配置是否带 Upgrade 头:
   `grep -n "Upgrade" /etc/nginx/sites-enabled/你的站点`
   判据:必须同时存在 `Upgrade $http_upgrade;` 和 `Connection "upgrade";`。
2. 检查 read/timeout:
   `grep -n "proxy_read_timeout" /etc/nginx/sites-enabled/你的站点`
   判据:低于 60s 会导致长连接被掐,建议设为 300s。
3. 修改后测试配置并重载:
   `nginx -t && systemctl reload nginx`
   判据:`nginx -t` 输出 `syntax is ok` 且 `test is successful`。

## 验证
用频道发一条消息,静置 5 分钟无掉线即修复成功。

注意三条铁律(来自技能编写规范):

  • 步骤以动作结尾
    ,每步带一个 AI 能自查的「完成判据」。
  • 只写步骤,不写记录
    :日志、历史、个人偏好属于记忆文件,不该塞进技能。
  • 句子都要改变行为
    :复述默认、空话、纯描述一律删掉。

第三步:发布前评估与修复

写好草稿后,用 action: evaluate 跑一遍插件评估,看技能是否够「可操作」。如果评估指出「某步缺少判据」,用 prepare_patch 精确补上那一段,而不是整篇重写。

第四步:应用

确认无误后 action: apply,提案内容写入对应技能的 SKILL.md,正式生效。下次同类问题,AI 加载该技能会直接走这套流程。

几个容易踩的坑

  • 不要把一次性任务写成技能
    。技能解决的是「会重复出现」的问题。一次性部署脚本放 scripts/ 更合适。
  • 别在技能里塞密钥或环境细节
    。secrets 工具管凭据,技能只写方法。
  • 提案不等于生效
    。pending 状态的提案不会被加载,别以为写完了就有用——记得 apply。
  • 过时的技能比没有更糟
    。环境变了(比如 Nginx 版本升级)要 patch 或 revise,别让旧步骤误导。

和它配合的相邻能力

| 你想做的事 | 用哪个 |

|---|---|

| 固化自己的排错流程 | skill_workshop(本文) |

| 安装/搜索别人写好的技能 | clawhub |

| 审查/打磨 SKILL.md 结构 | skill-creator(现成技能) |

| 让 AI 记住长期偏好 | MEMORY.md / 记忆系统 |

一句话总结:skill_workshop 是把「我这次搞定了这个坑」变成「团队下次不用再踩」的转换器。它不神秘,核心就是「写步骤 + 给判据 + 应用生效」三步循环。把每天排掉的雷都攒成技能,你的工作区会越用越聪明。


关注公众号,获取更多 OpenClaw 实操技巧

相关学习资料