打包公开技能
运行发布流水线,将私有技能转变为公开的 GitHub 发布版本。 流水线顺序固定:评估 → 检查 → 文档 → 主题 → 打包 → 分阶段发布。 不得跳过检查步骤。未经解决的检查发现项,任何内容都不允许发布。
1. 评估
回答 registry/pipeline.md 中的四个问题(是否值得安装?是否独立运行?是否可被检查?是否能在单页解释清楚?)。如果有任何“否”→ 停止,报告阻塞项,保持技能私有。将结论记录在注册表中。
2. 检查
运行扫描器并在继续前解决所有发现项:
python3 scripts/scrub_personal.py <skill-dir>
- 将个人路径替换为通用路径(
/Users/you/...、<your-project>/)。 - 将个人姓名/邮箱替换为公开品牌联系人信息或占位符。
- 彻底删除凭据——绝不允许将真实密钥加入白名单。
- 重复运行直到退出码为 0。仅对有意的公开字符串(例如品牌名称)使用
--allow。
3. 文档
将 references/ 中的模板复制到候选技能根目录,并填充所有占位符:
readme-template.md→README.md(问题、安装、使用、许可)changelog-template.md→CHANGELOG.md,第一条记录为## [1.0.0] - <今天日期>- 添加
LICENSE——所有者每次发布时选择许可类型(开源或商业)。绝不在任何公开页面上声明仓库实际未附带的许可或价格。
4. 主题化网页
将 assets/site-template/ 复制到发布的网站文件夹,并替换 {{PLACEHOLDER}} 标记(技能名称、标语、仓库 URL、特性、安装命令)。不要更改调色板、字体或布局规则——styles.css 头注释中记录了品牌投票限制(无黄色高亮、无发光团块、深蓝背景上无金色文字、仅用于强调的脚本字体)。
5. 打包
验证结构(SKILL.md 前置元数据包含 name + description;仅使用实际存在的 scripts/、references/、assets/ 资源),然后压缩:
cd <staging-parent> && zip -r <skill-name>.skill <skill-name>
6. 分阶段发布并注册
- 将检查后的文件夹、
.skill压缩包和网页移至releases/<skill-name>/。 - 更新
registry/pipeline.md状态和项目CHANGELOG.md。 - 报告:已发布的内容、检查结果、剩余的手动步骤(Git 初始化、GitHub 仓库创建、推送——这些需要所有者的许可和凭据)。
参见 references/release-checklist.md 获取完整的预发布检查清单;在宣布任何发布完成前,务必逐项执行该清单。