changelog-from-commits
Write a human changelog from the REAL commit history — read the actual commit range via the GitHub connector, not a template. Use when asked to writ…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Changelog from Commits (Live)
Users don't read commit messages, and they shouldn't have to. In Claude Cowork this skill reads the real commit range and turns it into a changelog written for the people who use the software — grouped, deduped, and translated from "refactor: extract helper" into what actually changed for them.
What This Skill Produces
- The changelog — grouped into Added / Changed / Fixed / Breaking, each entry written as user-facing benefit, not commit-speak
- The breaking-change callout — migrations and removals pulled to the top with what to do
- A changelog artifact — Keep-a-Changelog style, ready to paste into
CHANGELOG.mdor a release
Required Inputs
Ask for these if not provided:
- The range — from tag/ref to tag/ref (default: last tag → HEAD), and the repo
- The audience — end users, API consumers, or developers — translation depth follows
- Version & date — the release number and date for the heading
Framework: Commits → Changelog
- Group by impact — Added / Changed / Fixed / Breaking; drop internal-only churn (chore/ci/refactor) unless it changes behaviour.
- Translate — every entry says what the user can now do or no longer suffers, not the implementation.
- Dedupe & merge — many commits behind one feature become one line.
- Breaking first — removals, renames, and migrations lead, with the upgrade step.
- Credit & links — PR numbers/authors where it helps.
Execution (Cowork)
- Read the range — via the GitHub connector, list commits (and merged PRs) between the two refs, with messages, PR titles, and labels.
- Classify — map each to Added/Changed/Fixed/Breaking; set aside pure-internal churn; detect breaking changes from
!/BREAKING CHANGE/removed-public-API signals. - Translate & merge — collapse the commits behind each user-facing change into one benefit-led line; keep PR references.
- Order — breaking first, then Added, Changed, Fixed.
- Emit the artifact — the changelog block; offer to prepend it to
CHANGELOG.mdor attach to a release, only on request.
Guardrails: include only changes actually present in the range — never invent a feature; base "breaking" on real signals, not guesses; don't overstate impact; if the connector is unauthorised, work from a pasted git log and say the range couldn't be read live.
Output Format
A Changelog block:
## [version] — date
### ⚠ Breaking
- what changed → what to do (#PR)
### Added
- user-facing capability (#PR)
### Changed
- what's different now (#PR)
### Fixed
- the problem that's gone (#PR)
Quality Checks
- [ ] Every entry maps to a real commit/PR in the range
- [ ] Entries read as user benefit, not commit messages
- [ ] Breaking changes lead and include the migration step
- [ ] Internal-only churn was excluded (unless it changed behaviour)
- [ ] Multiple commits behind one feature are a single line
Anti-Patterns
- Pasting raw commit messages as the changelog.
- Inventing a feature not in the range to round it out.
- Burying a breaking change in the middle of "Changed".
- Listing every
chore:/refactor:that users never see.
Example Trigger Phrases
- "Write the changelog since the last tag in Cowork."
- "Draft release notes from my commits for v2.0."
- "What changed for users between v1.4 and HEAD?"
- "Summarise this commit range as a human changelog."
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
同名技能的其他版本
有 3 个不同仓库或目录里都有叫 changelog-from-commits 的技能。它们内容并不相同,别混用:
- mohitagw15856/pm-claude-skills — Write a human changelog from the REAL commit history — read the actual commit range via th
- mohitagw15856/pm-claude-skills — Write a human changelog from the REAL commit history — read the actual commit range via th