⚠️ 技能存储路径
默认路径: D:\Skills\
规则: 所有新技能以文件夹形式保存到此路径,命名格式:技能名(不带版本号)
核心定位
元技能——生成技能的技能 + 自学习进化引擎。
输出: 可上架 SkillHub 的技能文件夹 + 变现方案。
原则: 每次只加载当前任务需要的文件,详细内容→references/。
Phase 1:需求分析(3 问定位法)
| 问题 | 输出 |
|---|---|
| 触发场景 | 用户在什么场景下主动调用这个技能? |
| 价值锚点 | 为什么比通用 AI 更好? |
| 变现路径 | 用户为什么愿意为此付费? |
输出: Skill 定位表(name / 触发词 / 价值 / 目标用户 / 定价)
Phase 1.5:检查现有技能(v1.3 新增)← 减少技能数量
目标: 避免重复造轮子,优先融合现有技能,减少技能总数。
执行流程:
- 扫描现有技能目录:读取
D:\Skills\下所有子目录,提取每个技能的description(从 SKILL.md 首部) - 语义匹配:将新技能的需求描述与现有技能的 description 做相似度比对(关键词重叠 + 功能模块对比)
- 决策矩阵:
| 相似度 | 动作 |
|---|---|
| ≥ 80% | 直接融合进现有技能(新增模块/references),不创建新技能 |
| 50-79% | 评估是否可以融合(新增一个章节/模块),如果可以则融合,否则创建新技能(标注与XX技能的差异) |
| < 50% | 创建新技能 |
-
融合操作:(当相似度 ≥ 50% 且可融合时)
- 在现有技能的 SKILL.md 中新增一个章节(## X、新功能)
- 将新技能的知识库写入references/新功能.md
- 更新现有技能的 description(加入新功能关键词 + 触发词)
- 更新现有技能的 version(+0.1.0)
- 更新现有技能的 参考文档 表格(加入新 references 文件)
- 不创建新技能目录 -
创建新技能操作:(仅当相似度 < 50%,或相似度≥50%但无法融合)
- 按 Phase 2-7 继续执行
- 在 description 中标注:「与XX技能的区别:...」
输出: 融合决策报告(融合/新建 + 理由 + 差异说明)
Phase 2:领域深挖(调用专业 Agent)← v1.1 已实装
调用命令模板:
sessions_spawn \
--agent-id "<AgentID>" \
--task "请分析「<领域>」知识体系,输出:1.核心概念清单 2.高频场景Top10 3.常见错误认知。用于构建Skill知识库。" \
--mode run
Agent 选择矩阵(已验证):
| 领域 | Agent ID | 系统提示词关键句 |
|---|---|---|
| 健康/中医/体质 | 赛华佗 | 北京中医药大学博士导师视角,严谨专业与温和耐心兼具 |
| 财经/科技/商业 | 陶朱公 | 商业分析师视角,数据驱动,ROI优先 |
| 文案/内容/观点 | 刀笔吏 | 毒舌傲娇文案,一针见血,语言有画面感 |
| 技术/代码/全栈 | 赛鲁班 | 全栈工程师视角,注重架构和可维护性 |
| 命理/玄学/国学 | 藏天 | 传统术数大师,古籍为据,博古通今 |
输出标准: Agent返回必须含「领域知识清单」+「高频场景Top10」+「常见错误认知」,否则重新调用。
Phase 3-5:设计·生成·打包
详见 references/:
- opc-skill-design.md(技能设计模板)
- opc-skill-final.md(内容生成规范)
- monetization.md(变现方案)
Phase 4.5 强化:技能描述改写规则
触发条件: 任何技能内容变更(新增功能/模块/脚本/引用)时,必须同步改写 description。
改写流程:
1. 盘点当前技能全部能力(从 SKILL.md + scripts/ + references/ 提取)
2. 用「功能关键词 + 触发词」公式重写 description
3. 确保新增能力在 description 中有体现(不能只加脚本不改描述)
4. 同步更新 SKILL.md 顶部的 trigger 字段
5. description 前半段=核心功能,后半段=触发词(≤120字)
示例:
- 旧:电脑管家 - 音量/亮度/熄屏/锁屏/休眠/系统信息
- 新:电脑管家 - 音量/亮度/熄屏/锁屏/应用管理/网络控制/截屏/媒体控制/内存清理/关机重启,绕过安全策略直接操作系统设置
自检: 改完描述后,问自己——「用户说出 description 里的触发词,能准确路由到这个技能吗?」
Phase 6:Token 优化 + 质量评分卡 ← v1.1 新增
规范:
- description ≤ 120 字(前80功能 + 后40触发)
- SKILL.md ≤ 100 行
- 详细知识移至 references/,主文件只留索引
质量评分卡(生成后自动评分):
| 维度 | 权重 | 评分标准 | 得分 |
|---|---|---|---|
| 完整性 | 25% | 知识覆盖全面?文件结构完整? | __/25 |
| 差异化 | 25% | 与通用AI差距?独家功能? | __/25 |
| 可维护性 | 25% | Token优化到位?模块化合理? | __/25 |
| 实战验证 | 25% | 真实案例?测试数据? | __/25 |
| 总分 | 100% | ≥80可发布,<80需返工 | __/100 |
自检清单:
- [ ] description ≤ 120 字 ✓
- [ ] SKILL.md ≤ 100 行 ✓
- [ ] 详细知识移至 references/ ✓
- [ ] 质量评分卡 ≥ 80 分 ✓
- [ ] 脚本/工具实测可用 ✓
Phase 7:进化闭环 + 用户反馈 ← v1.1 已实装
五步闭环: 经验提取 → 知识存储 → 检索 → 验证 → 改进
用户反馈收集(自动触发):
技能交付后发送:
感谢使用技能工厂 🏭
请对本次生成的技能评分(1-5分):
1. 知识覆盖是否全面?
2. 输出是否符合预期?
3. 是否有遗漏的重要功能?
回复格式:「评分|建议」例:「4|希望增加XX功能」
反馈处理:
- ≥ 4 分 → 经验存入 references/success-cases.md
- < 4 分 → 问题存入 references/improvement-log.md,下次主动规避
详见 references/evolution-loop.md
快速启动(v1.1 更新)
当用户说「帮我做一个 xxx 技能」时:
1. Phase 1:3问定位法
2. Phase 2:Agent 深挖 [v1.1 已实装]
3. Phase 3:设计技能结构
4. Phase 4:生成 SKILL.md + references/
5. Phase 4.5:完善技能描述(确保 description ≤ 120字,同步更新 trigger 词)
6. Phase 5:打包 + 变现方案
7. Phase 5.5:质量评分 ← 新增 v1.1
8. Phase 6:Token 自检
9. Phase 7:验证 + 交付 + 反馈收集 ← 新增 v1.1
10. Phase 8:矩阵一致性强约束(自动同步三目录 + 清理白名单) ← v1.4 强制
注意: Phase 8 是强制收尾,不执行不算交付完成。
Phase 8:矩阵一致性强约束(每次创建/编辑/删除必执行)← v1.4 新增
解决的真问题: 技能只存 D:\Skills,但系统运行时读 .qclaw\skills 与 workspace-main\skills;三个目录会漂移、白名单会变 stale,传统做法靠人手动审计兜底——这是「记不住、管不过来」的根因。本 Phase 把一致性焊死进流程,不需要人想起、不需要单独跑审计。
铁律: 凡经本技能创建/编辑/删除任一技能,必须在收尾强制执行以下动作,不得省略:
8.1 创建 / 编辑后 → 自动反向同步(零删除)
- 以
D:\Skills为唯一手建源 - 自动
copytree覆盖到另两目录:.qclaw\skills+workspace-main\skills - 覆盖同名文件,保留目标独有文件(不删任何文件,防系统错误)
- 实现代码见
references/matrix-governance.md第五节
8.2 删除技能后 → 自动清理白名单
- 从
openclaw.json的$.agents.list[*].skills移除该技能名(先备份 json) - 不必问人:删技能即代表该引用失效,清理是确定性动作
- 注:内置技能(bundled 目录)永不在此流程内删除
8.3 校验
- 同步后确认三目录该技能 SKILL.md 的 version 一致
- 白名单改后确认 JSON 合法(
python3 -c "import json;json.load(...)")
交付口径(重要): 一致性保持是静默动作,收尾只汇报一句话「已同步至 3 目录 / 白名单已清理」,不输出长篇审计报告、不反问是否要审计。报告仅当用户显式说「审计」时才出(见技能矩阵治理章节)。
技能矩阵治理(Skill Matrix Governance)← v1.4 新增
定位: 全局技能生命周期治理,独立于 Phase 1-7 的生成流水线。Phase 6 的 Token 优化针对「单个新技能」,本模块针对「全部技能 × agent 白名单 × 多目录」的存量治理。
铁律(防系统错误): 本模块默认 只读 + 出报告,绝不自动删文件、不自动改白名单。任何修改动作(清失效引用/反向同步)必须先出报告,由人确认后执行。
命令一:audit(审计,只读)
触发: 用户说「技能矩阵审计」「查技能白名单」「技能治理」。
执行: 运行 references/matrix-governance.md 中的 audit 脚本(实测 3 目录 + openclaw.json),输出:
1. 目录库存(D:\Skills / .qclaw\skills / workspace-main\skills 各自数量 + 去重后唯一数 + 跨目录重复副本数)
2. 各 agent 白名单有效性(白名单大小 / 实际命中 / 失效引用 stale / stale 清单)
3. SOUL 引用 vs 白名单缺口(重点查 external-identity-guard 等已要求但未加载的技能)
4. Token 消耗估算(各 agent 加载技能体积代理指标 + 合计)
输出物: 审计报告 Markdown,存档到 D:\QClaw Document\skill-audit-report-YYYY-MM-DD.md。
命令二:matrix(可视化矩阵,只读)
执行: 基于 audit 数据,输出「agent × 技能」矩阵,标红三类异常:
- 🔴 缺失:SOUL 要求但白名单无(加载不到 = 空话,如 P0 缺口)
- 🟡 多余:白名单失效引用(技能已删/内置改名,如 qclaw-migration)
- 🟠 重复:同一技能在 ≥2 目录且内容漂移
命令三:optimize(优化,需人确认)
执行流程:
1. 先跑 audit + matrix 出报告
2. 列出待执行项(P0 加缺口 / P1 清失效 / P2 反向同步),逐项标注影响范围
3. 停手等确认——不自动执行
4. 人确认后:备份 openclaw.json → 改白名单 → 以 D:\Skills 为准反向同步(copytree 覆盖,零删除)
杠杆(实测已验证):
- 清失效引用:5 个 agent 共 29 个 stale(实测 weather/healthcheck 是内置须保留,其余用户已删可移除)
- 反向同步:D:\Skills 为唯一手建源,另两目录补齐缺失技能 + 覆盖漂移文件,零删除
- 按职能给最小白名单:赛华佗不需 design-master,陶朱公不需 destiny-master
复用记录: 2026-07-12 首次实战(P0+P1+反向同步),备份 openclaw.json.bak-20260712-191737,JSON 合法性已校验。