360 Secure SkillHub
360 安全技能中心

Git Release Notes

核心功能:分析指定Git引用(标签、分支、SHA)间的提交,按约定前缀或内容自动分类变更(特性、修复、破坏性变更等),生成多格式(GitHub、Slack等)发布说明,支持自定义配置。典型场景:版本发布时撰写文档、整理变更日志、汇总版本差异。输入为Git起止引用,输出为结构化的Markdown/文本内容。

charlie-morrison
charlie-morrison
热度 47.45
最近更新 2026-05-18 11:42:16
分类:开发依赖:代码执行 / 内部调用大模型 / 读写文件应用场景:摘要总结 / DevOps / 报告撰写 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add git-release-notes
Metadata
name
git-release-notes
description
Generate polished release notes and changelogs from git history. Analyzes commits between tags/refs, categorizes changes (features, fixes, breaking changes, etc.), and produces formatted release notes in multiple styles. Use when asked to generate release notes, create a changelog, summarize changes between versions, write release documentation, or prepare a GitHub release. Triggers on "release notes", "changelog", "what changed since", "summarize commits", "version bump notes", "prepare release".

Git Release Notes

Generate formatted release notes from git commit history. Analyzes commits between any two refs (tags, branches, SHAs) and produces categorized, human-readable release notes.

Quick Usage

Generate Notes Between Tags

scripts/gather_commits.sh v1.2.0 v1.3.0

Then format the JSON output into release notes using the formatting rules below.

Generate Notes Since Last Tag

scripts/gather_commits.sh $(git describe --tags --abbrev=0) HEAD

Generate Notes Between Branches

scripts/gather_commits.sh main release/2.0

Workflow

1. Gather Commits

Run scripts/gather_commits.sh <from_ref> <to_ref> to get structured commit data (JSON array).

If no refs provided, ask user for:

  • The starting point (tag, branch, or SHA)
  • The ending point (default: HEAD)

2. Categorize Commits

Group commits by type using conventional commit prefixes and content analysis:

Category Prefixes / Signals Emoji
Breaking Changes BREAKING CHANGE:, !: in subject 💥
Features feat:, feature:, add: ✨
Bug Fixes fix:, bugfix:, hotfix: 🐛
Performance perf: ⚡
Documentation docs:, doc: 📚
Refactoring refactor: ♻️
Testing test:, tests: 🧪
CI/Build ci:, build:, chore: 🔧
Dependencies deps:, dep:, "bump", "upgrade" in subject 📦
Other Anything else 📝

If commits don't follow conventional commits, analyze the commit message content to infer categories.

3. Format Release Notes

Default format (GitHub Release style):

# v1.3.0

> Released on 2026-03-26 | 47 commits | 5 contributors

## 💥 Breaking Changes
- Remove deprecated `legacy_auth` endpoint (#234)

## ✨ Features
- Add dark mode support (#220)
- Implement batch export for CSV/JSON (#215)

## 🐛 Bug Fixes
- Fix race condition in queue processor (#228)
- Correct timezone handling for UTC offset (#225)

## ⚡ Performance
- Optimize database queries for dashboard load (#222)

## 📦 Dependencies
- Bump express from 4.18 to 4.21

## 🔧 Other
- Update CI pipeline for Node 22

**Full Changelog:** v1.2.0...v1.3.0

4. Alternative Formats

Compact (for small releases):

v1.3.0 — Dark mode, batch export, 5 bug fixes. Breaking: removed legacy_auth.

Keep a Changelog (keepachangelog.com):

## [1.3.0] - 2026-03-26
### Added
- Dark mode support
### Changed
- Optimized dashboard queries
### Removed
- Deprecated legacy_auth endpoint
### Fixed
- Race condition in queue processor

Slack/Discord announcement:

🚀 **v1.3.0 is out!**

Highlights:
→ Dark mode support
→ Batch CSV/JSON export
→ 5 bug fixes

⚠️ Breaking: `legacy_auth` endpoint removed — migrate to `/v2/auth`

Customization

Users can specify:

  • Format — github (default), compact, keepachangelog, slack
  • Include/exclude categories — "skip docs and chore commits"
  • Group by — category (default), author, scope
  • PR links — auto-detect GitHub PR numbers (#NNN)
  • Contributors — list contributors at the bottom
  • Scope filter — only include commits touching certain paths

Scripts

  • scripts/gather_commits.sh <from> <to> — Outputs JSON array of commits with hash, author, date, subject, body