SKILL.md
Create Changelog
Generate user-friendly changelogs from git commits following Keep a Changelog specification.
Workflow
- Find last release point:
``bash git describe --tags --abbrev=0 2>/dev/null `` - If no tags found: use all commits
- Collect commits since release:
``bash git log <last-tag>..HEAD --pretty=format:"%s" --no-merges ``
- Categorize each commit into Keep a Changelog sections:
| Section | Commit patterns |
|---|---|
| Added | feat:, add:, new functionality |
| Changed | refactor:, change:, behavior modifications |
| Deprecated | deprecate:, sunset notices |
| Removed | remove:, delete:, dropped features |
| Fixed | fix:, bugfix:, corrections |
| Security | security:, vulnerability patches |
- Write output starting DIRECTLY with version header. NO preamble, NO
[Unreleased]:
```markdown ## [1.2.0] - 2025-03-15
### Added - Support for custom templates (#42) ```
- Write to existing changelog file, or
CHANGELOG.mdif none exists. Prepend new entry below the file header.
Error Recovery
- If
git logreturns empty: inform user no changes found since last release - If commit messages lack conventional prefixes: categorize by best guess, flag uncertain entries with
<!-- review -->comment - If existing changelog has non-standard format: preserve it, append new section at top