changelog-writer
gitのコミット履歴、PRタイトル、Issue参照をもとに、変更履歴やリリースノートを自動生成します。変更内容を破壊的変更・新機能・バグ修正・改善の種類別に整理し、Keep a Changelog標準形式でフォーマットしたうえで、バージョンタグやセマンティックバージョニングの提案も行います。「チェンジログを作成して」「リリースノートを書いて」「バージョン変更をまとめて」「リリース準備をして」といった要求に応える際に活用してください。
description の原文を見る
Generates changelogs and release notes from git commits, PR titles, and issue references. Organizes changes by impact type (breaking, features, fixes, improvements), formats according to Keep a Changelog standard, and provides version tagging and semantic versioning suggestions. Use when users request "create changelog", "write release notes", "document version changes", or "prepare release".
SKILL.md 本文
Changelog & Release Notes Writer
バージョン管理履歴からプロフェッショナルなチェンジログとリリースノートを生成します。
コアワークフロー
- コミット分析: 最後のリリース以降のgit履歴を解析
- 変更の分類: タイプ別(feat、fix、docsなど)にグループ化
- 破壊的変更の特定: 互換性のない変更にフラグを設定
- ハイライトの抽出: 最も重要な変更を表示
- ドキュメント形式化: Keep a Changelogフォーマットに準拠
- バージョン提案: セマンティックバージョニング の増分を推奨
- リリースノート生成: ユーザーフレンドリーな要約を作成
コミット分析
情報の抽出元
- コミットメッセージ(Conventional Commitsが望ましい)
- PRタイトルと説明
- Issue参照(#123)
- マージコミットメッセージ
- コミット作成者
パターン解析
feat(auth): add OAuth2 support
^ ^ ^
| | └─ 説明
| └─ スコープ(オプション)
└─ タイプ
タイプからカテゴリーへのマッピング:
feat→ Addedfix→ Fixeddocs→ Documentationstyle,refactor→ Changedperf→ Performancetest→ Testingchore,ci→ InternalBREAKING CHANGE→ Breaking Changes
チェンジログ形式(Keep a Changelog)
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- New feature X
- Support for Y
### Changed
- Updated Z behavior
### Fixed
- Resolved issue #123
## [2.1.0] - 2024-01-15
### Added
- OAuth2 authentication support
- User profile management API
- Dark mode toggle
### Changed
- Improved error messages
- Updated dependencies to latest versions
### Deprecated
- Legacy authentication method (will be removed in 3.0.0)
### Fixed
- Memory leak in WebSocket connection
- Incorrect date formatting in reports
- Race condition in concurrent requests
### Security
- Patched XSS vulnerability in user input
## [2.0.0] - 2023-12-01
### Breaking Changes
- ⚠️ Removed support for Node.js 16
- ⚠️ Changed API response format for `/users` endpoint
- ⚠️ Renamed `config.yaml` to `config.yml`
### Added
- Complete API rewrite with improved performance
- WebSocket support for real-time updates
### Migration Guide
See [MIGRATION_v2.md](./docs/MIGRATION_v2.md) for upgrade instructions.
[unreleased]: https://github.com/user/project/compare/v2.1.0...HEAD
[2.1.0]: https://github.com/user/project/compare/v2.0.0...v2.1.0
[2.0.0]: https://github.com/user/project/releases/tag/v2.0.0
リリースノート形式
# Release v2.1.0 - "Feature Release Name"
Released: January 15, 2024
## 🎉 ハイライト
このリリースは認証とユーザー体験の大幅な改善をもたらします:
- **OAuth2 対応**: ユーザーは Google、GitHub、Microsoft でサインインできるようになりました
- **ダークモード**: ライトモードとダークモード間の切り替え
- **パフォーマンス**: API レスポンス時間が 40% 高速化
## ✨ 新機能
- OAuth2認証(一般的なプロバイダー対応)(#456)
- ユーザープロフィール管理API(#478)
- 設定のダークモード切り替え(#492)
- CSV形式でのデータエクスポート(#501)
## 🐛 バグ修正
- WebSocket接続のメモリリークを修正(#489)
- レポートの日付フォーマットが正しくない問題を解決(#495)
- 同時API要求のレース条件を修正(#503)
## 🔄 変更
- アプリケーション全体のエラーメッセージを改善
- すべての依存関係を最新の安定版に更新
- UI アニメーションをリファインしてより滑らかな体験を実現
## 🔒 セキュリティ
- ユーザー入力検証の XSS 脆弱性にパッチを適用
- CVE-2024-1234 に対応するため JWT ライブラリを更新
## 📚 ドキュメント
- OAuth2 セットアップガイドを追加
- 新しいエンドポイントで API リファレンスを更新
- トラブルシューティングセクションを改善
## 🙏 貢献者
このリリースを可能にしてくれたすべての貢献者に感謝します:
- @alice - OAuth2 実装
- @bob - ダークモード機能
- @charlie - バグ修正とテスト
## 📦 インストール
```bash
npm install project-name@2.1.0
# または
yarn add project-name@2.1.0
```
🔗 リンク
- Full Changelog
- Documentation
Migration Guide
注記: これはマイナーリリースです。破壊的な変更はありません。2.0.x からの安全なアップグレード。
## セマンティックバージョニングルール
バージョン番号 MAJOR.MINOR.PATCH(例: 2.1.0)が与えられた場合:
1. **MAJOR** (2.x.x → 3.x.x)
- 破壊的変更
- 互換性のない API 変更
- 削除された機能
2. **MINOR** (2.1.x → 2.2.x)
- 新機能
- 後方互換の機能
- 非推奨機能
3. **PATCH** (2.1.0 → 2.1.1)
- バグ修正
- セキュリティパッチ
- パフォーマンス改善
**特別なバージョン:**
- `0.x.x` - 初期開発(マイナー版で破壊的変更が許可される)
- `x.y.0-alpha.1` - プレリリース
- `x.y.0-beta.2` - ベータリリース
- `x.y.0-rc.1` - リリース候補
## チェンジログ生成用 Git コマンド
```bash
# 最後のタグ以降のコミットを取得
git log $(git describe --tags --abbrev=0)..HEAD --oneline
# 2つのタグ間のコミットを取得
git log v2.0.0..v2.1.0 --oneline
# PRコミット番号を含むコミットを取得
git log --merges --pretty=format:"%s" v2.0.0..HEAD
# 貢献者を取得
git log v2.0.0..HEAD --format='%aN' | sort -u
# タイプ別のコミット数を取得
git log v2.0.0..HEAD --oneline | grep -E '^[a-f0-9]+ (feat|fix|docs)' | cut -d' ' -f2 | sort | uniq -c
破壊的変更の検出
以下の指標を探してください:
- コミットメッセージに
BREAKING CHANGE:が含まれている - コミットタイプに
!がある(例:feat!:) - PR が "breaking-change" ラベルで付けられている
- メジャー依存関係アップデート
- API エンドポイント変更
- 設定ファイル形式の変更
明確に文書化:
### 破壊的変更
⚠️ **API レスポンス形式が変更されました**
`/api/users` エンドポイントは現在以下を返します:
```json
// 変更前
{ "data": [...] }
// 変更後
{ "users": [...], "total": 100 }
```
マイグレーション: API クライアントを更新して data の代わりに users にアクセスしてください。
## 自動化ツール
### conventional-changelog の使用
```bash
npm install -g conventional-changelog-cli
# チェンジログを生成
conventional-changelog -p angular -i CHANGELOG.md -s
# 特定のバージョン用に生成
conventional-changelog -p angular -i CHANGELOG.md -s -r 0
git-cliff の使用
# git-cliff をインストール
cargo install git-cliff
# チェンジログを生成
git-cliff --tag v2.1.0 > CHANGELOG.md
# リリースノートを生成
git-cliff --tag v2.1.0 --unreleased
GitHub リリーススクリプト
#!/bin/bash
# scripts/release.sh
VERSION=$1
PREVIOUS_TAG=$(git describe --tags --abbrev=0)
# リリースノートを生成
gh release create "$VERSION" \
--title "Release $VERSION" \
--notes "$(git log $PREVIOUS_TAG..HEAD --pretty=format:'- %s')"
ユーザー向けと開発者向け
ユーザー向け(リリースノート)
- 利点と機能に焦点を当てる
- 技術用語は少なく
- スクリーンショット/デモを含める
- ユーザー体験の改善を強調
- アップグレード指示を提供
開発者向け(チェンジログ)
- 技術的詳細
- API 変更
- マイグレーションガイド付きの破壊的変更
- 依存関係更新
- 内部リファクタリング
プロジェクトタイプ別テンプレート
ライブラリ/パッケージ
焦点: API 変更、破壊的変更、新しいメソッド
アプリケーション
焦点: 新機能、バグ修正、UI 改善
CLI ツール
焦点: 新しいコマンド、フラグ変更、動作変更
API サービス
焦点: エンドポイント変更、パフォーマンス、セキュリティ
ベストプラクティス
- 具体的に: 「ログインバグを修正」 → 「モバイルでのセッションタイムアウトを修正」
- Issue をリンク: GitHub issue を参照 (#123)
- 貢献者をクレジット: 作業を認める
- 影響を強調: 破壊的変更を明確にマーク
- 論理的にグループ化: 年代順ではなくタイプ別
- 定期的に更新: 各リリース時に
- 規則に従う: Keep a Changelog 形式
- セマンティックバージョニング: 正しく使用
チェンジログエントリの例
良い例
### Added
- OAuth2認証サポート(#456) - @alice
- カスタム列選択でのCSV形式でのデータエクスポート(#501)
### Fixed
- 長時間実行されるセッションに影響するWebSocket接続のメモリリークを解決(#489)
- データの不一貫性を引き起こした同時API要求のレース条件を修正(#503)
悪い例
### Added
- 新しいものを追加
- 新機能
### Fixed
- バグを修正
- アップデート
バージョン提案アルゴリズム
破壊的変更が検出された場合:
MAJOR++, MINOR=0, PATCH=0
または新機能がある場合:
MINOR++, PATCH=0
または修正のみの場合:
PATCH++
リリースチェックリスト
リリースを公開する前に:
- 最後のリリース以降のすべてのコミットを確認
- 破壊的変更を特定
- 変更を適切に分類
- CHANGELOG.md を更新
- リリースノートを作成
- package.json/pyproject.toml のバージョンを更新
- git タグを作成
- CI/CD をトリガーするためにタグをプッシュ
- パッケージレジストリに公開(npm、PyPI など)
- ノート付きで GitHub リリースを作成
- 関連チャネルでアナウンス
出力チェックリスト
チェンジログ生成のたびに以下を提供してください:
- Keep a Changelog に準拠した形式の CHANGELOG.md
- リリースノートドラフト(ユーザーフレンドリー)
- セマンティックバージョン提案(X.Y.Z)
- 破壊的変更を明確にマーク
- 破壊的変更のマイグレーションガイド
- 実行する git タグコマンド
- 比較ビューへのリンク
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- patricio0312rev
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/patricio0312rev/skills / ライセンス: MIT
関連スキル
nature-response
Nature系ジャーナルの原稿修正に対する査読者への回答文について、下書き、チェック、または修正を行うことができます。査読者からのコメント、編集者の決定文、修正指示、回答案の作成、または大幅修正・軽微修正の対応方法に関するご相談があれば、対応いたします。査読報告書や回答文作成のサポートが必要な場合にご利用ください。
microsoft-docs
公式のMicrosoft文書を参照して、Azure、.NET、Agent Framework、Aspire、VS Code、GitHubなど様々な分野の概念、チュートリアル、コード例を検索します。デフォルトではMicrosoft Learn MCPを使用し、learn.microsoft.com外のコンテンツについてはContext7およびAspire MCPを使用します。
API Documentation Lookup
このスキルは、ユーザーが「Effect APIを調べる」「Effectドキュメントを確認する」「Effect関数のシグネチャを探す」「Effect.Xは何をするのか」「Effect.Xの使い方」「Effect APIリファレンス」「Effectドキュメントを取得する」といった質問をした場合や、公式のEffect-TS APIドキュメントから特定の関数シグネチャ、パラメータ、使用例を調べる必要がある場合に使用します。
knowledge-base
このスキルは、ヘルプセンターのアーキテクチャ設計、サポート記事の執筆、検索とセルフサービスの最適化が必要な場合に活用できます。ナレッジベース、ヘルプセンター、サポート記事、セルフサービス、記事テンプレート、検索最適化、コンテンツ分類、ヘルプドキュメントの設計・管理に関するあらゆるタスクで動作します。
markdown
GitHub Flavored Markdown標準に従ったMarkdownファイルのフォーマットと検証ができます。自動的なlinting処理と手動による意味的なレビューを組み合わせることで、ファイルの品質を確保します。
claude-md-enhancer
CLAUDE.mdファイルをプロジェクトタイプに合わせて分析・生成・改善します。ベストプラクティス、モジュール設計対応、技術スタックのカスタマイズに対応しています。新規プロジェクトの立ち上げ、既存のCLAUDE.mdファイルの改善、またはAI支援開発の標準化を図る際にご活用ください。