changelog-assemblylisted
Install: claude install-skill ClaudeRegistry/marketplace
# Changelog Assembly
## Purpose
Provide a consistent, repeatable methodology for converting raw git history, whether or not it follows Conventional Commits, into release notes and changelog entries that a human reader actually benefits from. Covers classification, grouping, de-duplication, audience-appropriate phrasing, linking, and the Unreleased section. Tech-agnostic.
## The assembly pipeline
1. **Collect** the commit range (`<last-tag>..HEAD`, or an explicit range). Exclude merge commits from the entry list; mine them only for PR numbers.
2. **Classify** each commit into a Keep a Changelog category. If the message is conventional, map the type; if not, infer from the diff.
3. **De-duplicate & fold**: collapse "fix typo", "wip", and follow-up commits into the logical change they belong to.
4. **Rephrase** each surviving item into user-facing language: describe the observable effect, not the code mechanics.
5. **Order** by category (Added, Changed, Deprecated, Removed, Fixed, Security) and by impact within each.
6. **Elevate** breaking changes into a prominent callout at the top.
7. **Link** PR/issue references and add compare links.
## Category mapping
| Conventional type | Keep a Changelog category | Notes |
|-------------------|---------------------------|-------|
| `feat` | Added | New capability |
| `fix` | Fixed | Bug fix |
| `perf` | Changed | Behavior/characteristics changed |
| `refactor` | usually omitted | Internal; include only if user-observable |
| `docs