Skill1.5k repo starsupdated 6d ago
release-dry-run
The release-dry-run Claude Code skill analyzes uncommitted changes since the last git release tag and recommends a semantic version bump. Use this skill before publishing a new release to review what has changed, categorize modifications as breaking changes, new features, or bug fixes, and determine whether a major, minor, or patch version increment is appropriate.
Install in Claude Code
Copygit clone --depth 1 https://github.com/dyoshikawa/rulesync /tmp/release-dry-run && cp -r /tmp/release-dry-run/.rulesync/skills/release-dry-run ~/.claude/skills/release-dry-runThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
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.More from this repository
agent-teamSkill
>-
approveSkill
Approve a pull request using gh pr review --approve
babysit-dependabot-prSkill
>-
batch-all-issuesSkill
>-
batch-all-scrap-issuesSkill
>-
batch-review-prs-awaiting-maintainerSkill
>-
clean-branchesSkill
Clean up unnecessary local branches and prune stale remote-tracking branches
clean-worktreesSkill
Clean git worktrees created by git-worktree-runner