用途:把本仓库部署到 skills.sh 生态。该生态没有发布 API,所谓部署等于“公开且可安装的仓库 + 首次安装以产生目录遥测”。此技能把这一流程变得有步骤、可复现,而不是临时操作。仅通过斜杠命令调用,因为它会切换仓库可见性,而这一操作在社会意义上难以撤销(任何曾被推送的内容都会公开)。
不适用场景:编写或修复技能应使用 add-skill;skills/ 下没有任何技能时应先构建,绝不发布空目录;对已公开仓库的日常推送用普通 git 即可。
工作流:
- 预检(硬性门槛,任一失败即停止):工作区必须干净且已由所有者推送,本技能从不执行 git commit 或 git push;若有未提交改动,停止并把清单交给所有者。检查命令包括 git status --porcelain(须为空)、make check(须以 0 error(s) 结束)、npx skills add . --list(skills/ 下每个技能都被发现)、gh skill publish --dry-run(规范校验,需 gh >= 2.90,公开预览)、python3 -c "import json; json.load(open('skills.sh.json'))"。需逐条处理 gh skill 警告:补上缺失的 license: MIT frontmatter;.claude/skills/ 警告在此属预期(捆绑的一手开发技能,按设计提交,非第三方内容)。同时确认 README 目录、CHANGELOG 为最新、每个技能描述以收益为导向(它就是列表文案)、最新提交 CI 通过。
- 人工阻塞项,需用户明确确认,绝不假设:已完成全历史密钥扫描(gitleaks/trufflehog);已完成个人/私密文件审查(所有曾提交内容都会公开)。若 $ARGUMENTS 中带 --dry-run,则在此停止并报告就绪状态。
- 分组:确保 skills.sh.json 把每个技能恰好列在一个分组中,每组配一句有吸引力的描述(见 docs/deploying.md)。
- 切换可见性(操作前立即与用户确认):gh repo edit <owner>/<repo> --visibility public --accept-visibility-change-consequences
- 保护措施(公开仓库后才能启用):gh api repos/<owner>/<repo>/private-vulnerability-reporting --method PUT;添加默认分支 ruleset。单人维护者默认只阻止强制推送和删除(require-PR 规则会挡住所有者直接推送的工作流);有外部贡献者后再升级为 require-PR + code-owner 审查 + validate 检查。另对 v* 添加标签 ruleset(阻止更新与删除),使已发布版本不可变。
- 发布:切一个与 .claude-plugin/plugin.json 匹配的带版本 GitHub release:gh skill publish --tag v<version>。它会重新校验、在缺失时添加 agent-skills 主题,并用自动生成的说明创建 release。再添加 skills-sh 主题:gh repo edit <owner>/<repo> --add-topic skills-sh。
- 以消费者身份验证并播种目录(本地运行,不要在 CI 中运行——CI 中遥测被禁用,首次真实安装才会让仓库被列出):npx skills add <owner>/<repo> --list;mkdir -p /tmp/skills-verify && cd /tmp/skills-verify;npx skills add <owner>/<repo> --skill '*' -a claude-code -y;npx skills list -a claude-code。
- 收尾:README 带 skills.sh 徽章(默认已脚手架生成);设置 homepage(gh repo edit --homepage,例如 https://skills.sh/<owner>/<repo>);提醒社交预览图需手动在 UI 设置。
- 报告:仓库 URL、skills.sh 页面 URL、安装命令、release 标签、已应用的保护、跳过项(及解锁条件),并说明 skills.sh 页面会在遥测处理播种安装后出现(页面有缓存)。
输出规范:公开仓库可通过 npx skills add <owner>/<repo> 安装(经实际安装验证)、PVR 已启用、ruleset 生效、skills.sh.json 有效且每个技能已分组、已执行播种安装、并明确告知用户接下来会发生什么。
注意事项:可见性切换是历史的不可逆点,因此第 4 步要求明确确认且绝不自我认证;npx skills add . --list 报 “No skills found” 说明 frontmatter 或布局有问题,应依据 make check 输出修复,绝不盲目重构;排行榜/仓库页面滞后于播种安装,几分钟后仍未出现属正常,不是失败;不要在直接向 main 推送的单人仓库上启用 require-PR ruleset,它会挡住所有者,应使用第 5 步的分阶段默认值。