Agent skill
plugin-versioning
Guide for versioning and releasing Claude Code plugins. Covers semantic versioning, CHANGELOG maintenance, and the automated release workflow.
Install this agent skill to your Project
npx add-skill https://github.com/WorldCentralKitchen/python-dev-framework/tree/main/skills/plugin-versioning
SKILL.md
Plugin Versioning Guide
Agent Instructions
After completing your release steps (CHANGELOG, plugin.json, PR), always inform the user of their required next steps:
- Merge the release PR
- Create and push the version tag:
bash
git checkout main && git pull git tag vX.Y.Z git push origin vX.Y.Z - Review/merge the marketplace PR (created automatically by the release workflow)
Do not assume the user knows the tag triggers the release workflow.
Semantic Versioning for Plugins
| 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 |
Release Checklist
-
Update CHANGELOG.md
- Move items from
[Unreleased]to new version section - Add release date
- Move items from
-
Update plugin.json version
json{ "version": "1.1.0" } -
Create release branch and PR
bashgit 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
bash# 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)
- Creates GitHub Release with auto-generated notes
- Syncs plugin essentials to marketplace repo (
plugins/python-dev-framework/) - Updates version in
marketplace.json - Opens PR on marketplace repo
- Human reviews and merges marketplace PR
CHANGELOG Format
Follow 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
Version Locations
| File | Field |
|---|---|
.claude-plugin/plugin.json |
"version": "X.Y.Z" |
CHANGELOG.md |
## [X.Y.Z] - YYYY-MM-DD |
| Git tag | vX.Y.Z |
Pre-release Versions
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.
Marketplace Distribution
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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
python-design-patterns
This skill should be used when the user asks about "design patterns", "SOLID principles", "factory pattern", "strategy pattern", "observer pattern", "composition vs inheritance", "Pythonic design", "singleton alternatives", "anti-patterns", "dependency injection", or needs guidance on applying Gang of Four patterns idiomatically in Python.
python-development-standards
This skill should be used when the user asks about "Python code style", "type hints", "structlog logging", "how to log", "code organization", "testing patterns", "error handling", or needs guidance on Python development best practices, project conventions, or coding standards for this project.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
scaffold-exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
Didn't find tool you were looking for?