SuperAPI AI 工具集

publish-repo

部署与运维

查看项目

更新于 10-16 07:47

技能介绍

用途

publish-repo 用于把当前 Agent Skills 仓库部署到 skills.sh 生态。该生态没有发布 API,所谓「部署」等于两件事:一是让仓库变成公开且可安装,二是完成首次安装,从而为该仓库写入目录遥测数据。本技能的作用就是把这条链路从临时操作变成有步骤、有闸门的流程。

它仅限斜杠调用:流程会翻转仓库可见性,而这一动作在社会层面很难撤销——任何曾经推送过的内容都会变得可见。

不适用的情况

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

工作流程

1. 发布前检查(硬性闸门,任一失败即停止)

工作区必须干净,且由仓库所有者推送完成——本技能从不会执行 git commit 或 git push;若存在未提交改动,应停止并把改动列表交给所有者。

git status --porcelain          # must be empty
make check                      # must end: 0 error(s)
npx skills add . --list        # every skill under skills/ discovered
gh skill publish --dry-run     # spec validation (gh >= 2.90; public preview)
python3 -c "import json; json.load(open('skills.sh.json'))"

需逐条处理 gh skill 的所有警告:补充缺失的 license: MIT 前台信息;.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 review + validate 检查。同时为 v* 添加标签规则集(阻止更新与删除),使已发布的 release 保持不可变。

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](https://skills.sh/b/<owner>/<repo>)](https://skills.sh/<owner>/<repo>)

设置 homepage(gh repo edit --homepage,例如指向 https://skills.sh/<owner>/<repo>);提醒社交预览图需在界面中手动设置。

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”,说明是前台信息或目录布局问题——应依据 make check 的输出修复,绝不要盲目重构结构。
  • 排行榜/仓库页面相对种子安装有延迟;几分钟后仍未出现属正常现象,不是失败。
  • 不要在直接向 main 推送的单人仓库上启用 require-PR 规则集——它会阻断所有者;请使用第 5 步中的分阶段默认配置。