From ekline-docs-skills
Generate a structured changelog entry from git history. Runs a helper script that analyzes commits and categorizes them (Added, Changed, Fixed, Removed, Security, Breaking Changes). Presents results in Keep a Changelog format. Use before a release or to catch up on missing entries.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ekline-docs-skills:changelogThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run the helper script to parse git history, then present and optionally write the results.
Run the helper script to parse git history, then present and optionally write the results.
$ARGUMENTS — optional version tag or commit range (e.g., v1.3.0, v1.2.0..v1.3.0, HEAD~20..HEAD)python scripts/parse_commits.py $ARGUMENTS
Capture the JSON output. The script handles range detection, commit parsing, conventional commit classification, keyword heuristics, PR/issue extraction, and deduplication.
Max 200 commits per run.
If the JSON contains an error field:
not_a_git_repo — tell user to run from inside a git repositoryno_commits — tell user no commits were found in the given range, suggest a different rangeStop here on error.
Using the categories object from the JSON, format a Keep a Changelog entry:
## [Unreleased] - YYYY-MM-DD
### Breaking Changes
- {text from entries}
### Added
- {text from entries}
### Changed
- {text from entries}
### Fixed
- {text from entries}
### Removed
- {text from entries}
### Security
- {text from entries}
Only include categories that have entries. Use the text field from each entry directly — the script already formats entries with imperative mood and PR references.
Show the user:
total_commits_analyzed)total_changelog_entries)total_skipped)Ask whether they want to:
CHANGELOG.mdIf the user wants to write:
If CHANGELOG.md exists:
## [ line)If CHANGELOG.md does not exist:
# 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.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
{generated entry here}
Use the Edit tool to insert content.
npx claudepluginhub ekline-io/ekline-docs-skills --plugin ekline-docs-skillsGenerates a formatted CHANGELOG.md from git commit history, grouped by type and ready for release.
Generates or refreshes CHANGELOG.md from conventional git commits in Keep a Changelog format. Incremental mode appends new commits; --from-scratch regenerates from tags/full history.
Parses conventional commits between git tags, categorizes into Features, Bug Fixes, Breaking Changes, Performance, Documentation, detects breaking changes, suggests version bumps, and generates Markdown/JSON/plain text changelogs.