create-release-notelisted
Install: claude install-skill fitlab-ai/agent-infra
# 创建发布说明
基于已合并的 PR 和提交,为指定版本生成全面的发布说明。
## 执行流程
### 1. 解析参数
从参数中提取:
- `<version>`:当前发布版本(必需),格式 `X.Y.Z`
- `<prev-version>`:上一版本(可选),如未提供则自动检测
### 2. 确定版本范围
**当前标签**:`v<version>`
**上一标签**(如未指定):
```bash
git tag --sort=-v:refname
```
查找 `v<version>` 之前最近的标签。
**验证标签存在**:
```bash
git rev-parse v<version>
git rev-parse v<prev-version>
```
### 3. 参考历史发布说明格式与分类
读取一次 typed 发布说明上下文,并参考预定义的完整分类清单:
执行前先读取 `.agents/rules/release-commands.md`。
```bash
agent-infra-internal platform-release-notes context \
--from-tag "v<prev-version>" --to-tag "v<version>" \
--branch "<base-branch>" --history-limit 3
```
**Part B:完整分类清单**
- `🆕 Feature`
- `✨ Enhancement`
- `✅ Bugfix`
- `📚 Documentation`
**用途**:
- Part A:分析最近 3 条历史发布说明的章节结构、标题风格、emoji 使用、条目格式
- Part B:提供静态完整分类清单,确保后续生成时不遗漏已有分类
- 该静态清单用于确保变更分类时不遗漏已有类别名称;若当前版本无该类变更,仍按步骤 7 的格式规则省略空分类
- 后续步骤 7 生成发布说明时,**必须**同时参考步骤 3 的历史格式风格和完整分类清单,保持版本间的一致性
- 如果没有历史发布说明,则使用步骤 7 中定义的默认格式
### 4. 收集已合并的 PR 与贡献者
使用步骤 3 返回的 `pullRequests` 与 `commits`。每个 commit 的 `authors` 已按平台事实规范化并包含 git author 与 co-author;技能不读取平台原始字段或邮箱规则。
### 5. 收集关联 Issue
使用步骤 3 中每个 PR 的 `closingIssues`,不在通用技能中解析平台专有引用语法。
### 6. 分类变更
**按类型**(从 PR 标题的 Conventional Commit 前缀):
- `feat`、`perf`、`refactor`、依赖升级 -> Enhancement
- `fix` -> Bugfix
- `docs` -> Documentation(如少于 3 项则合并到 Enhancement)
**按模块**(从 PR 标题 scope、标签或文件路径):
- 从 PR 标题中的方括号 `[module]` 或 Conventional scope `feat(module):` 推断模块
- 兜底:分析变更的文件
### 7. 生成发布说明
**优先使用步骤 3 中获取的历史格式风格,并确保覆盖步骤 3 列出的所有分类。** 如果存在历史发布说明,严格沿