Changelog Generator
Tier: POWERFUL Category: Engineering Domain: Release Management / Documentation
Use this skill to produce consistent, auditable release notes from Conventional Commits. It separates commit parsing, semantic bump logic, and changelog rendering so teams can automate releases without losing editorial control.
major, minor, patch) from commit streamAdded, Changed, Fixed, etc.)python3 scripts/generate_changelog.py \
--from-tag v1.3.0 \
--to-tag v1.4.0 \
--next-version v1.4.0 \
--format markdown
git log v1.3.0..v1.4.0 --pretty=format:'%s' | \
python3 scripts/generate_changelog.py --next-version v1.4.0 --format markdown
python3 scripts/generate_changelog.py --input commits.txt --next-version v1.4.0 --format json
CHANGELOG.mdpython3 scripts/generate_changelog.py \
--from-tag v1.3.0 \
--to-tag HEAD \
--next-version v1.4.0 \
--write CHANGELOG.md
python3 scripts/commit_linter.py --from-ref origin/main --to-ref HEAD --strict --format text
Or file/stdin:
python3 scripts/commit_linter.py --input commits.txt --strict
cat commits.txt | python3 scripts/commit_linter.py --format json
Supported types:
feat, fix, perf, refactor, docs, test, build, ci, choresecurity, deprecated, removeBreaking changes:
type(scope)!: summaryBREAKING CHANGE:SemVer mapping:
majorfeat -> minorpatchpython3 scripts/generate_changelog.py --help
--inputpython3 scripts/commit_linter.py --help
--strict mode on violationsfeat(api): ...) in multi-package repos.[Unreleased] section for manual curation when needed.Use this release flow for predictability:
Security section.commit_linter.py --strict on all PRs.CHANGELOG.md on main branch.