SuperAPI AI 工具集

openseo-release-notes

部署与运维

查看项目

更新于 10-16 22:15

技能介绍

用途

该技能用于为 OpenSEO 仓库端到端地完成一次发布。交付物包括:package.json 中的版本号提升、新增的 docs/release-notes/v<version>.md 文件,以及针对 origin/main 的标题为 release: v<version> 的 PR。

主要能力

  1. 提升版本号:读取 package.json;若分支已提升过 version,则以其为准不再修改;否则提升 patch 版本(如 0.0.19 → 0.0.20),仅在明确要求时才提升 minor/major。
  2. 收集自上次发布以来的变更:查找最新 tag(git tag --sort=-creatordate | head -1),确认分支与 origin/main 同步;列出提交(git log <last-tag>..HEAD --oneline),也可运行 pnpm release:notes 获取原始提交清单(仅作候选变更核对表,不作为草稿结构)。对每个提交获取 PR 正文与作者(gh pr view <num> --repo <repo> --json title,body,author),提交主题中的 (#NN) 可能指向 bensenescu/open-seo(origin)或 every-app/open-seo(public),需先试 origin 再回退到 public;无 (#NN) 的提交也可能是外部贡献,可通过 gh pr list --repo every-app/open-seo --state merged --author <login> 检查,并用 git log --format=%an 查看作者。当 PR 正文与提交主题冲突时,以最终代码为准。记录每个变更对应的 PR 作者 GitHub 账号以便署名。
  3. 撰写发布说明:写入 docs/release-notes/v<version>.md。以 docs/release-notes/v0.0.24.md 为规范风格范例(v0.0.25 及之后同风格;v0.0.23 及更早为旧版冗长风格,不可模仿)。说明是可快速浏览的摘要而非文档,整个文件约 15 行(含标题)应能一屏显示。格式要求:首行为片段式标题,点出本次发布的 2–3 个亮点(如 "GSC UI, improved app layout and beta in app agent."),不用 "This release brings…" 句式;仅设 ## What's new 和 ## Fixed 两个小节,没有 "Improved" 小节;What's new 条目只命名功能不推销,每条一行,最多一个子条目(最有用的细节、要求或预期说明);粗糙功能标注 "(Beta)" 并诚实设定预期;Fixed 为 3–5 条,每条一句平实的话,只写用户可能遇到且能识别的 bug,不写错误码、状态码、schema/基础设施词汇或机制;外部贡献者在顶层条目末尾署名 — thanks @handle(维护者 bensenescu 自己的 PR 不署名),多贡献者写 — thanks @a, @b;结尾为 Full Changelog: https://github.com/every-app/open-seo/compare/v<prev>...v<version>。
  4. 筛选原则:只保留产品本身的变更(应用、MCP 工具、OpenSEO 用户实际使用的 SEO 数据/功能),判断标准是自托管用户在使用产品时是否会注意到。不提及营销网站(web/)变更、定价/套餐/订阅/计费、仅引导流程变更、托管应用内部与元信息(分析、specs/ADR、CI、重构、依赖升级)、用户不可见的工作(安全加固、提升上限、稳定性/内存/性能修复、数据库/后端选项与迁移)。犹豫时选择删减;绝不编造功能,每条声明须可追溯到提交;条目中的数字通常是推销,应删减,若确有关键数字则引用保守的典型值。
  5. 评审与验证:启动评审子代理,提供草稿、上述指南、逐提交事实与仓库访问权限,返回编号评审意见并指出违反的指南(包括冗长问题:推销而非命名的条目、第二个子条目、含机制词汇的 Fixed 条目、超出单屏的内容);对每条实质性意见并行启动验证子代理,对抗性核对意见与实际提交/代码,给出 APPLY / APPLY-MODIFIED / REJECT 裁决;仅应用已验证的意见。
  6. 提交 PR:在名为 claude/v<version> 的分支上提交版本提升、发布说明及任何技能变更(若当前分支已符合该模式则直接使用);推送到 origin 并针对 main 提交标题恰为 release: v<version> 的 PR,PR 正文为发布说明内容。不要打 tag 或发布 GitHub release——那在合并后进行。合并后运行 pnpm release:publish,它从 package.json 读取版本并将匹配的 docs/release-notes/v<version>.md 发布到 every-app/open-seo。等效命令为:
gh release create v<version> \
  --repo every-app/open-seo \
  --title v<version> \
  --notes-file docs/release-notes/v<version>.md

适用场景

当用户要求准备一次发布、提升版本号或撰写发布说明时使用。

限制

该技能针对 OpenSEO 仓库的发布流程;依赖 git、gh、pnpm 等工具与仓库访问权限。发布说明的撰写有严格风格与筛选约束,需遵循指定范例文件。