changelog について
PR 内の重要なコミットについて、変更履歴の項目を作成するスキルです。文書のみの変更など対象外の変更を除外し、プロジェクトのファイル命名規則と分類に沿って、簡潔でユーザー向けの項目を記述します。
主な機能
- 01重要な変更の選別
- 02変更履歴の種類選択
- 03PR に基づくファイル命名
- 04ユーザー向けの変更説明
- 05破壊的変更の明示
活用シーン
- 01ユーザー向けの新機能を記録
- 02動作変更やバグ修正を記録
- 031 つの PR に複数項目を追加
- 04破壊的変更を明示
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pipecat-ai/ pipecat --skill changelogインストール後、Claude Code で/changelogを入力して読み込まれたか確認します。
詳細
この PR の重要なコミットについて、変更履歴ファイルを作成します。PR 番号は引数として渡されます。
手順
-
次の変更については、変更履歴を作成しないでください:ドキュメントのみ、内部リファクタリングのみ、テストのみ、CI の変更、まだリリースされていない変更に対する修正(未リリースの変更の項目で対応できるため、修正によって記載内容を変える必要がある場合は、その項目を更新してください)。
-
まず、現在のブランチにあり、main と比べてどのコミットが含まれているか確認します:
git log main..HEAD --oneline -
重要な変更ごとに、次の形式で
changelog/フォルダーに変更履歴ファイルを作成します: 使用できる種類:added、changed、deprecated、removed、fixed、security、performance、other{PR_NUMBER}.added.md- 新機能の場合{PR_NUMBER}.added.2.md、{PR_NUMBER}.added.3.md- 同じ種類の追加項目の場合{PR_NUMBER}.changed.md- 既存の機能を変更した場合{PR_NUMBER}.fixed.md- バグを修正した場合{PR_NUMBER}.deprecated.md- 非推奨にした場合{PR_NUMBER}.removed.md- 機能を削除した場合{PR_NUMBER}.security.md- セキュリティ上の問題を修正した場合{PR_NUMBER}.performance.md- パフォーマンスを改善した場合{PR_NUMBER}.other.md- その他の変更の場合
-
各変更履歴ファイルには、変更内容を明確に説明する
-で始まるメインの一文を最低 1 行含めます。行を折り返さないでください。 -
変更が複雑な場合は、メインの行の後に追加の詳細やコード例をインデントして記載できます。
-
破壊的変更には、⚠️ の絵文字を先頭に付けます。
-
まずユーザー向けの表現で変更を記述してください。 フレームワークのユーザーが気づくこと、つまり新しい API、動作の変更、新しいパラメーター、ユーザーが遭遇する可能性のあるバグの修正などから始めます。実装の詳細(内部リファクタリングや内部での接続方法など)は、補足情報として記載できますが、ユーザーから見える影響がある場合に、その詳細だけを変更履歴に記載してはいけません。
良い例(まずユーザー向けの内容を記載し、実装の詳細は補足として記載):
- Turn completion instructions now persist correctly across full context updates when using `system_instruction`. Previously they were injected as a context system message, which caused warning spam and didn't survive context updates.悪い例(ユーザー向けの説明がなく、実装の詳細のみを記載):
- Fixed turn completion instructions being injected as a context system message instead of using `system_instruction`.「Pipecat を使って開発する開発者として、どのような変更に気づくか?」と考え、そこから書き始めてください。
-
項目を記載したら、
/prose-review changelog/を実行し、指摘された内容を修正します。
例
新機能とバグ修正を含む PR #3519 の場合:
changelog/3519.added.md:
- Added `SomeNewFeature` for doing something useful.
changelog/3519.fixed.md:
- Fixed an issue where something was not working correctly in some user-visible scenario. The root cause was an internal implementation detail.