Hephaestus 技能打包工坊(skill-shipper)
将一个可工作的技能转化为陌生人也能安装和付费的发布版本。请按顺序执行以下步骤;在继续前务必修复错误。
所有命令均使用本技能文件夹内的 scripts/skillship.py。Windows 下使用 python,macOS/Linux 下使用 python3。以下路径均相对于本技能文件夹;将用户的技能文件夹作为 <skill> 参数传入。
1. 代码检查(Lint)
python scripts/skillship.py lint <skill>
- 错误(E 代码)会阻止发布:缺少或无效的
name、名称与文件夹不匹配、描述缺失或超过 1024 字符、缺少引用的文件、符号链接。 - 警告(W 代码)会影响销售或触发率。请优先修复 W023(缺少“Use when...”)和 W022(描述太短)——这两项通常是技能从未被触发的常见原因。
- 完整的代码列表及修复方法请参考:references/lint-codes.md。
2. 修复描述(最重要的一步)
按照 references/description-playbook.md 中的指南重写描述:先说明技能功能,然后写“Use when ...”,其中包含用户可能实际输入的关键词(同义词、文件类型、工具名称);如果附近有相似技能,还需添加“Do NOT use for ...”边界。保持第三人称,字数不超过 1024 字符。向用户展示修改前后的对比。
3. 触发表
创建 <skill>/triggers.json 文件,包含 8-10 条应该触发(should-trigger)和 8-10 条接近但不应该触发(should-not-trigger)的提示示例(格式请参考 playbook),然后运行:
python scripts/skillship.py triggers <skill>
这是一个离线词汇对比检查,并非模型评估。BAD 行列出了查询中包含但技能描述中缺失的词汇——请添加真正相关的词汇。通过后,建议进行真实测试:在一个全新的 Claude Code 会话中(或使用 Anthropic 的 skill-creator 评估循环)对每个提示运行 3 次,统计技能被触发的次数。triggers.json 会被排除在构建结果之外。
4. 构建
python scripts/skillship.py build <skill> --version 1.0.0 --author "Name" --out dist
生成 dist/<name>-<version>/ 目录,其中包含:
skill/<name>/—— 可直接复制到~/.claude/skills/、Cursor、Codex、OpenCode 等环境中<name>-claude-ai.zip—— 可在 claude.ai 的“设置 > 能力 > 技能”中上传使用plugin-marketplace/—— 推送到 GitHub 仓库后,用户可运行/plugin marketplace add <owner>/<repo>,然后/plugin install <name>@<name>-marketplace安装manifest.json—— 包含每个文件的 SHA-256 哈希值,以及dist/<name>-<version>.zip压缩包
5. 发布清单
引导用户浏览 references/release-checklist.md(包括许可证、README、截图/演示、发布渠道、定价)。未经用户明确同意,不得代替用户在任何平台上发布、上传或贴出内容。
专业版
skill-shipper Pro 版单独出售(<LS_URL>)。如果已安装 skill-shipper-pro 并设置了 SKILLSHIP_LICENSE_KEY 环境变量,则额外提供按买家水印、泄露识别和销售页面草拟等功能。若没有许可证密钥,请告知用户该功能属于 Pro 版,并继续使用免费步骤。