AgentSkillsCN

git-release-notes-generator

依据 Git 标签间的提交历史与差异生成发布说明。借助 git log 和 git diff 收集相关信息,并在发布说明撰写需求中使用,内容包括:Issue 编号提取、分类归档、统计信息(提交次数、贡献者数量、变更文件数量、新增与删除行数)等。

SKILL.md
--- frontmatter
name: git-release-notes-generator
description: Gitタグ間のコミット履歴と差分からリリースノートを作成する。git log/git diffで情報を収集し、Issue番号抽出・カテゴリ分類・統計(コミット数/貢献者数/変更ファイル数/追加削除行数)を含むリリースノート作成依頼で使用する。

Gitリリースノート作成

目的

指定したタグ間のコミット履歴とコード差分を分析し、カテゴリ分類・統計情報を含むリリースノートを生成する。

ワークフロー

  1. 対象タグ(前回/現在)と対象リポジトリを確認する。
  2. 必要なコマンドを実行してコミット履歴・差分・統計を収集する。
  3. コミットメッセージからIssue番号(#数字)を抽出する。
  4. 差分内容を読み、変更の詳細を補足する。
  5. コミットをカテゴリに分類し、重要度順に並べる。
  6. 指定フォーマットでリリースノートを作成する。

必要なコマンド

bash
# 指定タグ間のコミット取得
git log [前回のタグ]..[現在のタグ] --pretty=format:"%h %s"

# 指定タグ間のコード差分取得
git diff [前回のタグ] [現在のタグ] --name-status
git diff [前回のタグ] [現在のタグ]

# 統計情報の取得
コミット数: git log [前回のタグ]..[現在のタグ] --oneline | wc -l
貢献者数: git log [前回のタグ]..[現在のタグ] --format="%an" | sort -u | wc -l
変更ファイル数: git diff --name-only [前回のタグ] [現在のタグ] | wc -l

分類ルール

  • ✨ 新機能: feat、add、新機能、追加 など
  • 🐛 バグ修正: fix、修正、バグ など
  • ⚡ パフォーマンス改善: perf、performance、最適化 など
  • 📚 ドキュメント: doc、ドキュメント など
  • 🔧 設定変更: config、設定、環境 など
  • 🔄 その他: 上記以外

出力フォーマット

以下のテンプレートを厳守する。

markdown
# 🚀 リリースノート: [現在のタグ]

## 🗓️ [現在の日付]

## ✨ 新機能
- 🆕 [コミットメッセージ] ([Issue番号])
  - [コード差分から得られた詳細情報]

## 🐛 バグ修正
- 🔧 [コミットメッセージ] ([Issue番号])
  - [バグの詳細と修正内容]

## ⚡ パフォーマンス改善
- ⚡ [コミットメッセージ] ([Issue番号])
  - [パフォーマンス改善の詳細]

## 📚 ドキュメント
- 📝 [コミットメッセージ] ([Issue番号])
  - [ドキュメント更新の詳細]

## 🔧 設定変更
- 🔧 [コミットメッセージ] ([Issue番号])
  - [設定変更の詳細]

## 🔄 その他の変更
- 🔄 [コミットメッセージ] ([Issue番号])
  - [変更の詳細]

## 📊 統計
- 📦 コミット数: [数値]
- 👥 貢献者数: [数値]
- 📄 変更ファイル数: [数値]
- 📈 追加行数: [数値]
- 📉 削除行数: [数値]

注意点

  • 絵文字を適切に使用し、視認性を高める。
  • Issue番号が不明な場合は「確認が必要」と明示する。
  • 破壊的変更や重要変更は強調して記載する。
  • 同一カテゴリ内は重要度順に並べる。