Skill · 技能创作助手(skill-forge-lm)
> 定位:用户下达「搭/建/做一个 skill」类指令时,按本技能规范执行 Skill 全生命周期创作流程(以官方 skill-creator 流程为骨架,叠加工程化增强)
> 触发词:「搭技能」「建技能」「做个 skill」「skill 创作助手」「创建技能」
> 铁律:① 模块化,禁止单文件巨石式实现 ② 发布前必须经用户审核(发布执行唯一走 skillhub-releaser)③ front matter 六字段创建时同步写入 ④ S1 必须落 ≤3 条可计数成功判据并写入 upgrade.md(单脚本工具类可豁免,须注明)
模块挂载表(按阶段加载,禁止一次全读)
| 阶段 | 加载模块 | 职责 |
|---|---|---|
| S1 需求确认 | references/workflow.md |
一问一答确认需求、收集具体用例、产品经理视角五问(P1-P5)与成功判据 |
| S2 准入评分 | 调用技能 skill-integration-framework |
六维加权评分,≥4.0 融入 SOUL / 2.5-3.9 独立 Skill / <2.5 驳回 |
| S3 模块化设计 | references/standards.md |
资源清单规划(scripts / references / assets) |
| S4 构建初始化 | scripts/scaffold.py |
一键产出合规模块化骨架 |
| S5 编写与质检 | scripts/validate.py |
dry-run 结构与规范校验,输出检查报告 |
| S5.5 工程体检门 | 调用技能 skill-code-doctor + references/quality-gate.md |
八维静态体检,总分 ≥85 且无阻塞项方可进 S6 |
| S6 打包与发布 | references/release-gate.md |
打包、脱敏自检、用户审核门禁、衔接 skillhub-releaser |
| 收尾 | references/learnings.md |
经验沉淀与自迭代(统一规范 v1):交付/发布或门禁拦截后采集分级,固化须验证门通过 |
全生命周期流程
S1 需求确认 → S2 准入评分 → S3 模块化设计 → S4 构建 → S5 编写+质检 → S5.5 工程体检 → S6 打包+发布管控
│ │ │ │ │ │ │
一问一答+PM五问 <2.5 驳回 资源清单 scaffold.py validate.py code-doctor 用户审核门禁
≥85 且无阻塞项 唯一一次批准
S1 需求确认(复杂指令必须先确认)
- 判断指令类型:模糊/复杂指令 → 一问一答确认后再执行;用户明确说「直接执行」时跳过
- 按官方 skill-creator Step 1 收集具体用例:技能要支持什么功能、什么话会触发它、给 2-3 个使用示例
- 产品经理视角补问(细则见
references/workflow.md第五节):跑 P1 使用场景 / P2 不做会怎样 / P3 最小范围与不做清单 / P4 成功判据 / P5 维护与复用;按技能规模分档,单脚本工具类只需 P1、P2 - 成功判据随骨架落盘:P4 结论(≤3 条可计数标准)写入新技能
upgrade.md的「成功判据」节;未定义时须标注「未定义」 - 确认四要素:定位(与现有技能的分工)、功能范围、存放范围(默认用户级)、命名(slug 英文小写连字符)
> 边界:PM 补问只补提问,不产生分数、不设独立门禁,不得与 S2 六维评分合并或互相替代(沿用四段式接口的禁跨层混用原则)。
S2 准入评分(不重复实现)
- 调用
skill-integration-framework执行六维量化评分 - 综合分 <2.5 → 驳回并汇报用户;2.5-3.9 → 独立 Skill(走本流程);≥4.0 → 建议融入 SOUL.md(不走本流程)
- 用户保留最终强制引入权
S3 模块化设计
- 逐个分析 S1 的用例:从零执行需要什么 → 提炼可复用资源
- 产出资源清单:
scripts/(确定性/重复代码)、references/(按需加载的知识)、assets/(输出用素材),并标注每项的用途 - 与用户确认资源清单后再进入 S4
S4 构建初始化
python scripts/scaffold.py <skill-slug> --path <输出目录>
- 产出:SKILL.md 模板(六字段 front matter + TODO 占位)、references/、scripts/、assets/、upgrade.md(变更台账)
- 输出目录默认:
~/.workbuddy/skills/<slug>/
S5 编写与质检
- 按 S3 资源清单填充各模块,SKILL.md 只保留编排逻辑与流程指引(细节下沉到 references/)
- 遵循祈使句/动词先行写法,面向「另一个 WorkBuddy 实例」写作
- 质检:
python scripts/validate.py <skill目录>
- 校验项:front matter 六字段 +
agent_created: true、SemVer、slug 规则、模块化结构、UTF-8 无 BOM、文件名无 emoji - 校验失败 → 修复后重跑;交付前过三视角审核(编辑 / 读者 / AIGC 检测)
S5.5 工程体检门(发布前 · 强制)
validate.py 只验结构合规,不验代码工程质量。本阶段补上质量维度。
- 调用
skill-code-doctor,对技能根目录跑八维静态体检:
python <code-doctor目录>/scripts/static_scan.py <技能目录> --json - 按 code-doctor 评分规则出百分制评分卡 + 分级问题清单
- 准入判定:总分 ≥85 且无阻塞项 → 进 S6;未达标 → 修复后重跑,不得带阻塞项进入审核
- 「应改」级问题:允许用户明示豁免后放行,豁免理由须写入 S6 审核卡片
- 体检报告全文留档,作为 S6 审核卡片的第 6 项材料
> 边界:本阶段只读不写,不修改被测文件。行为验证不在本阶段范围,由后置的发布验证(skillhub-releaser Step 5)补上。细则见 references/quality-gate.md。
S6 打包与发布管控
- 加载
references/release-gate.md执行:打包 → 脱敏自检 → 用户审核门禁(未审核不得提交任何渠道) → 审核通过后由 skillhub-releaser 执行正式发布 - 审核门禁只开一次:本阶段批准的卡片含体检报告,releaser Step 2.5 直接复用该批准,不二次向用户开口
- 经验沉淀:每次交付/发布或门禁拦截后,加载
references/learnings.md执行采集与分级判定(2026-10-24 统一规范 v1 起生效)
与其他技能的分工边界
| 技能 | 职责 | 本技能的关系 |
|---|---|---|
| skill-creator(官方) | 通用创建流程参考 | 骨架来源,私有规范覆盖其默认值 |
| skill-integration-framework | 六维准入评分 | S2 直接调用,不重复实现 |
| skill-code-doctor | 八维静态工程体检(百分制) | S5.5 直接调用,作发布前质量门 |
| skillhub-releaser | 正式发布 + 脱敏 + 发布后验证 | S6 审核通过后的唯一发布执行通道 |
> 四段式接口约定:integration-framework 判「该不该做」→ validate.py 判「骨架合不合规」→ code-doctor 判「工程质量达不达标」→ releaser 判「能不能发、发完跑不跑得动」。四层评分制不同,禁止跨层混用或合并为单一分数。
禁止事项
- ❌ 跳过 S1 直接动工(除非用户明示「直接执行」)
- ❌ 单文件巨石式实现(SKILL.md 塞入全部细节)
- ❌ 先写正文后补 front matter
- ❌ 未用户审核即执行发布
- ❌ 带 code-doctor 阻塞项进入 S6 审核(应改项须用户明示豁免)
- ❌ version 用
1.0/v1等非 SemVer 格式