changelog-generator について
changelog-generator は、Conventional Commits から変更履歴とリリースノートを作成するスキルで、リリース記録を標準化する開発チーム向けです。セマンティックバージョン判定、複数形式の出力、monorepo のスコープ指定、コミットメッセージ検査に対応します。
主な機能
- 01Conventional Commit メッセージの解析
- 02major、minor、patch の判定
- 03複数形式での変更履歴生成
- 04monorepo スコープでの絞り込み
- 05CI とフックによるコミット形式の検査
活用シーン
- 01リリース前のバージョンノート作成
- 02CI でのリリースノート自動生成
- 03PR チェックでのコミット規約検証
- 04monorepo パッケージ別の変更履歴作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ borghei/ claude-skills --skill changelog-generatorインストール後、Claude Code で/changelog-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/commit-format-and-rendering.mdgeneration-and-linting.mdquality-and-troubleshooting.mdscripts/breaking_change_detector.pychangelog_formatter.pycommit_parser.py詳細
変更履歴ジェネレーター
Conventional Commits から、一貫性があり監査可能な変更履歴とリリースノートを生成します。コミットメッセージを解析し、セマンティックバージョニングの更新レベル(major/minor/patch)を検出して、Keep a Changelog の各セクションを出力します。モノレポのスコープ別変更履歴に対応し、CI と連携してリリースノートを自動生成し、リンティングでコミット形式を徹底します。コミット解析、バージョン更新ロジック、出力処理を分離しているため、編集上の管理を損なうことなくリリースを自動化できます。
キーワード
変更履歴、リリースノート、Conventional Commits、セマンティックバージョニング、semver、Keep a Changelog、コミットのリンティング、リリースの自動化、モノレポの変更履歴
主な機能
- コミット解析 — Conventional Commit のメッセージを構造化データ(type、scope、description、body、footer)に解析します。
!とBREAKING CHANGE:から破壊的変更を検出します。 - セマンティックバージョニングの検出 — コミットの種類をバージョン更新レベルに対応付けます(breaking→major、feat→minor、その他→patch)。プレリリースバージョンにも対応します。
- 変更履歴の出力 — Keep a Changelog、GitHub リリースノート、プレーンな Markdown、JSON 形式で、種類ごとにまとめて出力します。
- 品質の徹底 — CI や pre-commit フック向けのコミットメッセージリンター、厳格モード、スコープの検証、破壊的変更の文書化要件に対応します。
使用する場面
- リリースタグを公開する前
- CI でリリースノートを自動生成するとき
- PR のチェックでコミットメッセージの規約を徹底するとき
- パッケージごとにスコープを指定して変更履歴を作成する必要があるモノレポで
- 生の Git 履歴をユーザー向けのリリースノートに変換するとき
- リリース前チェックリストの手順として
最初に確認すること
変更履歴を生成する前に、次の入力を確認してください。不明または曖昧な項目があれば、推測せずに質問してください。
- コミット範囲 — どのタグまたはコミット以降を対象にするか(含める履歴を指定します)
- 出力形式 — Keep a Changelog、GitHub リリースノート、プレーンな Markdown、JSON のいずれか(
changelog_formatter.py --formatに設定します) - バージョンとスコープ — リリースバージョン、およびモノレポの場合は絞り込むパッケージのスコープ(
--versionとスコープによる絞り込みに設定します)
停止ルール:出力に最も影響する 2~3 項目だけを質問してください。ユーザーが「とりあえず下書きを作って」と言った場合は作成を進め、成果物の冒頭に前提を列挙してください。
ツール
| ツール | 目的 | コマンド |
|---|---|---|
commit_parser.py | git log(---COMMIT_END--- 区切り)を解析し、構造化された変更履歴エントリーに変換します | git log --pretty=format:'%H%n%s%n%b%n---COMMIT_END---' --no-merges | python scripts/commit_parser.py --json |
breaking_change_detector.py | コミットメッセージと差分をスキャンして、破壊的変更の指標を検出します | python scripts/breaking_change_detector.py -f gitlog.txt --severity high |
changelog_formatter.py | 解析済みのコミットを Keep a Changelog または GitHub Markdown 形式に整えます | python scripts/changelog_formatter.py -f parsed.json --version 1.4.0 --format keepachangelog |
リファレンス
タスクに合ったリファレンスを読み込んでください。このファイルは簡潔に保ち、必要な詳細をその都度参照します。
- references/commit-format-and-rendering.md — Conventional Commit の文法、種類とセクション/semver の対応表、破壊的変更のルール、Keep a Changelog と GitHub リリースノートの出力形式を説明します。コミット規約や出力スタイルを定めるときに読んでください。
- references/generation-and-linting.md — Python コードを使った 4 ステップの解析→バージョン更新→出力ワークフロー、pre-commit フックと CI の commitlint 設定、モノレポのスコープ別変更履歴の方針、リリースワークフローとの連携図を説明します。パイプラインの構築や形式の徹底を行うときに読んでください。
- references/quality-and-troubleshooting.md — 公開前の品質チェックリスト、よくある落とし穴、ベストプラクティス、トラブルシューティング表、成功基準をまとめています。変更履歴を公開する前や問題の診断時に読んでください。
範囲と制限事項
このスキルで扱う内容:
- Conventional Commit メッセージを解析し、変更履歴生成用の構造化データに変換する
- コミット履歴からセマンティックバージョンの更新(major/minor/patch)を決定する
- Keep a Changelog、GitHub Release Notes、プレーンな Markdown、JSON 形式で変更履歴を生成する
- pre-commit フックと CI リンティングによってコミットメッセージの標準を適用する
このスキルでは扱わない内容:
- 実際のリリース公開やデプロイパイプラインの実行 —
engineering/ci-cd-pipeline-designを参照 - Git タグ管理、ブランチ戦略、マージワークフロー —
engineering/git-workflow-automationを参照 - コミットメッセージ自体の作成や改善 —
standards/git/git-workflow-standards.mdを参照 - Changesets や Lerna などのツールを使った複数パッケージの協調的なバージョン管理 — モノレポ戦略で言及されていますが、ここでは実装されていません
統合ポイント
| スキル | 統合内容 | データフロー |
|---|---|---|
engineering/ci-cd-pipeline-design | 変更履歴生成は、リリース公開前の CI ステージとして実行されます | 解析済みコミットと生成された変更履歴が、アーティファクトとしてリリースパイプラインに渡されます |
engineering/git-workflow-automation | コミットが変更履歴ジェネレーターに到達する前に、コミットリンティングフックで形式を検証します | pre-commit 検証により、解析可能なコミットだけが git 履歴に追加されます |
engineering/code-review-automation | PR チェックでは、マージ前にコミットメッセージが Conventional Commits に準拠していることを確認します | リンティング結果が PR の承認を制御し、解析できないコミットが main に到達するのを防ぎます |
engineering/api-versioning-strategy | 破壊的変更の検出により、API のバージョン更新と変更履歴の major リリースを連動させます | BREAKING CHANGE コミットによって、変更履歴の項目追加と API のバージョン更新がどちらも行われます |
project-management/release-management | リリース計画では、生成された変更履歴を関係者とのコミュニケーションに使用します | 生成されたリリースノートが、リリースチェックリストや関係者への告知に反映されます |
standards/git/git-workflow-standards.md | コミット形式の標準によって、このスキルが解析する文法が定義されます | 標準の定義が、コミットの正規表現パターンの信頼できる情報源になります |