Skip to main content

changelog

Generate release notes from git history — parses Conventional Commits over a range (default last tag..HEAD), groups by type into human sections (Features/Fixes/Performance/...), drops noise (chore/merge), and outputs a markdown CHANGELOG section that can be prepended to CHANGELOG.md. Use when user says "сгенерируй чейнджлог", "релиз-ноты", "что изменилось с прошлого релиза", "changelog", "release notes", or types /changelog.

跳到安装

来源信息

仓库
1t1sCooL/claude-skills
最近来源活动
2026年6月22日 13:50
检测到的 SKILL.md 语言
俄语
星标
16
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
changelog
description
Generate release notes from git history — parses Conventional Commits over a range (default last tag..HEAD), groups by type into human sections (Features/Fixes/Performance/...), drops noise (chore/merge), and outputs a markdown CHANGELOG section that can be prepended to CHANGELOG.md. Use when user says "сгенерируй чейнджлог", "релиз-ноты", "что изменилось с прошлого релиза", "changelog", "release notes", or types /changelog.
argument-hint
[v1.2.0..HEAD | --since <tag>] [--write] (по умолчанию с последнего тега до HEAD)
allowed-tools
Read Write Edit Bash(git *)
# Changelog / Release Notes Собирает релиз-ноты из git-истории: парсит Conventional Commits, группирует по типам в человекочитаемые секции, отбрасывает шум. Умеет печатать текст и допендивать новую секцию сверху в существующий `CHANGELOG.md`. ## Что на входе (`$ARGUMENTS`) - **Диапазон** `v1.2.0..HEAD` — явный git-range. - **`--since <tag>`** — от тега до `HEAD`. - **Пусто** → автоматически последний тег → `HEAD`: ```bash git describe --tags --abbrev=0 # последний тег; если тегов нет — взять всю историю ``` - Опц. `--write` — допендить в `CHANGELOG.md` (иначе только напечатать). ## Шаги 1. **Собрать коммиты** по диапазону (subject + body для footer'ов): ```bash git log <range> --no-merges --pretty=format:'%H%x09%s%x09%b%x1e' ``` 2. **Распарсить Conventional Commits** `type(scope)!: subject` и сгруппировать: - `feat` → **Features** - `fix` → **Bug Fixes** - `perf` → **Performance** - `refactor` → **Refactoring** - `docs` → **Documentation** - прочие типы (`build`, `ci`, `test`, `style`) → **Other** (по желанию). - **Пропустить шум:** `chore`, merge-коммиты, бамп версий, мелочь без смысла для читателя. - **Breaking changes** (`!` после типа или `BREAKING CHANGE:` в body) → отдельная верхняя секция **⚠ BREAKING CHANGES**. - В строке пункта: subject, scope в скобках если есть, короткий хеш. Группировать одинаковые/дублирующиеся. 3. **Сформировать markdown-секцию:** ```markdown ## <version> — YYYY-MM-DD ### ⚠ BREAKING CHANGES - ... ### Features - **scope:** описание (`abc1234`) ### Bug Fixes - ... ``` - **version**: из аргумента/целевого тега; иначе предложить по semver (feat → minor, fix-only → patch, breaking → major) или взять из `package.json`. - **дата**: сегодняшняя (или дата тега). 4. **Вывод/запись.** - Всегда напечатать готовую секцию пользователю. - При `--write`: вставить секцию **сверху** в `CHANGELOG.md` (после возможного заголовка `# Changelog`), не трогая старые записи; создать файл с заголовком, если его нет. ## Выход - Текст релиз-нот (markdown-секция, готовая к вставке). - При `--write` — обновлённый `CHANGELOG.md` (новая секция сверху) + путь к файлу. - Короткая сводка: диапазон, сколько коммитов учтено / отброшено как шум.
在 GitHub 查看