npx skills add ...
npx skills add alirezarezvani/claude-skills --skill changelog-generator
Produce consistent, auditable release notes from Conventional Commits. Separates commit parsing, semantic-bump logic, and changelog rendering for automated releases with editorial control. Use when cutting a release, generating CHANGELOG.md from git history, computing the next semantic version from commits, automating release notes in CI, or planning a hotfix/rollback. Examples: 'generate the changelog for v1.4.0', 'what version bump do these commits require', 'we need an emergency hotfix process'.
npx skills add alirezarezvani/claude-skills --skill 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.)CHANGELOG.mdWhen the user has not decided the next version, derive it instead of guessing:
Output JSON contains recommended_version, bump_type (major/minor/patch/none), and with --include-commands the exact git tag commands. Feed recommended_version into generate_changelog.py --next-version. Pre-releases: add --prerelease alpha|beta|rc. Input must be real git log --oneline output (hex hashes); a sample lives at assets/sample_git_log.txt.
Or file/stdin:
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.When a release goes wrong, classify before acting (full procedures in references/hotfix-procedures.md):
| Severity | Definition | SLA | Approval |
|---|---|---|---|
| P0 — Critical | Outage, data loss, exploited vulnerability | Fix deployed ≤ 2h; emergency deploy bypasses normal gates | Engineering Lead + On-call Manager |
| P1 — High | Major feature broken, significant user impact | Fix deployed ≤ 24h; expedited review | Engineering Lead + Product Manager |
| P2 — Medium | Minor issues, limited impact | Next release cycle | Standard PR review |
Hotfix branch comes from the last stable tag, contains the minimal fix only, and gets its own patch-bump changelog entry via the workflow above.
Pre-commit to these thresholds before tagging; roll back when any fires:
| Trigger | Threshold |
|---|---|
| Error rate spike | > 2x baseline within 30 min |
| Performance degradation | > 50% latency increase |
| Feature failure | Core functionality broken |
| Security incident | Vulnerability being exploited |
| Data corruption | Database integrity compromised |
Prefer feature-flag disable over code rollback; database rollbacks only for non-destructive migrations (forward-only migrations preferred). See references/hotfix-procedures.md.
Use this release flow for predictability:
Security section.commit_linter.py --strict on all PRs.CHANGELOG.md on main branch.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 jsonpython3 scripts/generate_changelog.py \
--from-tag v1.3.0 \
--to-tag HEAD \
--next-version v1.4.0 \
--write CHANGELOG.mdgit log v1.3.0..HEAD --oneline | \
python3 scripts/version_bumper.py --current-version 1.3.0 --output-format jsonpython3 scripts/commit_linter.py --from-ref origin/main --to-ref HEAD --strict --format textpython3 scripts/commit_linter.py --input commits.txt --strict
cat commits.txt | python3 scripts/commit_linter.py --format json