Release Skills
Automate the release process for naruto-skills plugin: analyze changes, update changelogs, bump version, commit, and tag.
CRITICAL: Mandatory Release Checklist
NEVER skip these steps when releasing:
- •✅ Update
CHANGELOG.md - •✅ Update
marketplace.jsonversion - •✅ Update
README.mdif needed - •✅ Commit all changes together
- •✅ Create version tag
If user says "直接 push" or "just push" - STILL follow all steps above first!
When to Use
Trigger this skill when user requests:
- •"release", "发布", "create release", "new version"
- •"bump version", "update version"
- •"prepare release"
- •"push to remote" (with uncommitted changes)
Workflow
Step 1: Analyze Changes Since Last Tag
# Get the latest version tag
LAST_TAG=$(git tag --sort=-v:refname | head -1)
# Show changes since last tag
git log ${LAST_TAG}..HEAD --oneline
git diff ${LAST_TAG}..HEAD --stat
Categorize changes by type based on commit messages and file changes:
| Type | Prefix | Description |
|---|---|---|
| feat | feat: | New features, new skills |
| fix | fix: | Bug fixes |
| docs | docs: | Documentation only |
| refactor | refactor: | Code refactoring |
| style | style: | Formatting, styling |
| chore | chore: | Build, tooling, maintenance |
Breaking Change Detection: If changes include:
- •Removed skills or scripts
- •Changed API/interfaces
- •Renamed public functions/options
Warn user: "Breaking changes detected. Consider major version bump (--major flag)."
Step 2: Determine Version Bump
Current version location: .claude-plugin/marketplace.json → metadata.version
Version rules:
- •Patch (1.0.1 → 1.0.2): Bug fixes, docs updates, minor improvements
- •Minor (1.0.x → 1.1.0): New features, new skills, significant enhancements
- •Major (1.x → 2.0): Breaking changes, only when user explicitly requests with
--major
Default behavior:
- •If changes include
feat:or new skills → Minor bump - •Otherwise → Patch bump
Step 3: Check and Update README
Before updating changelogs, check if README files need updates based on changes:
When to update README:
- •New skills added → Add to skill list
- •Skills removed → Remove from skill list
- •Skill renamed → Update references
- •New features affecting usage → Update usage section
- •Breaking changes → Update migration notes
Files to sync:
- •
README.md
If changes include new skills or significant feature changes, update the README file to reflect the new capabilities.
Step 4: Update Changelogs
Files to update:
- •
CHANGELOG.md
Format (insert after header, before previous version):
## {NEW_VERSION} - {YYYY-MM-DD}
### Features
- `skill-name`: description of new feature
### Fixes
- `skill-name`: description of fix
### Documentation
- description of docs changes
### Other
- description of other changes
Only include sections that have changes. Omit empty sections.
Step 5: Update marketplace.json
Update .claude-plugin/marketplace.json:
{
"metadata": {
"version": "{NEW_VERSION}"
}
}
Step 6: Commit Changes
git add README.md CHANGELOG.md .claude-plugin/marketplace.json
git commit -m "chore: release v{NEW_VERSION}"
Note: Do NOT add Co-Authored-By line. This is a release commit, not a code contribution.
Step 7: Create Version Tag
git tag v{NEW_VERSION}
Important: Do NOT push to remote. User will push manually when ready.
Options
| Flag | Description |
|---|---|
--dry-run | Preview changes without executing. Show what would be updated. |
--major | Force major version bump (0.x → 1.0 or 1.x → 2.0) |
--minor | Force minor version bump |
--patch | Force patch version bump |
--pre <tag> | (Reserved) Create pre-release version, e.g., --pre beta → 0.7.0-beta.1 |
Dry-Run Mode
When --dry-run is specified:
- •Show all changes since last tag
- •Show proposed version bump (current → new)
- •Show draft changelog entry (English)
- •Show files that would be modified
- •Do NOT make any actual changes
Output format:
=== DRY RUN MODE === Last tag: v0.6.1 Proposed version: v0.7.0 Changes detected: - feat: new skill naruto-foo added - fix: naruto-bar timeout issue - docs: updated README Changelog preview (EN): ## 0.7.0 - 2026-01-17 ### Features - `naruto-foo`: new skill for ... ### Fixes - `naruto-bar`: fixed timeout issue README updates needed: Yes/No (If yes, show proposed changes) Files to modify: - README.md (if updates needed) - CHANGELOG.md - .claude-plugin/marketplace.json No changes made. Run without --dry-run to execute.
Example Usage
/release-skills # Auto-detect version bump /release-skills --dry-run # Preview only /release-skills --minor # Force minor bump /release-skills --major # Force major bump (with confirmation)
Post-Release Reminder
After successful release, remind user:
Release v{NEW_VERSION} created locally.
To publish:
git push origin main
git push origin v{NEW_VERSION}