create-release-note
Solid从 PR 和 commit 生成版本发布说明。 当准备发版、需要从 PR 与 commit 汇总发布说明时使用。
AI & Automation 83 stars
5 forks Updated today MIT
Install
Quality Score: 82/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# 创建发布说明
基于已合并的 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. 参考历史发布说明格式与分类
获取最近多条已发布的 Release Note 作为格式参考,并参考预定义的完整分类清单:
执行前先读取 `.agents/rules/release-commands.md`。
```bash
# Part A:按 `.agents/rules/release-commands.md` 的 release 查询命令逐条获取最近 3 条 Release 的 body
```
**Part B:完整分类清单**
- `🆕 Feature`
- `✨ Enhancement`
- `✅ Bugfix`
- `📚 Documentation`
**用途**:
- Part A:分析最近 3 条历史发布说明的章节结构、标题风格、emoji 使用、条目格式
- Part B:提供静态完整分类清单,确保后续生成时不遗漏已有分类
- 该静态清单用于确保变更分类时不遗漏已有类别名称;若当前版本无该类变更,仍按步骤 7 的格式规则省略空分类
- 后续步骤 7 生成发布说明时,**必须**同时参考步骤 3 的历史格式风格和完整分类清单,保持版本间的一致性
- 如果没有历史发布说明,则使用步骤 7 中定义的默认格式
### 4. 收集已合并的 PR 与贡献者
获取标签之间的日期范围,然后查询已合并的 PR:
```bash
# 获取标签日期
git log v<prev-version> --format=%aI -1
git log v<version> --format=%aI -1
# 获取范围内已合并的 PR(按 `.agents/rules/release-commands.md` 的 merged PR 查询命令执行)
```
同时收集没有 PR 的直接提交:
```bash
git log v<prev-version>..v<version> --format="%H %s" --no-merges
```
从 commit `Co-authored-by` trailer 中收集协作贡献者:
```bash
git log v<prev-version>..v<version> \
--no-merges \
--format='%(trailers:key=Co-authored-by,valueonly,unfold)' \
| grep -v '^$' | sort | uniq -c | sort -rn
```
输出每行一个 `Name <email>`(`uniq -c` 给出该身份在范围内作为 co-author 的 commit 数)。
### 5. 收集关联 Issue
...
Details
- Author
- fitlab-ai
- Repository
- fitlab-ai/agent-infra
- Created
- 4 months ago
- Last Updated
- today
- Language
- TypeScript
- License
- MIT
Similar Skills
Semantically similar based on skill content — not just same category
AI & Automation Solid
release-notes
Build human-readable release notes from a range of commits or merged PRs
5 Updated yesterday
Guilhermepelido AI & Automation Listed
generating-release-notes
Generates GitHub release notes from merged PRs and issues with automated categorization, breaking change detection, and optional upload via gh CLI. Use when creating releases, publishing new versions, documenting changes, preparing release notes, or when the user mentions "release notes", "changelog", "release", or "version announcement".
1 Updated today
NASA-PDS Code & Development Solid
git-publish-release
当用户明确要求"发布项目到 GitHub"、"创建 GitHub Release"或"生成 Release Notes"时使用。智能分析 tag 间历史变化,生成专业且吸引人的 Release Notes,自动创建 GitHub Release。支持首次发布、常规版本、预发布版本(alpha/beta/rc),自动识别 prerelease 标记。
46 Updated 1 weeks ago
huangwb8