name: learned-skill-merge
description: "把反复用过的做法收成一份 SKILL.md:先盘点现有技能去重,再定结构、写正文、验触发。适合整理/合并/新写技能。"
把做法固化成技能
用于:同一套流程这周跑了不止一遍,或者发现几个技能在讲同一件事。
1. 先盘点,别急着写
ls ~/.openclaw/workspace/skills ~/.openclaw/agents/*/agent/workshop-skills
wc -l ~/.openclaw/*/skills/*/SKILL.md ~/.openclaw/agents/*/agent/workshop-skills/*/SKILL.md 2>/dev/null
两处要分清:skills/ 是手写技能(自己维护,可直接改文件);
agents/*/agent/workshop-skills/ 是 skill_workshop 生成的(改动要走工具,不能手改)。
2. 判断是"新建"还是"改旧的"
拿新做法跟已有技能的 description 对一遍。描述里有同样动作的,就是同一个技能:
- 已存在 → 补缺的步骤,不要另开一份(两份讲同一件事,下次必然读到错的那份)。
- 只是语言不同(英文/中文各一份)→ 合并成一份,或明确分工。
- 确实全新 → 再新建。
3. 正文骨架(按这个顺序,别倒)
1. 一句话说清何时用——写在描述里,也写在正文第一行。
2. 编号步骤——每步一个可执行动作,能贴命令就贴命令。
3. 判据——"什么算对",写成可核对的条件(200/000、maintainers 是否一致),不要写"注意质量"。
4. 常见坑——只写真踩过的,一条一行。
5. 不要做什么——红线放最后,最容易被跳过也最容易出事。
4. 写法要点
- 描述(frontmatter
description)写触发条件,不是功能简介:搜索是按它匹配的。 - 命令贴可直接粘贴的整段,不要贴伪代码。
- 一个技能只讲一件事;讲了两件事就拆。
- 篇幅:干货 40–80 行足够。超过 100 行通常是塞了背景介绍。
- 中文技能就写中文,别中英混排成两套术语。
5. 验触发
写完读一遍自己的 description,问:"爸爸说句什么话,会命中这条?"
答不上来 = 描述写错了,改成那句人话的说法。
坑
- 重复技能是最常见的错误:先搜再写,搜到就先改旧的。
- 交叉引用是退化信号:A 指向 B、B 不指回 A,说明边界没定清。补指针不如写一张地图。
- 把一次性的现场数据(某台机器的 IP、当天日期)写进技能,下次就过期。
- workshop 技能手改文件会在下次生成时被覆盖。
技能地图(先查这张,再决定改哪份)
手写区 workspace/skills/,可直接改文件:
| 技能 | 只管这一件事 | 不管 |
|---|---|---|
| learned-skill-merge | 怎么造/合并技能本身(本文件) | 记忆内容、调研结论 |
| memory-consolidation | 记忆审计与分流(USER / MEMORY / transient) | 日常会话的即时记录 |
| self-study-round | 自学轮次产出规范(写给谁看、写到哪) | 学习方法、内容判断 |
| plugin-audit | 已废弃,见 workshop 的 plugin-trust-audit | — |
生成区 agents/*/agent/workshop-skills/,只能通过 skill_workshop 改,手改会被覆盖。现有分工:
| 技能 | 只管这一件事 |
|---|---|
| plugin-trust-audit | 安装前核插件:官方总表、维护者、出口、版本差 |
| skill-md-editing | 改已有 SKILL.md:锚点、节顺序、回读校验 |
| exec-allowlist-denial | exec 被策略拒绝后,用允许的命令重建结论并只申请一次 |
| log-error-triage | 崩溃/重启日志按指纹归类,判断是否反复 |
| daily-memory-review | 每日复盘:事实就地写进记忆文件,做完静默 |
| daily-brief-report | 每日简报的取数与口吻 |
| farm-patrol | 农场收菜、卖货、补种、浇水 |
| qq-sticker-library | 找、存、发表情 |
| qzone-posting | 发 QQ 空间并轮询验证 |
| webchat-message-splitting | 按分隔符拆条发送 |
与上表重叠的两份,边界是「谁触发」:daily-memory-review 由定时/日常触发、就地改写、做完静默;
memory-consolidation 由「整理记忆」这类明确请求触发、先审计再落笔。判定不清时以手写那份为准。
新增技能前先在上表找一行:没有独立的一行,说明它属于已有技能的一节。
相关
<!-- obsidian-links -->
- <a href="/ME71kYBYo-jfUcHp/vault/MEMORY.md">长期记忆</a>
- <a href="/ME71kYBYo-jfUcHp/vault/skills/index.md">技能目录</a>