release-notes-generator について
Git のコミットから3種類のリリースノートを生成するスキルです。リリース告知を準備する開発・リリースチーム向けに、変更の分類、技術内容のユーザー向け表現への変換、データベースマイグレーションの検出を行います。
主な機能
- 01指定したバージョン範囲のコミット分析
- 02gh api による PR 詳細の取得
- 03変更種別ごとの分類
- 04CHANGELOG、PR 本文、Slack メッセージの生成
- 05データベースマイグレーションの検出と通知
活用シーン
- 01リリースの技術的な変更履歴の作成
- 02PR リリースノートとデプロイチェックリストの準備
- 03ユーザー向け Slack リリース告知の作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ florianbruniaux/ claude-code-ultimate-guide --skill release-notes-generatorインストール後、Claude Code で/release-notes-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/changelog-template.mdREADME.mdslack-template.mdreferences/commit-categories.mdREADME.mdtech-to-product-mappings.mdscripts/README.md詳細
リリースノート生成ツール
Git のコミットから、3 つの形式で包括的なリリースノートを生成します。
ワークフロー
- Git の履歴を分析し、最後のリリースタグまたは指定されたバージョン以降の変更を確認します
gh apiを使って PR の詳細(タイトル、説明、ラベル)を取得します- 変更を機能、バグ修正、改善、セキュリティ、破壊的変更に 分類します
- 3 つの出力を生成します:CHANGELOG.md のセクション(技術者向け)、PR のリリース本文(技術者向けと一般向けの中間)、Slack メッセージ(ユーザー向け)
- 専門用語を分かりやすい表現に 変換します
- データベースのマイグレーションを検出した場合は 警告します
使い方
基本的な使い方
Generate release notes since last release
Create release notes for version 0.18.0
特定の範囲を指定する場合
Generate release notes from v0.17.0 to HEAD
プレビューのみ
Preview release notes without writing files
出力形式
1. CHANGELOG.md セクション
開発者向けの技術的な形式です。
## [0.18.0] - 2025-12-08
### Objective
[1-2 sentence summary]
### New Features
#### [Feature Name] (#PR)
- **Description**: ...
- **Impact**: ...
### Bug Fixes
- **[Module]**: Description (#issue, [error-tracker] ISSUE-XX)
### Technical Improvements
#### Performance / UI/UX / Architecture
- [Description]
### Database Migrations
[If applicable]
### Statistics
- PRs: X
- Features: Y
- Bugs: Z
2. PR のリリース本文
.github/PULL_REQUEST_TEMPLATE/release.md のテンプレートを使用します:
- 目的の概要
- 仕様へのリンク付きの機能
- エラートラッカーの参照付きのバグ修正
- カテゴリ別の改善
- マイグレーション手順
- デプロイのチェックリスト
3. Slack のお知らせ
.github/COMMUNICATION_TEMPLATE/slack-release.md の製品中心の形式です:
- 追跡できるよう PR リンク を含めます
- 専門用語を使わない表現
- ユーザーへの影響(エンドユーザー、管理者、関係者)に重点を置きます
- 読みやすさのために絵文字を使用します
- 統計の概要を記載します
ワークフローとの連携
このスキルはリリースワークフローと連携します:
1. Analyze commits: git log <last-tag>..HEAD
2. Determine version number (MAJOR.MINOR.PATCH)
3. Generate 3 outputs
4. Create PR develop -> main with "Release" label
5. Update CHANGELOG.md
6. After merge: create git tag
7. Generate Slack announcement
技術的な表現から製品向けの表現への変換
このスキルは、技術的な表現を自動的に変換します:
| 技術的な表現 | 製品向けの表現 |
|---|---|
| "N+1 query optimization with DataLoader" | "リストの読み込みが高速化" |
| "AI embeddings implementation with pgvector" | "新しいインテリジェント検索" |
| "Fix scope permissions in getPermissionScope()" | "アクセス権限のバグを修正" |
| "Migration webpack -> Turbopack" | 告知しない |
| "React hooks refactoring" | 告知しない |
| "Fix N+1 in user loaders" | "パフォーマンスを改善" |
| "Add retry logic for DB connection errors" | "接続の安定性が向上" |
コミットのカテゴリ
コミットは Conventional Commits のプレフィックスに基づいて分類されます:
| プレフィックス | カテゴリ | Slack に含める? |
|---|---|---|
feat: | 新機能 | はい |
fix: | バグ修正 | はい(ユーザー向けの場合) |
perf: | パフォーマンス | はい(簡潔な表現で) |
security: | セキュリティ | はい |
refactor: | アーキテクチャ | いいえ |
chore: | メンテナンス | いいえ |
docs: | ドキュメント | いいえ |
test: | テスト | いいえ |
style: | スタイル | いいえ |
コンソール出力形式
リリースノートを生成する際は、コンソールに必ず明確な概要を表示します:
マイグレーションの警告(重要)
マイグレーションが検出された場合は、目立つように表示します:
╔══════════════════════════════════════════════════════════════════╗
║ ⚠️ [WARNING] DATABASE MIGRATIONS REQUIRED ║
╠══════════════════════════════════════════════════════════════════╣
║ ║
║ This release contains X migration(s): ║
║ ║
║ • 20251210123456_add_feature_description ║
║ • 20251211094532_update_status_enum ║
║ ║
║ Action required BEFORE deployment: ║
║ → Run: [migration-command] ║
║ ║
╚══════════════════════════════════════════════════════════════════╝
マイグレーションがない場合:
✅ [OK] No database migrations required
検出方法
最後のリリース以降に追加されたマイグレーションファイルを確認します:
# Find new migrations since last tag
git diff <last-tag>..HEAD --name-only -- migrations/
例
ユーザー:「v0.17.0 以降のリリースノートを生成して」
出力:
Analyzing commits from v0.17.0 to HEAD...
Found:
- 15 commits
- 8 PRs merged
- 2 new features
- 5 bug fixes
- 3 improvements
╔══════════════════════════════════════════════════════════════════╗
║ ⚠️ [WARNING] DATABASE MIGRATIONS REQUIRED ║
╠══════════════════════════════════════════════════════════════════╣
║ This release contains 1 migration(s): ║
║ • 20251208143021_add_user_preferences ║
║ Action required: [migration-command] ║
╚══════════════════════════════════════════════════════════════════╝
--- CHANGELOG.md Section ---
[Technical format output]
--- PR Release Body ---
[Semi-technical format output]
--- Slack Announcement ---
[Product-focused format output]
Write to files? (CHANGELOG.md, clipboard for PR/Slack)
使用するコマンド
# Get last release tag
git tag --sort=-v:refname | head -n 1
# List commits since tag
git log <tag>..HEAD --oneline --no-merges
# Get PR details
gh api repos/{owner}/{repo}/pulls/{number}
# Get commit details
git show --stat <sha>
ヒント
- リポジトリのルートから実行します
ghCLI の認証が済んでいることを確認します- 公開前に生成された内容を確認します
- 対象読者に合わせて製品向けの表現を調整します
--previewを使うと、書き込みを行わずに出力を確認できます
参照ファイル
assets/changelog-template.md- CHANGELOG セクションのテンプレートassets/slack-template.md- Slack のお知らせのテンプレートreferences/tech-to-product-mappings.md- 変換ルールreferences/commit-categories.md- 分類ルール
関連スキル
github-actions-templates- CI/CD ワークフロー向けchangelog-generator- 元になったツール(ComposioHQ)
コメント
Markdown 対応