SkillPay 技能工厂
生成或改造 Skill 的唯一入口。今后凡「生成 skill」「改造 skill」,一律走本流程,产出默认符合 SkillPay 规范。
> 本技能为工具型技能(依赖本地仓库与脚本),不对外收费,因此不含付费能力节。它生产的 Skill 才是对外收费的 Pay Skill。
一、仓库位置
所有 Skill 的统一存放位置(固定,不随会话变化):
D:\00-诚迈科技-讯天信达\workbuddy存储\skillpay-skills\
| 路径 | 作用 |
|---|---|
_SPEC/SKILLPAY-规范.md |
强制规范,动手前先读 |
_template/ |
新 Skill 骨架(已含付费能力节) |
_tools/apply-skillpay.py |
批量改造器:补 frontmatter + 注入付费节 |
_tools/sync-and-pack.py |
同步仓库副本 + 打包 zip |
gateway/ |
统一付费网关(A2M 402);src/skills.config.js 是 Skill 注册表 |
zips/ |
上架用压缩包 |
~/.workbuddy/skills/<slug>/ |
运行位(WorkBuddy 实际加载处) |
二、硬规则
- 默认 SkillPay。 用户说「生成 skill」而未特别说明时,默认按 Pay Skill 标准产出,不要生成"普通 Skill"再返工。
- 不造假。 SKILL.md 写的付费流程必须是网关真实实现的。平台提交后会重跑完整检测,只堆关键词会被拒。
- 不改业务。 改造已有 Skill 时只做两件事:补 frontmatter、注入付费节。正文一字不动。
- 单一事实源。 价格与 slug 以
gateway/src/skills.config.js为准,SKILL.md 必须与之一致。 - 描述要让外行看懂。
summary是用户在上架列表页唯一能看到的一句话,必须写成「什么场景用 + 产出什么」的完整句式(20–80 字),禁止写成关键词串或箭头流程(如「原型截图 → 标准三层级页面说明文档」)。写法与正反例见《SkillPay 规范》第二节。 - 动手前先备份。 改造已有 Skill 时,先把原 SKILL.md 复制到
_backup/<日期>-<事由>/。
三、工作流
场景 A:生成新 Skill
- 先读
_SPEC/SKILLPAY-规范.md,确认要求。 - 从
_template/复制骨架到~/.workbuddy/skills/<slug>/,写 Skill 本体(业务内容、references、scripts)。 - 在
gateway/src/skills.config.js的SKILLS数组登记:slug/displayName/price/goodsName/summary/artifact/sections/rules/inputs。
sections/rules/inputs必须照该 Skill 的真实规范写,这是付费后的交付内容。 - 抄一条已有的现成 skill 用一条命令处理。不需要再跑改造器(新 Skill 骨架已含付费节)。
- 重跑自检:
cd gateway && npm run smoke,必须全绿。 - 同步 + 打包:
python _tools/sync-and-pack.py <slug>。 - 按 《SkillPay 规范》第六节跑交付前自检,报告结果。
场景 B:改造已有 Skill
- 备份原文件到
_backup/。 - 在
gateway/src/skills.config.js登记(若尚未登记)。 - 在
_tools/apply-skillpay.py的REGISTRY与PRICES中加入该 Skill。 - 预检:
python _tools/apply-skillpay.py --check,确认改动范围符合预期。 - 执行:
python _tools/apply-skillpay.py。 - 回读验证:frontmatter 六字段齐全、含「付费能力(支付宝 AI 按量付费 / A2M)」节、关键词
probe/402/Payment-Needed/Payment-Proof/verify/complete全部出现。 - 同步 + 打包:
python _tools/sync-and-pack.py <slug>。
场景 C:部署或更新网关
cd gateway
npm install
node --experimental-sqlite server.js # 本地起服务(无凭据时进入演示模式)
发布到公网用「发布为应用」能力,domainPrefix 固定 skillpay-gateway,链接保持不变。注入真实沙箱凭据后重新部署即可切换到可验付状态。
四、必须交付的内容
完成任何场景后,向用户汇报时必须包含:
- 改动清单(新增/修改了哪些文件,各自改了什么)
- 自检结果(
npm run smoke的通过数,以及每个 Skill 的关键词自检结论) - 打包产物路径(
zips/<显示名称>-<version>.zip,显示名称取 displayName;应与网关注册表、frontmatter 三处一致) - 待办与阻塞项(缺沙箱凭据、主体资格、扫码实名等)
五、常见坑
- 改同一文件不要并行发多个 Edit,会互相覆盖,只有最后一个生效。必须串行改并回读验证。
- Windows 下官方脚本的
/dev/null坑:官方 runner 底层用curl -o /dev/null,Windows curl 会解析成当前盘符下的dev\null,不存在则报退出码 23。跑官方 precheck 前需确保D:\dev\null存在。 - slug 提交 SkillHub 后不可修改,填前确认真实可用;被占用时加功能后缀或主体前缀。
- 改价格要两头改:
skills.config.js与 SKILL.md 付费节必须一致,否则审核失败。 - Node 版本:网关依赖
node:sqlite,需 Node ≥ 22.5,且启动命令要带--experimental-sqlite。