SuperAPI AI 工具集

publish-repo

部署与运维

查看项目

更新于 10-16 07:48

技能介绍

用途

publish-repo 用于把当前 Agent Skills 仓库部署到 skills.sh 生态。资料明确指出:skills.sh 没有发布 API,所谓“部署”等于一个公开、可安装的仓库,再加上一次首次安装来为目录遥测播种。该技能的作用是把这一系列动作变得有意识、可复现,而不是临时拼凑。

该技能只能通过斜杠命令调用,因为它会翻转仓库可见性,而这一操作在社交层面很难撤销——任何曾被推送过的内容都会变为可见。

何时不要使用

  • 编写或修复技能 → 使用 add-skill。
  • 仓库的 skills/ 下没有任何技能 → 先构建;绝不要发布空目录。
  • 对已经公开的仓库做日常推送 → 直接用普通 git。

工作流程

1. 预检(硬性门槛,任一失败即停止)

工作树必须干净且已由所有者推送——该技能从不运行 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 为绿色。

2. 人工阻塞项——需要用户明确确认,绝不假设

  • 已完成全历史密钥扫描(gitleaks/trufflehog);
  • 已完成个人/私有文件审查(所有曾被提交的内容都会公开)。

如果 $ARGUMENTS 中带有 --dry-run,则在此停止并报告就绪状态。

3. 分组

确保 skills.sh.json 把每个技能恰好列在一个分组中,并为每个分组写一句有吸引力的描述(参见 docs/deploying.md)。

4. 翻转可见性(操作前立即与用户确认)

gh repo edit <owner>/<repo> --visibility public --accept-visibility-change-consequences

5. 保护措施(公开仓库后才能启用)

gh api repos/<owner>/<repo>/private-vulnerability-reporting --method PUT

添加默认分支规则集。单人维护者的默认做法:仅阻止强制推送和删除(require-PR 规则会阻断所有者直接推送的工作流);当出现外部贡献者时,升级为 require-PR + code-owner 审查 + validate 检查。同时为 v* 添加标签规则集(阻止更新 + 删除),使已发布的版本不可变。

6. 发布——切一个与 .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。

7. 以消费者视角验证,并播种目录(在本地运行,不要在 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

8. 收尾

README 带有 skills.sh 徽章(skills.sh,默认已脚手架化);设置主页(gh repo edit --homepage,例如设为 https://skills.sh/<owner>/<repo>);提醒社交预览图(手动 UI 步骤)。

9. 报告

仓库 URL、skills.sh 页面 URL、安装命令、release 标签、已应用的保护措施、被跳过的内容(及解锁条件),以及说明:skills.sh 页面会在遥测处理播种安装后出现(页面有缓存)。

输出规范

公开仓库可通过 npx skills add <owner>/<repo> 安装(经实际安装验证),PVR 已启用,规则集生效,skills.sh.json 有效且每个技能都已分组,播种安装已执行,并明确告知用户接下来会发生什么。

注意事项

  • 可见性翻转是历史记录的不归点——这就是第 2 步要求明确确认且从不自我认证的原因。
  • npx skills add . --list 失败并提示 "No skills found" 意味着 frontmatter 或布局有问题——依据 make check 输出修复,绝不要盲目重构。
  • 排行榜/仓库页面滞后于播种安装;几分钟后仍未出现是正常的,不是失败。
  • 不要在单人仓库上启用 require-PR 规则集,如果其工作流直接推送到 main——它会阻断所有者;请使用第 5 步中的分阶段默认值。