mcpField
C
changelog-generator

changelog-generator

github.com/dedalus-erp-pas開発190 回インストール
リポジトリ

changelog-generator について

changelog-generatorは、Gitのコミット履歴をユーザー向けの変更履歴にまとめるスキルです。変更を分類し、内部向けの記録を除外して、指定されたスタイルに沿って構成します。

主な機能

  1. 01範囲を指定したGit履歴の確認
  2. 02変更種別ごとのコミット分類
  3. 03技術的な記述のユーザー向け変換
  4. 04内部変更やマージ記録の除外
  5. 05指定ガイドラインに沿った整形

活用シーン

  1. 01新バージョンのリリースノート作成
  2. 02週次・月次の製品更新の要約
  3. 03アプリストア更新文の準備
  4. 04公開製品更新ページの管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dedalus-erp-pas/foundation-skills --skill changelog-generator

インストール後、Claude Code で/changelog-generatorを入力して読み込まれたか確認します。

詳細

変更履歴ジェネレーター

このスキルは、技術的な Git コミットを、顧客やユーザーが実際に理解し、役立つと感じられる、洗練された読みやすい変更履歴に変換します。

このスキルを使う場面

  • 新しいバージョンのリリースノートを準備するとき
  • 週次または月次の製品アップデート概要を作成するとき
  • 顧客向けに変更内容を記録するとき
  • アプリストアへの提出用に変更履歴の項目を作成するとき
  • アップデート通知を生成するとき
  • 社内向けのリリース文書を作成するとき
  • 公開されている変更履歴/製品アップデートページを管理するとき

このスキルでできること

  1. Git の履歴をスキャン:指定した期間、またはバージョン間のコミットを分析します
  2. 変更を分類:コミットを論理的なカテゴリ(機能、改善、バグ修正、破壊的変更、セキュリティ)にまとめます
  3. 技術用語をユーザー向けに変換:開発者向けのコミット内容を顧客向けの表現に変換します
  4. プロフェッショナルな形式に整える:見やすく構成された変更履歴を作成します
  5. 不要な情報を除外:内部向けのコミット(リファクタリング、テストなど)を除外します
  6. ベストプラクティスに従う:変更履歴のガイドラインとブランドのトーンを適用します

使い方

基本的な使い方

プロジェクトのリポジトリから実行します:

Create a changelog from commits since last release
Generate changelog for all commits from the past week
Create release notes for version 2.5.0
特定の日付範囲を指定する場合
Create a changelog for all commits between March 1 and March 15
カスタムガイドラインを指定する場合
Create a changelog for commits since v2.4.0, using my changelog 
guidelines from CHANGELOG_STYLE.md

指示

変更履歴を作成するときは、次の手順に従います。

  1. Git の履歴を分析する

    • git log を使って、指定した期間のコミットメッセージを取得します
    • 範囲が指定されていない場合は、最後のタグ以降のコミットを対象にします
    • コミットの規約(Conventional Commits、セマンティックバージョニングのタグ)を確認します
  2. コミットを分類する

    • ✨ 新機能:新しい機能や能力
    • 🔧 改善:既存機能の強化
    • 🐛 バグ修正:不具合の修正
    • ⚠️ 破壊的変更:ユーザーによる対応が必要な変更
    • 🔒 セキュリティ:セキュリティ関連の修正や改善
    • 📚 ドキュメント:ドキュメントの更新(通常、ユーザー向けの変更履歴からは除外します)
    • 🧹 内部変更:リファクタリング、テスト、ビルドの変更(ユーザー向けの変更履歴からは除外します)
  3. 技術的な表現をユーザー向けの表現に変換する

    • 実装方法ではなく、ユーザーにとって何が変わったかに焦点を当てます
    • 能動態と現在形を使います
    • 実装内容ではなく、メリットを説明します
    • 専門用語を平易な表現に置き換えます

    例:

    • ❌ 「認証サービスをリファクタリングし、JWT トークンを使用するようにしました」

    • ✅ 「ログインがより速く、安全になりました」

    • ❌ 「API エンドポイントに Redis キャッシュレイヤーを追加しました」

    • ✅ 「ページの読み込みが 50%速くなりました」

    • ❌ 「検索入力コンポーネントにデバウンスを実装しました」

    • ✅ 「入力すると、検索結果がすぐに表示されるようになりました」

  4. 変更履歴の形式を整える

    • 絵文字を使った分かりやすいセクション見出しを付け、内容を見つけやすくします
    • 影響の大きい変更(機能、破壊的変更)から記載します
    • 機能名を太字にし、その後に平易な言葉で説明します
    • 各項目は簡潔にまとめます(1~2 文)
    • 関連する変更をまとめます
  5. フィルターを適用する

    • chore:、test:、docs:、refactor: が付いたコミットは除外します(ユーザー向けの変更を除く)
    • マージコミットとバージョン更新コミットは省きます
    • 同じ機能に関する複数のコミットを 1 つの項目にまとめます
    • 開発者向けの変更を除外します
  6. 背景情報を加える

    • タイトルに日付またはバージョン番号を含めます
    • メジャーリリースの場合は、簡潔な紹介文を加えます
    • 破壊的変更については、詳細なドキュメントへのリンクを付けます
    • 必要に応じて、移行ガイドを含めます

例

ユーザー:「過去 7 日間のコミットについて変更履歴を作成してください」

出力:

# Updates - Week of March 10, 2024

## ✨ New Features

- **Team Workspaces**: Create separate workspaces for different 
  projects. Invite team members and keep everything organized.

- **Keyboard Shortcuts**: Press ? to see all available shortcuts. 
  Navigate faster without touching your mouse.

## 🔧 Improvements

- **Faster Sync**: Files now sync 2x faster across devices
- **Better Search**: Search now includes file contents, not just titles

## 🐛 Fixes

- Fixed issue where large images wouldn't upload
- Resolved timezone confusion in scheduled posts
- Corrected notification badge count

参考: Lenny's Newsletter に掲載された Manik Aggarwal のユースケース

変更履歴作成のベストプラクティス

文体
  • ユーザー中心:コードではなく、ユーザーにとって何が変わったかを説明します
  • メリットを重視:なぜ重要なのかを最初に伝えます
  • 簡潔に:各項目を 1~2 文にまとめます
  • 見つけやすく:ユーザーが知りたい情報を見つけやすいように書式を整えます
構成
  • 一貫した分類:毎回同じカテゴリを使用します
  • 重要なものを先に:バグ修正よりも機能や破壊的変更を先に記載します
  • カテゴリ内は時系列順:新しい変更から順に記載します
  • 視覚的な階層:見出し、太字、絵文字を効果的に使用します
内容に関するガイドライン
  • 具体的に記載する:「ログインの問題を修正」→「Google アカウントでログインに失敗する問題を修正」
  • 可能な場合は数値で示す:「読み込みが高速化」→「ページの読み込み速度が50%向上」
  • 背景を含める:大規模な更新では、変更した理由を説明します
  • 詳細へのリンクを追加する:複雑な変更については、ドキュメントや移行ガイドを参照します

ヒント

  • Git リポジトリのルートから実行します
  • 対象を絞った変更履歴には、日付範囲を指定します
  • 一貫した書式を保つため、CHANGELOG_STYLE.md を使用します
  • 生成された変更履歴を確認し、公開前に調整します
  • 出力を直接 CHANGELOG.md に保存します

関連するユースケース

  • GitHub のリリースノートの作成
  • アプリストアの更新内容の説明文の作成
  • ユーザー向けメール更新の作成
  • ソーシャルメディア告知投稿の作成

変換例

技術的なコミット → ユーザー向けの項目
技術的なコミットユーザー向けの項目
"Add OAuth2 support for SSO integration""シングルサインオン:会社のアカウントでログインできます"
"Optimize database queries with indexes""ダッシュボードの読み込みが3倍高速化"
"Implement WebSocket connection for real-time updates""更新せずに変更をすぐに確認できます"
"Add validation for email input fields""無効なメールアドレスを入力すると、わかりやすいエラーメッセージが表示されます"
"Fix memory leak in background sync worker""長時間のセッション中のアプリの安定性が向上"
カテゴリの例

✨ 新機能

  • これまで存在しなかった新しい機能
  • 機能の大幅な追加
  • 新しい連携機能やプラットフォームのサポート

🔧 改善

  • パフォーマンスの向上
  • UI/UX の改善
  • 既存機能の拡張
  • エラーメッセージの改善

🐛 バグ修正

  • 既存機能の修正
  • 報告された問題の解決
  • エッジケースの修正

⚠️ 破壊的変更

  • ユーザーによる対応が必要な変更
  • 削除された機能や API
  • デフォルトの動作の変更
  • 必要な移行手順

🔒 セキュリティ

  • セキュリティパッチ
  • 権限の改善
  • 認証機能の強化
  • データ保護の更新

コメント