release-dry-run — скилл для Claude Code: релизный анализ
Скилл сравнивает текущую ветку с последним тегом релиза, сводит изменения и предлагает MAJOR, MINOR или PATCH. Пригодится перед выпуском версии.
npx skills add dyoshikawa/rulesync --skill release-dry-run -a claude-codeЧто делает release-dry-run
Скилл получает свежие Git-теги, находит последний тег и сравнивает его с текущим HEAD. Он выводит список коммитов, статистику изменённых файлов и разбирает изменения по категориям: несовместимые изменения, новые возможности, исправления и прочее.
Затем скилл предлагает повышение версии по правилам семантического версионирования и объясняет выбор. Если изменилось поведение существующей возможности или её удалили, инструкция склоняет к MAJOR. Это пробный прогон: файлы и коммиты не меняются.
Для работы нужны Git-теги и доступ к истории репозитория; перед сравнением выполняется git fetch --tags. Скилл доступен для Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.
Какие задачи решает
- собрать список коммитов после последнего релиза
- сгруппировать изменения по типам
- оценить, какое повышение версии требуется
- подготовить обоснование версии для релиза
Примеры запросов агенту
- Сравни текущий
HEADс последним тегом и предложи версию для релиза. - Суммируй коммиты и изменённые файлы после последнего релиза, затем оцени тип изменений.
- Проверь, есть ли несовместимые изменения, и обоснуй рекомендуемое повышение версии.
Как установить release-dry-run
1Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill release-dry-run -a claude-code2Вручную: положить файлы
~/.claude/skills/release-dry-run/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/release-dry-run/
1Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill release-dry-run -a codex2Вручную: положить файлы
.agents/skills/release-dry-run/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill release-dry-run -a cursor2Вручную: положить файлы
.cursor/skills/release-dry-run/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dyoshikawa/rulesync release-dry-run2Вручную: положить файлы
.github/skills/release-dry-run/SKILL.md1Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill release-dry-run -a gemini-cli2Командой платформы
gemini skills install https://github.com/dyoshikawa/rulesync --path .rulesync/skills/release-dry-runВручную: положить файлы
.devin/skills/release-dry-run/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill release-dry-run -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о release-dry-run
Как установить release-dry-run в Claude Code?
Выполните npx skills add dyoshikawa/rulesync --skill release-dry-run -a claude-code. Файл скилла находится по пути ~/.claude/skills/release-dry-run/SKILL.md.
Что делает release-dry-run?
Он сравнивает последний тег с текущим HEAD, суммирует коммиты и изменения файлов, а затем рекомендует повышение MAJOR, MINOR или PATCH с объяснением.
Изменяет ли release-dry-run файлы или создаёт коммиты?
Нет. Это пробный анализ: скилл выдаёт рекомендацию, не меняя файлы и не создавая коммиты.
Исходный текст
SKILL.md · MIT
---
name: release-dry-run
description: "Dry run for release: summarize changes since last release and suggest version bump."
targets:
- "*"
---
This is a dry run command for release. It will summarize the changes since the last release and suggest the appropriate version bump based on semantic versioning.
## Steps
1. Get the latest release tag.
- Run `git fetch --tags` to ensure all tags are available.
- Run `git describe --tags --abbrev=0` to get the latest tag.
- Assign the result to $latest_tag.
2. Compare code changes between the latest tag and the current HEAD.
- Run `git log ${latest_tag}..HEAD --oneline` to get the commit list.
- Run `git diff ${latest_tag}..HEAD --stat` to get the file change statistics.
3. Analyze the changes and create a summary in the following format:
```
## Changes Summary
### Commits since ${latest_tag}
- List of commits with their messages
### Changed Files
- Summary of file changes (added, modified, deleted)
### Change Categories
- **Breaking Changes**: List any breaking changes (API changes, removed features, etc.)
- **New Features**: List new features added
- **Bug Fixes**: List bug fixes
- **Other Changes**: List other changes (refactoring, documentation, tests, etc.)
```
4. Based on the analysis, suggest the appropriate version bump following semantic versioning rules:
- **MAJOR** (X.0.0): Breaking changes that are not backward compatible
- Removed or renamed public APIs
- Changed behavior of existing features
- Dropped support for older Node.js versions
- **MINOR** (x.Y.0): New features that are backward compatible
- New CLI commands or options
- New configuration options
- New tool support
- **PATCH** (x.y.Z): Bug fixes and minor improvements
- Bug fixes
- Documentation updates
- Internal refactoring without API changes
- Dependency updates (unless they cause breaking changes)
**Important**: Whenever the changes include any feature removal or a change in the behavior of an existing feature, do not hesitate to choose a MAJOR version bump. Prioritize protecting users from unexpected breakage over keeping the version number low.
5. Output the final recommendation in the following format:
```
## Version Bump Recommendation
Current version: ${latest_tag}
Recommended bump: MAJOR / MINOR / PATCH
Suggested new version: vX.Y.Z
### Reasoning
- Explain why this version bump is recommended based on the changes.
```
**Note**: This is a dry run only. No files will be modified and no commits will be made.
© dyoshikawa · MIT · dyoshikawa/rulesync