with one click
changelog-updater
// Create and update CHANGELOG.md files to track development progress, features, fixes, and changes. Use this when completing features, fixing bugs, or documenting project milestones.
// Create and update CHANGELOG.md files to track development progress, features, fixes, and changes. Use this when completing features, fixing bugs, or documenting project milestones.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | changelog-updater |
| description | Create and update CHANGELOG.md files to track development progress, features, fixes, and changes. Use this when completing features, fixing bugs, or documenting project milestones. |
| domain | project |
| type | updater |
| version | 1.0.0 |
| allowed-tools | ["Read","Write","Edit","Bash"] |
This skill creates and maintains CHANGELOG.md files following best practices, tracking all development progress, features, bug fixes, and breaking changes.
| Field | Value |
|---|---|
| Assigned Agent | qa-docs |
| Sprint Phase | End of sprint (Phase D) |
| Directory Scope | CHANGELOG.md |
| Workflow Reference | See docs/agent-team-workflow.md |
Invoke this skill when the user:
Changelogs are development history:
Following Keep a Changelog standard:
# Changelog
All notable changes to [Project Name] 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 features that have been added
### Changed
- Changes to existing functionality
### Deprecated
- Features that will be removed in upcoming releases
### Removed
- Features that have been removed
### Fixed
- Bug fixes
### Security
- Security fixes or improvements
## [1.0.0] - 2025-12-21
### Added
- Initial release
- Feature X implemented
- Feature Y implemented
### Fixed
- Bug #123: Description of fix
## [0.2.0] - 2025-12-15
### Added
- Feature Z in early prototype
### Changed
- Refactored system A for better performance
## [0.1.0] - 2025-12-10
### Added
- Project started
- Basic movement system
- Initial enemy spawning
[Unreleased]: https://github.com/user/repo/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/user/repo/compare/v0.2.0...v1.0.0
[0.2.0]: https://github.com/user/repo/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/user/repo/releases/tag/v0.1.0
Use for: New features, new files, new capabilities
Examples:
Use for: Modifications to existing features
Examples:
Use for: Features marked for removal (still work but will be removed)
Examples:
get_damage() function (use calculate_damage() instead)"Use for: Features that have been deleted
Examples:
Use for: Bug fixes
Examples:
Use for: Security vulnerabilities fixed
Examples:
Use Semantic Versioning: MAJOR.MINOR.PATCH
MAJOR (X): Breaking changes
MINOR (Y): New features (backwards compatible)
PATCH (Z): Bug fixes (backwards compatible)
If no CHANGELOG.md exists:
Ask user for project details:
Create CHANGELOG.md with header and first version
Ask about current state:
Generate initial entry for version 0.1.0 or 1.0.0
If CHANGELOG.md exists:
Read current CHANGELOG.md
Ask user what changed:
Determine version bump:
Update changelog:
When: User completes work but hasn't released version yet
Process:
## [Unreleased] in appropriate categoryWhen: User says "release version X.Y.Z" or "cut a release"
Process:
## [X.Y.Z] - YYYY-MM-DDā Bad: "Fixed bugs" ā Good: "Fixed crash when enemy dies while being targeted"
ā Bad: "Improved performance" ā Good: "Improved wave spawning performance by caching enemy pools (30% FPS gain)"
ā Bad: "Adds new weapon" ā Good: "Add new railgun weapon with pierce mechanic"
ā Bad: "Changed damage value" ā Good: "Changed machine gun damage from 10 to 5 for better balance"
ā "Fixed enemy pathfinding bug (#42)" ā "Added weapon evolution system (PR #15)"
Instead of:
- Added Scout enemy
- Added Tank enemy
- Added Drone enemy
Better:
- Added 3 new enemy types: Scout (fast/weak), Tank (slow/tough), Drone (flying/medium)
Always highlight breaking changes prominently:
## [2.0.0] - 2025-12-21
### ā ļø BREAKING CHANGES
- Save file format changed - old saves will not load
- `WeaponBase.fire()` signature changed - custom weapons need update
- Deprecated `EnemyManager` removed - use `WaveManager` instead
### Changed
- Weapon system refactored to use resource-based data
For major breaking changes, include migration notes:
## [2.0.0] - 2025-12-21
### Changed
- Weapon system now uses WeaponData resources instead of hardcoded stats
**Migration:**
1. Create WeaponData resource for each weapon
2. Replace weapon script constants with `@export var data: WeaponData`
3. See `docs/weapon-migration-guide.md` for details
If user has git, can generate changelog from commits:
Use bash to get recent commits:
git log --oneline --since="7 days ago"
Parse commits and categorize:
Primary changelog: CHANGELOG.md (project root)
Alternative locations:
docs/CHANGELOG.md (if docs folder preferred)docs/changelog/YYYY-MM.md (monthly changelogs for large projects)gdd-generatorfeature-spec-generatorcode-reviewerUser: "Update changelog - I added the weapon rule system"
Skill:
I'll add this to the Unreleased section under "Added".
Should I include any specific details about the weapon rule system?
(e.g., "Added weapon rule system with 5 targeting priorities and 4 firing conditions")
User: "Create changelog for my game"
Skill:
I'll create a CHANGELOG.md file. A few questions:
1. Project name?
2. Current version (or should I start at 0.1.0)?
3. Git repository URL (if any)?
4. What features are currently implemented?
User: "Release version 1.0.0"
Skill:
I'll move all Unreleased changes to version 1.0.0 with today's date.
Looking at [Unreleased]:
- 5 Added features
- 3 Changed items
- 12 Fixed bugs
This looks like a significant release. Should I tag this as 1.0.0 or would you like a different version number?
Before finalizing changelog update:
User: "Update changelog" User: "Add feature X to changelog" User: "Create a changelog for my project" User: "Release version 1.0.0" User: "What changed since last version?" User: "Generate changelog from git history"
This skill ensures development progress is documented systematically, making releases transparent and history traceable.