app-store-changelog について
app-store-changelog は、タグ以降の Git コミットをユーザー向けの App Store リリースノートにまとめるワークフロースキルです。ユーザーに影響する変更を選び、分類して、内容との整合性を確認します。
主な機能
- 01タグ間のコミット収集
- 02ユーザーに見える変更の抽出
- 03変更のテーマ別分類
- 04簡潔なリリースノート項目の作成
- 05項目と変更内容の照合
活用シーン
- 01新バージョンのリリースノート作成
- 02コミット履歴を平易な更新内容に整理
- 03内部向け変更をノートから除外
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ patrickserrano/ skills --skill app-store-changelogインストール後、Claude Code で/app-store-changelogを入力して読み込まれたか確認します。
詳細
App Store 変更履歴
概要
最後のタグ以降の Git 履歴から、ユーザー向けの包括的な変更履歴を生成し、コミット内容をわかりやすい App Store のリリースノートに翻訳します。
ワークフロー
1) 変更を収集する
最後のタグ以降のコミットを取得します。
# Find the last tag
git describe --tags --abbrev=0
# List commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline
# Or with more detail
git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h %s" --no-merges
特定の参照を比較する場合:
git log v1.2.3..HEAD --oneline --no-merges
タグがない場合:
git log --oneline --no-merges -50 # Last 50 commits
2) ユーザーへの影響を分類する
コミットを確認し、ユーザーに見える変更を特定します。
含める項目:
- 新機能
- UI の変更
- 動作の変更
- ユーザーが気づくバグ修正
- 目に見える効果のあるパフォーマンス改善
除外する項目:
- リファクタリング
- 依存関係の更新
- CI の変更
- 開発者向けツール
- 内部ログ
- 分析機能の変更(ユーザーのプライバシーや動作に影響する場合を除く)
変更をテーマごとに分類します。
- 新規:新機能と新しい機能
- 改善:既存機能の強化
- 修正:バグ修正
3) App Store のリリースノートを作成する
簡潔で、メリットが伝わる箇条書きを作成します。
- わかりやすい動詞と平易な表現を使います
- 内部用語、チケット ID、ファイルパスは避けます
- ユーザーから別の長さを指定されていない限り、箇条書きは 5~10 項目を目安にします
- 各項目は 1 文とし、動詞で始めます
表現のガイドライン:
- 技術用語はユーザー向けの表現に置き換えます
- 避ける表現:「API」、「リファクタリング」、「nil」、「クラッシュログ」、「依存関係」
- 使用する表現:「改善しました」、「追加しました」、「修正しました」、「更新しました」
- 時制は一貫させます(現在形または過去形)
例:
- 「プロフィールメニューからアカウントを切り替えられるようになりました。」
- 「低速な接続環境でのタイムラインの読み込みを高速化しました。」
- 「メディア添付ファイルを全画面で開けない問題を修正しました。」
4) 検証する
- すべての箇条書きが対象範囲内の実際の変更に対応している
- 同じ変更を説明する箇条書きが重複していない
- 内部用語やファイルパスが含まれていない
- 最終リストが App Store の文字数制限(指定されている場合)に収まっている
出力形式
What's New
• Added [feature description]
• Improved [enhancement description]
• Fixed [bug fix description]
セクションに分ける場合:
What's New in [Version]
New
• [Feature 1]
• [Feature 2]
Improved
• [Enhancement 1]
Fixed
• [Bug fix 1]
• [Bug fix 2]
クイックコマンド
# Full workflow: commits since last tag with files changed
git log $(git describe --tags --abbrev=0)..HEAD --stat --no-merges
# Just commit messages
git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"- %s" --no-merges
# List all tags
git tag -l --sort=-v:refname
# Compare two specific tags
git log v1.1.0..v1.2.0 --oneline --no-merges
ヒント
- 変更内容が曖昧な場合は、確認を求めます
- 明らかに内部向けのみの変更は除外します
- 判断に迷う場合は、ユーザーに見える変更に限り「小さな改善」として説明します
- 指定されている場合は、ストアの文字数制限を守ります
コメント
Markdown 対応