← ClaudeAtlas

changelog-rewrite-aggressivelylisted

Rebase out the branch's earlier changelog commits and regenerate its entries fresh; commits only with --commit
tony/skills · ★ 2 · AI & Automation · score 74
Install: claude install-skill tony/skills
# Rewrite Changelog Entries Aggressively Remove the changelog commits this branch accumulated, then regenerate its entries from the branch's **current net change**. With `--commit`, the regenerated entries land as one fresh commit at the tip; otherwise they are left as an uncommitted edit for the user to commit. Where the `changelog-refresh` skill stacks a correcting commit on top, this skill rewrites the branch so its changelog history collapses to a single clean commit. Hard scope rule: only the branch's own changelog content is rewritten. Changelog content from the base branch — earlier releases, or unreleased entries from other work — is never modified. The branch's **code** history is never modified either; only changelog commits are touched. Additional context from user: $ARGUMENTS --- ## Phase 1: Safety checks and scope 1. **Preconditions** — refuse to proceed (report why) if any fail: - Working tree dirty (`git status --porcelain` non-empty) - Detached HEAD, or an in-progress rebase/merge/cherry-pick - Currently on the base/trunk branch 2. **Detect the base.** If the branch has a PR (`gh pr view --json baseRefName`), the base is its `baseRefName` — stack-aware. Otherwise detect trunk via `git symbolic-ref refs/remotes/origin/HEAD` (fall back to `master`). 3. **Find the changelog file** the same way `/changelog` does (scan for `CHANGES`, `CHANGES.md`, `CHANGELOG.md`, `HISTORY.md`, `NEWS.md`, …). 4. **Partition the branch's commits** touchi