version-bump
This skill automates version bumping during the release process for the Claude Code Handbook monorepo. It should be used when the user requests to bump versions, prepare a release, or increment version numbers across the repository.
When & Why to Use This Skill
The Version Bump skill automates the critical release process of incrementing version numbers within a monorepo. It streamlines software delivery by providing a standardized way to handle major, minor, and patch updates across multiple plugins, ensuring metadata consistency and reducing the risk of manual errors in configuration files.
Use Cases
- 1. Release Cycle Automation: Quickly prepare for new releases by automating the incrementing of version numbers (major, minor, or patch) across the entire repository or specific modules.
- 2. Monorepo Version Management: Maintain perfect synchronization between individual plugin versions and global marketplace registries, ensuring all metadata files are updated simultaneously.
- 3. Granular Component Updates: Target specific plugins for independent version bumps, allowing for flexible release schedules within a complex multi-package project structure.
- 4. Version Validation: Automatically audit and list current versions across all plugins to prevent version conflicts or duplicate releases.
| name | version-bump |
|---|---|
| description | This skill automates version bumping during the release process for the Claude Code Handbook monorepo. It should be used when the user requests to bump versions, prepare a release, or increment version numbers across the repository. |
Version Bump Skill
Per-plugin version bumping for the Claude Code Handbook monorepo. Each plugin can have independent versions.
When to Use This Skill
Trigger this skill when users mention:
- "bump version" or "bump the version"
- "increment version" or "update version numbers"
- Any mention of "major", "minor", or "patch" version changes
Version Locations
Each plugin has versions in two places (kept in sync):
.claude-plugin/marketplace.json→ plugin entry versionplugins/<name>/.claude-plugin/plugin.json→ individual plugin version
The marketplace top-level version and metadata.version are schema versions and remain unchanged.
Workflow Instructions
Step 1: List Current Versions
Show current plugin versions:
python .claude/skills/version-bump/scripts/validate_versions.py
Step 2: Ask User Which Plugin(s) to Bump
Ask the user:
- Which plugin(s) to bump (can be multiple, or "all")
- Which bump type: major, minor, or patch
Step 3: Execute Version Bump
Run the script with the selected plugins:
# Single plugin
python .claude/skills/version-bump/scripts/bump_version.py <bump_type> --plugin <name>
# Multiple plugins
python .claude/skills/version-bump/scripts/bump_version.py <bump_type> --plugin <name1> --plugin <name2>
# All plugins
python .claude/skills/version-bump/scripts/bump_version.py <bump_type> --all
Step 4: Report Results
After successful completion, display:
- Plugins bumped with old → new versions
- Next steps for git commit
CLI Reference
# Show help
python .claude/skills/version-bump/scripts/bump_version.py --help
# Error + list plugins when no --plugin flag
python .claude/skills/version-bump/scripts/bump_version.py patch
# Bump specific plugin(s)
python .claude/skills/version-bump/scripts/bump_version.py patch --plugin handbook-dotnet
python .claude/skills/version-bump/scripts/bump_version.py minor --plugin handbook --plugin handbook-extras
# Bump all plugins (legacy monorepo behavior)
python .claude/skills/version-bump/scripts/bump_version.py patch --all
Examples
Example 1: Bump Single Plugin
User: "Bump the version for handbook-dotnet"
Claude: "I'll check current versions first..."
[Runs validate_versions.py]
Claude: "handbook-dotnet is currently at 1.19.5. What bump type: major, minor, or patch?"
User: "patch"
[Runs: python bump_version.py patch --plugin handbook-dotnet]
Claude: "Done!
handbook-dotnet: 1.19.5 → 1.19.6
Next steps:
1. git diff
2. git add . && git commit -m 'chore: bump handbook-dotnet to 1.19.6'"
Example 2: Bump Multiple Plugins
User: "Bump handbook and handbook-extras to a new minor version"
[Runs: python bump_version.py minor --plugin handbook --plugin handbook-extras]
Claude: "Done!
handbook: 1.19.5 → 1.20.0
handbook-extras: 1.19.5 → 1.20.0"
Example 3: Bump All Plugins
User: "Bump all plugins patch version"
[Runs: python bump_version.py patch --all]
Claude: "Done! All 13 plugins bumped from their current versions."
Notes
- The script does NOT create git commits - user handles version control
- Plugins can now have different versions (independent versioning)
- Changelog updates are manual - user maintains CHANGELOG.md as needed