jackin-release-notes について
前回リリース以降にマージされたすべての PR を分類し、`CHANGELOG.md` の `[Unreleased]` を作成するリリースノート用スキルです。PR のないコミットも確認し、リリース前に内容をレビューに提示します。
主な機能
- 01前回リリースの境界を特定
- 02マージ済み PR の収集
- 03変更をカテゴリ別に分類
- 04未分類コミットの確認
- 05`[Unreleased]` の作成と提示
活用シーン
- 01リリース前の変更履歴作成
- 02次回リリース内容のプレビュー
- 03マージ済み PR の記載漏れ確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jackin-project/ jackin-dev --skill jackin-release-notesインストール後、Claude Code で/jackin-release-notesを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
jackin-release-notes
最後のリリースタグ以降にマージされたすべての PR を Keep a Changelog のカテゴリに分類し、CHANGELOG.md の [Unreleased] セクションを作成します。網羅性が重要です。マージされた PR をすべて記載し、漏れも重複もないようにします。
使用する場面
- リリース前に、変更履歴を作成するとき。
- オペレーターから次のリリースに含まれる内容のプレビューを求められたとき。
使用しない場面
- リリース自体を作成するとき →
jackin-release(リリースノートのステップとしてこのスキルを実行します)。
プロセス
-
境界を特定します。
LAST_TAG=$(git describe --tags --abbrev=0)を実行します。タグがない場合は、最初のコミットから開始します(git rev-list --max-parents=0 HEAD)。TAG_DATE=$(git log -1 --format=%aI "$LAST_TAG")を実行します。完了条件:境界となるコミットとその日付を特定していること。
-
マージ済み PR を収集します。
gh pr list --state merged --base main --search "merged:>$TAG_DATE" --json number,title,labels,mergedAtを実行します。完了条件:タグ以降にマージされた PR がすべて一覧に含まれていること。
-
各 PR を分類します。 Conventional Commits のプレフィックスとラベルに基づいて分類します。
プレフィックス/ラベル カテゴリ feat:/feature追加 fix:/bug修正 security:セキュリティ refactor:、chore:、docs:、ci:、build:変更 deprecate:非推奨 remove:削除 該当なし 変更(デフォルト) タイトルからプレフィックスを取り除き、最初の単語を大文字にします(
feat: add TUI launcher→Add TUI launcher)。完了条件:すべての PR がいずれか 1 つのカテゴリに分類されていること。
-
カテゴリ未分類のコミットを確認します。
git log <last-tag>..HEAD --oneline --no-mergesを実行し、各コミットについてgh pr list --state merged --search "<sha>"を実行します。PR に紐づかないコミットは カテゴリ未分類のコミット に記載します。完了条件:タグ以降のすべての非マージコミットが、PR に紐づけられるか、一覧に記載されていること。
-
[Unreleased]を作成します。 Keep a Changelog 形式に従い、空でないカテゴリごとにセクションを設け、各項目に PR へのリンク([#N](…/pull/N))を追加します。既存の[Unreleased]ブロック(## [Unreleased]と次の## [の間)を置き換えます。オペレーターが編集した項目を上書きする前に確認してください。`` マーカーはそのまま残します。完了条件:
CHANGELOG.mdにマージ済み PR がすべて適切なカテゴリの下に記載され、空のカテゴリは省略され、マーカーが維持されていること。 -
レビュー用に提示します。 セクションを表示し、オペレーターが分類や表現を修正できるようにします。承認されるまでリリースには進みません。
冪等性
安全に再実行できます。毎回 CHANGELOG.md を読み込み直し、既存の項目を上書きする前に確認し、GitHub から PR データを最新の状態で取得します。
よくある間違い
- Conventional Commits のプレフィックスがない PR を漏らすこと。デフォルトで 変更 に分類されるため、省略しないでください。
- 空のカテゴリを記載すること(「削除 の項目なし」は不要です。セクションごと省略してください)。
- 各項目に PR へのリンクを付け忘れること。
- オペレーターが編集した
[Unreleased]を確認せずに上書きすること。