mcpField
S
skills-release

skills-release

github.com/zenml-io云与 DevOps680 次安装今天更新
代码仓库

关于 skills-release

Skills Release 是供仓库管理员维护 Kitaru skills 插件发布流程的技能。它规定从 develop 到 main 的带版本、仅快进发布步骤,并涵盖校验、打标签、发布说明和结果验证。

主要功能

  1. 01仅快进的分支晋升
  2. 02同步三个插件版本字段
  3. 03使用 jq 校验 JSON
  4. 04创建发布标签并发布说明
  5. 05验证发布后的分支与页面

适用场景

  1. 01发布已审阅的 develop 快照
  2. 02发布前检查插件版本字段
  3. 03处理发布推送或标签错误

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zenml-io/kitaru-skills --skill skills-release

安装后在 Claude Code 中输入/skills-release确认已加载。

详细介绍

Skills 发布

概述

main 是分发分支:/plugin marketplace add zenml-io/kitaru-skills 会立即安装 main 当前包含的内容。develop 是工作基线。发布时,会将 main 快进到 develop 当前的提交,并标记一个插件版本,因此在发布时, main 始终是 develop 的精确快照。

main-release-only 规则集会阻止所有推送和 PR 合并到 main,只有仓库管理员 例外。因此,发布流程是由管理员执行这份检查清单——绝不能通过 PR 合并到 main,也绝不能强制推送。

版本号是此仓库自己的插件版本号。不要复用 Kitaru 产品版本号;应在发布说明 中注明已测试的 Kitaru 兼容性。

前提条件

如果以下任一项未满足,请先停止并解决问题,再进行发布:

  • 当前位于 develop,且工作区干净。
  • 已运行 git fetch origin;本地 develop 与 origin/develop 同步。
  • 可以快进: git merge-base --is-ancestor origin/main origin/develop 的退出码为 0。 非零退出码表示 main 包含 develop 所没有的提交——请调查这些提交的来源; 绝不能强制推送覆盖它们。

步骤

  1. 检查即将发布的内容:git log --oneline origin/main..origin/develop。 根据这些提交起草发布说明(有哪些变更、为什么对安装者有影响),并在已知时 加上一行“已针对 Kitaru X.Y 测试”。

  2. 与用户确认下一个版本:新增或变更技能时使用次版本号,修复和仅涉及文档的 变更使用补丁版本号。

  3. 将以下三个版本字段都更新为相同的值:

    • .claude-plugin/plugin.json → .version
    • .claude-plugin/marketplace.json → .metadata.version
    • .claude-plugin/marketplace.json → .plugins[0].version
  4. 验证:jq . .claude-plugin/plugin.json 和 jq . .claude-plugin/marketplace.json 均能解析,且三个字段的值一致:

    jq -r .version .claude-plugin/plugin.json
    jq -r '.metadata.version, .plugins[0].version' .claude-plugin/marketplace.json
    
  5. 在 develop 上仅提交这两个 JSON 文件,提交说明为 Release vX.Y.Z,然后推送 develop。

  6. 为发布提交打标签:git tag vX.Y.Z && git push origin vX.Y.Z。

  7. 快进 main:git push origin develop:main。绝不使用 --force—— 如果推送被拒绝,说明无法快进;请返回前提条件部分。

  8. 通过文件发布起草好的说明,绝不要将说明直接内联到命令中——提交说明中 经常包含反引号,在 --notes "..." 参数中,shell 会将其作为命令替换来执行。 使用文件写入工具将说明写入临时文件(或使用带引号的 here-doc, cat > notes.md <<'EOF'),然后:

    gh release create vX.Y.Z --title "vX.Y.Z" --notes-file notes.md
    
  9. 验证:git ls-remote origin refs/heads/main refs/heads/develop 显示 相同的 SHA,且 GitHub Release 页面已创建。

恢复处理

  • 推送到 main 被拒绝:确认具有管理员(绕过限制)权限,并重新运行前提条件 中的祖先检查。
  • 错误版本已提交但尚未打标签:修正 JSON 文件,并在打标签前修订发布提交。
  • 错误内容的标签已推送:如果 GitHub Release 尚未发布,请删除并重新创建标签; 否则发布后续补丁版本,不要改写历史记录。

维护

此技能的规范副本位于 .claude/skills/skills-release/SKILL.md。 .agents/skills/skills-release 是指向它的符号链接——只编辑规范文件。

评论

支持 Markdown