This skill is used to automate the version upgrade process for the claude-code-marketplace plugin marketplace, ensuring version number consistency and changelog completeness.
Usage Scenarios
Use this skill when encountering the following situations:
- Need to publish a new version of claude-code-marketplace
- Update the version number of the plugin marketplace
- Write or update the plugin's CHANGELOG
- Sync version numbers across multiple configuration files
Core Responsibilities
- Version Number Management: Ensure version numbers are consistent across all relevant files
- Changelog Maintenance: Write version update notes that conform to standards
- File Synchronization: Automatically update all necessary configuration files
- README Synchronization: Ensure the plugin marketplace's README.md contains the latest skill list and installation commands
Related File Directories
The plugin marketplace's core files are located in the following directories:
.claude-plugin- Plugin marketplace root configuration directoryclaude-code-marketplace/common-tools- Plugin toolkit directory
Files That Need Version Number Updates
When performing a version upgrade,you mustsynchronously update the version numbers in the following files:
.claude-plugin/marketplace.json- Plugin marketplace main configuration fileclaude-code-marketplace/common-tools/.claude-plugin/plugin.json- Plugin configuration file
The metadata.version field of Skills documents
In addition to the above configuration files, with each version upgrade youmustalso synchronously update the metadata.version field of all skills documents.
List of Skills Documents That Need Updating:
Important Note: Before performing updates, you must first scan all
claude-code-marketplace/common-tools/skillsfiles under theSKILL.mddirectory to ensure no skills are missed.
Typically includes (but is not limited to):
claude-code-marketplace/common-tools/skills/openspec/SKILL.mdclaude-code-marketplace/common-tools/skills/init-prettier-git-hooks/SKILL.mdclaude-code-marketplace/common-tools/skills/init-claude-code-statusline/SKILL.mdclaude-code-marketplace/common-tools/skills/init-ai-md/SKILL.mdclaude-code-marketplace/common-tools/skills/nitro-api-development/SKILL.mdclaude-code-marketplace/common-tools/skills/git-commit/SKILL.md(if any)
metadata.version Field Format:
---
name: skill-name
description: 技能描述
metadata:
version: "X.Y.Z"
---
Update Rules:
- Managed independently in principle: Each Skill should have its own independent version number and is not required to stay consistent with the plugin marketplace version, unless the Skill has actually changed.
- Update on demand: Only update a Skill's
metadata.version。 - Release consistency (optional): If this release is a comprehensive major update, or is intended to keep everything uniform (although not recommended), you may uniformly update the version numbers of all Skills, but thisis not a mandatory requirement。
- Default policy: By default,only update the version numbers of Skills that have actually changed。
Version Number Format
Follow Semantic Versioning:
MAJOR.MINOR.PATCHformat (for example:1.2.3)- MAJOR: Incompatible API changes
- MINOR: Backward-compatible feature additions
- PATCH: Backward compatibility fixes
README Synchronization Rules
Before releasing a new version, you must check the .claude-plugin/README.md file:
- Scan Skill Directories: traverse
claude-code-marketplace/common-tools/skills/all subdirectories under it. - Verify Entry Existence: ensure that each skill has a corresponding entry in the README's "Available Skills List".
- Format Specifications:
- Title format:
#### 技能名称 (skill-dir-name) - Description: briefly explain the skill's purpose
- Installation command:
npx skills add https://github.com/ruan-cat/monorepo/tree/main/claude-code-marketplace/common-tools/skills/<skill-name>
- Title format:
- Clean Up Invalid Entries: if a skill directory has been deleted, the corresponding introduction and installation command must be removed from the README.
Changelog File
The contents of each version updatemustbe recorded in the following file:
claude-code-marketplace/common-tools/CHANGELOG.md
Changelog Format Specifications
Follow the Keep a Changelog specification:
## [版本号] - YYYY-MM-DD
### Added
- 新增的功能
### Changed
- 变更的功能
### Deprecated
- 即将废弃的功能
### Removed
- 已移除的功能
### Fixed
- 修复的问题
### Security
- 安全相关的修复
Upgrade Process Steps
When performing a plugin version upgrade, please operate in the following order:
-
Determine the new version number
- Determine the version number increment based on the type of change (MAJOR/MINOR/PATCH)
- Confirm that the new version number complies with semantic versioning specifications
-
Update configuration files
- Update
.claude-plugin/marketplace.jsonthe version field in it - Update
claude-code-marketplace/common-tools/.claude-plugin/plugin.jsonthe version field in it
- Update
-
Update Skills versions (as needed)
- Check which Skills have changed
- Only update the version of the Skill that has changed
metadata.version - If it is a newly added Skill, ensure that its initial version number is set correctly (usually 0.0.1 or 0.1.0)
-
Synchronize README documentation
- Scan all skill directories
- Update
.claude-plugin/README.mdthe skill list in it - Ensure that newly added skills have been added
- Ensure that deprecated skills have been removed
- Verify the accuracy of all installation links
-
Write the changelog
- In
CHANGELOG.mdadd a new version entry at the top of the file - Use standard changelog categories (Added/Changed/Fixed, etc.)
- Record all changes in this update
- Add the release date
- In
-
Verify consistency
- Check whether the version numbers in all configuration files are consistent
- Check whether the CHANGELOG format complies with the specifications
- Confirm that all changes have been recorded
-
Commit changes
- Use a standard commit message
- Recommended format:
chore(plugin): release version X.Y.Z
Examples
Example 1: Release a patch version (only fix plugin logic)
Assume the current version is 1.2.3, a bug was fixed, and 1.2.4needs to be released, with no Skill changes.
Steps:
-
Update the version in both JSON configuration files to
"1.2.4" -
Skills documentation version numberremains unchanged
-
Add to CHANGELOG.md:
## [1.2.4] - 2025-01-05 ### Fixed - 修复插件加载时的路径解析错误 -
Commit:
chore(plugin): release version 1.2.4
Example 2: Release a feature version (add/modify a Skill)
Assume the current version is 1.2.4, a new git-commit skill was added, and 1.3.0。
Steps:
-
Update the version in the two JSON configuration files to
"1.3.0" -
Set
skills/git-commit/SKILL.md'smetadata.versionto"0.0.1"(or another initial version) -
Other Skills version numbersremain unchanged
-
Add to CHANGELOG.md:
## [1.3.0] - 2025-01-05 ### Added - 新增 `git-commit` 技能,用于规范化 git 提交 -
Commit:
chore(plugin): release version 1.3.0
Notes
- Version number consistency:
marketplace.jsonandplugin.jsonversion numbers must be consistent. - Independent Skills versions: Skills have independent lifecycles; do not blindly synchronize the version numbers of all Skills.
- CHANGELOG completeness: The CHANGELOG must be updated for every release and cannot be omitted.
- Semantic versioning: Strictly follow the semantic versioning specification so users clearly understand the impact of changes.
- Date format: Use the ISO 8601 format (YYYY-MM-DD).
- Change classification: Accurately use changelog categories to help users quickly locate the content they care about.