К основному содержанию
скилл CX Codex

changelog-writer — скилл для Claude Code: changelog из git-коммитов

Собирает CHANGELOG и release notes из git-коммитов, заголовков PR и ссылок на issues. Пригодится перед релизом, когда нужно разложить изменения по типам и подобрать версию.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add patricio0312rev/skills --skill changelog-writer -a claude-code
Открыть на GitHub

Что делает changelog-writer

Скилл проходит по истории git с момента прошлого релиза и раскладывает коммиты по категориям: feat идёт в Added, fix в Fixed, docs в Documentation, perf в Performance, а BREAKING CHANGE выносится отдельным блоком. Формат документа — Keep a Changelog, рядом с ним скилл предлагает, какой бамп версии ставить по semantic versioning: мажорный, минорный или патч.

Отдельно готовится сводка для пользователей: highlights, новые фичи, исправления, изменения, безопасность, список контрибьюторов. Ломающие изменения скилл ищет по маркерам в сообщениях коммитов, метке «breaking-change» на PR, смене формата конфигов и правкам эндпоинтов API. Для сбора истории он опирается на обычные команды git — например, git log $(git describe --tags --abbrev=0)..HEAD --oneline.

Лучший результат выходит на conventional commits: без префикса типа коммит попадёт в разбор наугад. Если в проекте пишут свободные сообщения, категории придётся проверять глазами.

Какие задачи решает

  • собрать CHANGELOG из коммитов с прошлого тега
  • разложить изменения по Added, Fixed и Breaking Changes
  • подобрать бамп версии по semantic versioning
  • написать release notes для пользователей, а не для разработчиков
  • найти ломающие изменения перед мажорным релизом

Примеры запросов агенту

  • создай changelog из коммитов с прошлого релиза
  • напиши release notes для версии 2.1.0
  • подготовь релиз: разложи изменения по типам и предложи номер версии

Как установить changelog-writer

1Через Skills CLI (Vercel)

npx skills add patricio0312rev/skills --skill changelog-writer -a claude-code

2Вручную: положить файлы

~/.claude/skills/changelog-writer/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/changelog-writer/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о changelog-writer

Как установить changelog-writer в Claude?

Выполните npx skills add patricio0312rev/skills --skill changelog-writer -a claude-code. Файл скилла окажется по пути ~/.claude/skills/changelog-writer/SKILL.md.

Что делает changelog-writer?

Читает git-историю, заголовки PR и ссылки на issues, группирует изменения по типам и оформляет их по стандарту Keep a Changelog. Дополнительно предлагает номер следующей версии и пишет release notes.

На каких коммитах он работает лучше всего?

На conventional commits с префиксами вроде feat(auth): и fix:. Скилл разбирает тип, область и описание по этой схеме, поэтому свободные сообщения он категоризирует менее точно.

Исходный текст

SKILL.md · MIT
---
name: changelog-writer
description: Generates changelogs and release notes from git commits, PR titles, and issue references. Organizes changes by impact type (breaking, features, fixes, improvements), formats according to Keep a Changelog standard, and provides version tagging and semantic versioning suggestions. Use when users request "create changelog", "write release notes", "document version changes", or "prepare release".
---

# Changelog & Release Notes Writer

Generate professional changelogs and release notes from version control history.

## Core Workflow

1. **Analyze commits**: Parse git history since last release
2. **Categorize changes**: Group by type (feat, fix, docs, etc.)
3. **Identify breaking changes**: Flag incompatible changes
4. **Extract highlights**: Surface most important changes
5. **Format document**: Follow Keep a Changelog format
6. **Suggest version**: Recommend semantic version bump
7. **Generate release notes**: Create user-friendly summary

## Commit Analysis

### Extract Information From

- Commit messages (preferably conventional commits)
- PR titles and descriptions
- Issue references (#123)
- Merge commit messages
- Commit authors

### Parse Patterns

```
feat(auth): add OAuth2 support
^    ^      ^
|    |      └─ Description
|    └─ Scope (optional)
└─ Type
```

**Types to Categories:**

- `feat` → Added
- `fix` → Fixed
- `docs` → Documentation
- `style`, `refactor` → Changed
- `perf` → Performance
- `test` → Testing
- `chore`, `ci` → Internal
- `BREAKING CHANGE` → Breaking Changes

## Changelog Format (Keep a Changelog)

```markdown
# 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.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- New feature X
- Support for Y

### Changed

- Updated Z behavior

### Fixed

- Resolved issue #123

## [2.1.0] - 2024-01-15

### Added

- OAuth2 authentication support
- User profile management API
- Dark mode toggle

### Changed

- Improved error messages
- Updated dependencies to latest versions

### Deprecated

- Legacy authentication method (will be removed in 3.0.0)

### Fixed

- Memory leak in WebSocket connection
- Incorrect date formatting in reports
- Race condition in concurrent requests

### Security

- Patched XSS vulnerability in user input

## [2.0.0] - 2023-12-01

### Breaking Changes

- ⚠️ Removed support for Node.js 16
- ⚠️ Changed API response format for `/users` endpoint
- ⚠️ Renamed `config.yaml` to `config.yml`

### Added

- Complete API rewrite with improved performance
- WebSocket support for real-time updates

### Migration Guide

See [MIGRATION_v2.md](./docs/MIGRATION_v2.md) for upgrade instructions.

[unreleased]: https://github.com/user/project/compare/v2.1.0...HEAD
[2.1.0]: https://github.com/user/project/compare/v2.0.0...v2.1.0
[2.0.0]: https://github.com/user/project/releases/tag/v2.0.0
```

## Release Notes Format

````markdown
# Release v2.1.0 - "Feature Release Name"

Released: January 15, 2024

## 🎉 Highlights

This release brings major improvements to authentication and user experience:

- **OAuth2 Support**: Users can now sign in with Google, GitHub, and Microsoft
- **Dark Mode**: Toggle between light and dark themes
- **Performance**: 40% faster API response times

## ✨ New Features

- OAuth2 authentication with popular providers (#456)
- User profile management API (#478)
- Dark mode toggle in settings (#492)
- Export data in CSV format (#501)

## 🐛 Bug Fixes

- Fixed memory leak in WebSocket connections (#489)
- Resolved incorrect date formatting in reports (#495)
- Fixed race condition in concurrent API requests (#503)

## 🔄 Changes

- Improved error messages across the application
- Updated all dependencies to latest stable versions
- Refined UI animations for smoother experience

## 🔒 Security

- Patched XSS vulnerability in user input validation
- Updated JWT library to address CVE-2024-1234

## 📚 Documentation

- Added OAuth2 setup guide
- Updated API reference with new endpoints
- Improved troubleshooting section

## 🙏 Contributors

Thank you to all contributors who made this release possible:

- @alice - OAuth2 implementation
- @bob - Dark mode feature
- @charlie - Bug fixes and testing

## 📦 Installation

```bash
npm install [email protected]
# or
yarn add [email protected]
```
````

## 🔗 Links

- [Full Changelog](https://github.com/user/project/compare/v2.0.0...v2.1.0)
- [Documentation](https://docs.projectname.com)
- [Migration Guide](./docs/MIGRATION_v2.md)

---

**Note:** This is a minor release. No breaking changes. Safe to upgrade from 2.0.x.

````

## Semantic Versioning Rules

Given a version number MAJOR.MINOR.PATCH (e.g., 2.1.0):

1. **MAJOR** (2.x.x → 3.x.x)
   - Breaking changes
   - Incompatible API changes
   - Removed features

2. **MINOR** (2.1.x → 2.2.x)
   - New features
   - Backward-compatible functionality
   - Deprecated features

3. **PATCH** (2.1.0 → 2.1.1)
   - Bug fixes
   - Security patches
   - Performance improvements

**Special versions:**
- `0.x.x` - Initial development (breaking changes allowed in minor)
- `x.y.0-alpha.1` - Pre-release
- `x.y.0-beta.2` - Beta release
- `x.y.0-rc.1` - Release candidate

## Git Commands for Changelog Generation

```bash
# Get commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline

# Get commits between two tags
git log v2.0.0..v2.1.0 --oneline

# Get commits with PR numbers
git log --merges --pretty=format:"%s" v2.0.0..HEAD

# Get contributors
git log v2.0.0..HEAD --format='%aN' | sort -u

# Get commit count by type
git log v2.0.0..HEAD --oneline | grep -E '^[a-f0-9]+ (feat|fix|docs)' | cut -d' ' -f2 | sort | uniq -c
````

## Breaking Changes Detection

Look for these indicators:

- Commit message contains `BREAKING CHANGE:`
- Commit type has `!` (e.g., `feat!:`)
- PR labeled with "breaking-change"
- Major dependency updates
- API endpoint changes
- Config file format changes

**Document clearly:**

````markdown
### Breaking Changes

⚠️ **API Response Format Changed**

The `/api/users` endpoint now returns:

```json
// Before
{ "data": [...] }

// After
{ "users": [...], "total": 100 }
```
````

**Migration:** Update your API client to access `users` instead of `data`.

````

## Automation Tools

### Using conventional-changelog
```bash
npm install -g conventional-changelog-cli

# Generate changelog
conventional-changelog -p angular -i CHANGELOG.md -s

# Generate for specific version
conventional-changelog -p angular -i CHANGELOG.md -s -r 0
````

### Using git-cliff

```bash
# Install git-cliff
cargo install git-cliff

# Generate changelog
git-cliff --tag v2.1.0 > CHANGELOG.md

# Generate release notes
git-cliff --tag v2.1.0 --unreleased
```

### GitHub Release Script

```bash
#!/bin/bash
# scripts/release.sh

VERSION=$1
PREVIOUS_TAG=$(git describe --tags --abbrev=0)

# Generate release notes
gh release create "$VERSION" \
  --title "Release $VERSION" \
  --notes "$(git log $PREVIOUS_TAG..HEAD --pretty=format:'- %s')"
```

## User-Facing vs Developer-Facing

### User-Facing (Release Notes)

- Focus on benefits and features
- Less technical jargon
- Include screenshots/demos
- Highlight user experience improvements
- Provide upgrade instructions

### Developer-Facing (Changelog)

- Technical details
- API changes
- Breaking changes with migration guides
- Dependencies updates
- Internal refactorings

## Templates by Project Type

### Library/Package

Focus on: API changes, breaking changes, new methods

### Application

Focus on: New features, bug fixes, UI improvements

### CLI Tool

Focus on: New commands, flag changes, behavior changes

### API Service

Focus on: Endpoint changes, performance, security

## Best Practices

1. **Be specific**: "Fixed login bug" → "Fixed session timeout on mobile"
2. **Link issues**: Reference GitHub issues (#123)
3. **Credit contributors**: Acknowledge work
4. **Highlight impact**: Mark breaking changes clearly
5. **Group logically**: By type, not chronologically
6. **Update regularly**: With each release
7. **Follow conventions**: Keep a Changelog format
8. **Semantic versioning**: Use correctly

## Changelog Entry Examples

### Good Examples

```markdown
### Added

- OAuth2 authentication support (#456) - @alice
- Export data in CSV format with custom column selection (#501)

### Fixed

- Resolved memory leak in WebSocket connections affecting long-running sessions (#489)
- Fixed race condition in concurrent API requests that caused data inconsistency (#503)
```

### Bad Examples

```markdown
### Added

- Added stuff
- New feature

### Fixed

- Fixed bug
- Updates
```

## Version Suggestion Algorithm

```
If breaking changes detected:
  MAJOR++, MINOR=0, PATCH=0
Else if new features:
  MINOR++, PATCH=0
Else if only fixes:
  PATCH++
```

## Release Checklist

Before publishing release:

- [ ] Review all commits since last release
- [ ] Identify breaking changes
- [ ] Categorize changes properly
- [ ] Update CHANGELOG.md
- [ ] Write release notes
- [ ] Update version in package.json/pyproject.toml
- [ ] Create git tag
- [ ] Push tag to trigger CI/CD
- [ ] Publish to package registry (npm, PyPI, etc.)
- [ ] Create GitHub release with notes
- [ ] Announce on relevant channels

## Output Checklist

Every changelog generation should provide:

- [ ] Formatted CHANGELOG.md following Keep a Changelog
- [ ] Release notes draft (user-friendly)
- [ ] Semantic version suggestion (X.Y.Z)
- [ ] Breaking changes clearly marked
- [ ] Migration guide for breaking changes
- [ ] Git tag command to run
- [ ] Links to compare view

© patricio0312rev · MIT · patricio0312rev/skills

Похожие скиллы

Все скиллы по теме «Git и GitHub» →
generate-release-notes donnfelker Собирает release notes и changelog из истории коммитов по Conventional Commits. Пригодится перед каждым тегом. CX Codex +1 762установок changelog-automation Seth Hobson Скилл помогает собирать changelog и release notes из коммитов, PR и релизов. Подойдёт для настройки процесса релизов и единых правил коммитов. CX Codex 13 733установок changelog-generator Alireza Rezvani Собирает changelog из Conventional Commits, предлагает SemVer-бамп и проверяет формат коммитов. Подходит для релизов, CI и хотфиксов. 618установок changelog-maintenance aj-geddes Скилл помогает агенту писать и поддерживать CHANGELOG.md по формату Keep a Changelog: разделы Added, Changed, Fixed, Security и отметки о ломающих изменениях. CX Codex +1 495установок changelog-writing Samuel Berthe Превращает коммиты, пул-реквесты и тикеты в релиз-ноты, которые читают: что вышло, что это значит на практике и что ломается. CX Codex +1 10 300установок semantic-versioning aj-geddes Скилл для автоматического версионирования по SemVer: conventional commits, semantic-release и генерация changelog. CX Codex +1 542установок

Из того же набора26

framer-motion-animator Скилл помогает создавать анимации и микроинтерфейсы на Framer Motion: от переходов между страницами до жестов свайпа и скролла. Пригодится при вёрстке интерактивных React-компонентов. CX Codex +1 11 100установок eslint-prettier-config Скилл разворачивает ESLint и Prettier в проекте на TypeScript и React: конфиги, правила, скрипты и хук на коммит. CX Codex +1 1 100установок bruno-collection-generator Скилл сканирует роуты Express, Next.js или Fastify и раскладывает их в коллекцию Bruno: по файлу .bru на запрос, с окружениями и авторизацией. CX Codex +1 603установок jsdoc-typescript-docs Скилл расставляет JSDoc-комментарии в TypeScript-коде и собирает из них документацию через TypeDoc. Пригодится, когда проект оброс функциями без описаний. CX Codex +1 547установок dockerfile-optimizer Скилл переписывает Dockerfile под многоэтапную сборку: меньше образ, быстрее сборка, кэш слоёв работает как надо. Пригодится, когда образ раздулся или сборка идёт по десять минут. CX Codex +1 530установок animation-micro-interaction-pack Набор готовых паттернов движения для интерфейса: ховеры, входы и выходы элементов, отклик на жесты. Пригодится, когда UI выглядит статично и хочется оживить его без ручного подбора таймингов. CX Codex +1 499установок explaining-code Разбирает незнакомый код по шагам: аналогия из быта, ASCII-схема потока, потом построчный разбор. Пригодится, когда чужой проект надо понять быстро. CX Codex +1 473установок conventional-commits Скилл пишет коммиты по спецификации Conventional Commits: тип, область, тело и футеры. Пригодится, когда нужен автоматический версионинг и changelog. CX Codex +1 469установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой