Use when releasing a new plugin version, bumping versions, creating git tags, or publishing GitHub releases for this marketplace
76
—
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
metadata.version ≠ plugin version. These are DIFFERENT things:
| Field | What It Tracks | When to Update |
|---|---|---|
plugins[].version | Individual plugin version | Every plugin release |
metadata.version | Marketplace catalog structure | Adding/removing plugins ONLY |
Common mistake: Thinking metadata.version should "stay in sync" with plugin versions. It should NOT.
When releasing a plugin (e.g., swift 1.2.0 → 1.3.0):
plugins/swift/.claude-plugin/plugin.json → "version": "1.3.0".claude-plugin/marketplace.json → plugins[].version: "1.3.0"plugins/swift/README.md → Version section: 1.3.0README.md (root) → Available Plugins table: 1.3.0# 1. Stage changes
git add -A
# 2. Commit
git commit -m "Release swift v1.3.0
- Description of changes"
# 3. Tag (format: v1.3.0, NOT swift-v1.3.0)
git tag v1.3.0
# 4. Push
git push && git push origin v1.3.0
# 5. GitHub release
gh release create v1.3.0 --title "v1.3.0" --notes "## Changes
- Change 1
- Change 2
**Full Changelog**: https://github.com/OWNER/REPO/compare/v1.2.0...v1.3.0"Use v1.3.0, NOT swift-v1.3.0. Check existing tags:
git tag --sort=-v:refname | head -5af7cba7
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.