Help us improve
Share bugs, ideas, or general feedback.
From python-dev-framework
Guide for versioning and releasing Claude Code plugins. Covers semantic versioning, CHANGELOG maintenance, and the automated release workflow.
npx claudepluginhub worldcentralkitchen/python-dev-frameworkHow this skill is triggered — by the user, by Claude, or both
Slash command
/python-dev-framework:plugin-versioningThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
After completing your release steps (CHANGELOG, plugin.json, PR), **always inform the user of their required next steps**:
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
After completing your release steps (CHANGELOG, plugin.json, PR), always inform the user of their required next steps:
git checkout main && git pull
git tag vX.Y.Z
git push origin vX.Y.Z
Do not assume the user knows the tag triggers the release workflow.
| Change Type | Version Bump | Example |
|---|---|---|
| Breaking: hook behavior, removed features | MAJOR | 1.0.0 → 2.0.0 |
| New: skill, command, agent, feature | MINOR | 1.0.0 → 1.1.0 |
| Fix: bug fix, typo, docs | PATCH | 1.0.0 → 1.0.1 |
Update CHANGELOG.md
[Unreleased] to new version sectionUpdate plugin.json version
{
"version": "1.1.0"
}
Create release branch and PR
git checkout -b chore/release-v1.1.0
git add CHANGELOG.md .claude-plugin/plugin.json
git commit -m "chore: release v1.1.0"
git push -u origin chore/release-v1.1.0
gh pr create --title "chore: release v1.1.0" --body "Release v1.1.0"
Human merges PR, then tag
# After PR is merged by human:
git checkout main && git pull
git tag v1.1.0
git push origin v1.1.0
Automated steps (GitHub Action handles these)
plugins/python-dev-framework/)marketplace.jsonFollow Keep a Changelog:
## [Unreleased]
## [1.1.0] - 2025-01-15
### Added
- New plugin-versioning skill
### Changed
- Updated hook timeout from 10s to 15s
### Fixed
- Fixed edge case in branch name validation
| File | Field |
|---|---|
.claude-plugin/plugin.json | "version": "X.Y.Z" |
CHANGELOG.md | ## [X.Y.Z] - YYYY-MM-DD |
| Git tag | vX.Y.Z |
For beta or release candidate versions:
git tag v1.1.0-beta.1
git tag v1.1.0-rc.1
Pre-release tags follow semver format and can be used for testing before stable release.
On release, the GitHub Action syncs plugin files to the marketplace repo:
| Source | Destination |
|---|---|
.claude-plugin/ | plugins/python-dev-framework/.claude-plugin/ |
hooks/ | plugins/python-dev-framework/hooks/ |
skills/ | plugins/python-dev-framework/skills/ |
CLAUDE.md | plugins/python-dev-framework/CLAUDE.md |
.lsp.json | plugins/python-dev-framework/.lsp.json |
Note: The plugins/ directory in the marketplace repo is auto-generated. Do not edit directly.
Users install from the marketplace (bundled copy), not from this repo:
claude plugin install python-dev-framework@WorldCentralKitchen