Universal release workflow supporting any project type with multi-language changelog. Just run `/release-skills` - auto-detects your project configuration. Project Type
/release-skills - auto-detects your project configuration.--dry-run--major--minor--patch.releaserc.yml (optional config override)package.json (Node.js)pyproject.toml (Python)Cargo.toml (Rust)marketplace.json or .claude-plugin/marketplace.json (Claude Plugin)VERSION or version.txt (Generic)CHANGELOG*.mdHISTORY*.mdCHANGES*.mdCHANGELOG.md (no suffix)CHANGELOG.zh.md / CHANGELOG_CN.md / CHANGELOG.zh-CN.mdCHANGELOG.ja.md / CHANGELOG_JP.mdCHANGELOG.ko.md / CHANGELOG_KR.mdCHANGELOG.de.md / CHANGELOG_DE.mdCHANGELOG.fr.md / CHANGELOG_FR.mdCHANGELOG.es.md / CHANGELOG_ES.mdCHANGELOG.{lang}.mdProject detected: Version file: package.json (1.2.3) Changelogs: - CHANGELOG.md (en) - CHANGELOG.zh.md (zh) - CHANGELOG.ja.md (ja) `### Step 2: Analyze Changes Since Last Tag` LAST_TAG=$(git tag --sort=-v:refname | head -1) git log ${LAST_TAG}..HEAD --oneline git diff ${LAST_TAG}..HEAD --stat
BREAKING CHANGEBREAKING CHANGE:--major/--minor/--patch → Use specifiedfeat: commits present → Minor bump (1.2.x → 1.3.0)1.2.3 → 1.3.0git log ${LAST_TAG}..HEAD --merges --pretty=format:"%H %s"gh pr view <number> --json author --jq '.author.login'gh repo view --json owner --jq '.owner.login')(by @username) to the changelog entry## {VERSION} - {YYYY-MM-DD} ### Features - Description of new feature - Description of third-party contribution (by @username) ### Fixes - Description of fix ### Documentation - Description of docs changes
(by @username) for contributors who are NOT the repo owner@ prefix(by @username) format, not translated)## 1.3.0 - 2026-01-22 ### Features - Add user authentication module (by @contributor1) - Support OAuth2 login ### Fixes - Fix memory leak in connection pool `Chinese (CHANGELOG.zh.md):` ## 1.3.0 - 2026-01-22 ### 新功能 - 新增用户认证模块 (by @contributor1) - 支持 OAuth2 登录 ### 修复 - 修复连接池内存泄漏问题 `Japanese (CHANGELOG.ja.md):` ## 1.3.0 - 2026-01-22 ### 新機能 - ユーザー認証モジュールを追加 (by @contributor1) - OAuth2 ログインをサポート ### 修正 - コネクションプールのメモリリークを修正
skills/<skill-name>/* → Group under that skillbaoyu-cover-image: - feat: add new style options - fix: handle transparent backgrounds → README updates: options table baoyu-comic: - refactor: improve panel layout algorithm → No README updates needed project: - docs: update CLAUDE.md architecture section
README*.md for mentions of this skill/modulegit add skills/<skill-name>/* git add README.md README.zh.md # If updated for this skill git commit -m "<type>(<skill-name>): <meaningful description>"
<type>(<scope>): <description><type>: feat, fix, refactor, docs, perf, etc.<scope>: skill name or "project"<description>: Clear, meaningful description of changesgit commit -m "feat(baoyu-cover-image): add watercolor and minimalist styles" git commit -m "fix(baoyu-comic): improve panel layout for long dialogues" git commit -m "docs(project): update architecture documentation"
$.versionproject.versionpackage.version$.metadata.version1.2.3 → 1.3.0 (Recommended), 1.2.3 → 1.2.4, 1.2.3 → 2.0.0Commits created: 1. feat(baoyu-cover-image): add watercolor and minimalist styles 2. fix(baoyu-comic): improve panel layout for long dialogues 3. docs(project): update architecture documentation Changelog preview (en): ## 1.3.0 - 2026-01-22 ### Features - Add watercolor and minimalist styles to cover-image ### Fixes - Improve panel layout for long dialogues in comic Ready to create release commit and tag.
git add <version-file> git add CHANGELOG*.md `2. **Create release commit**:` git commit -m "chore: release v{VERSION}" `3. **Create tag**:` git tag v{VERSION} `4. **Push if user confirmed** (Step 8):` git push origin main git push origin v{VERSION}
Release v1.3.0 created. Commits: 1. feat(baoyu-cover-image): add watercolor and minimalist styles 2. fix(baoyu-comic): improve panel layout for long dialogues 3. docs(project): update architecture documentation 4. chore: release v1.3.0 Tag: v1.3.0 Status: Pushed to origin # or "Local only - run git push when ready"
# .releaserc.yml - Optional configuration # Version file (auto-detected if not specified) version: file: package.json path: $.version # JSONPath for JSON, dotted path for TOML # Changelog files (auto-detected if not specified) changelog: files: - path: CHANGELOG.md lang: en - path: CHANGELOG.zh.md lang: zh - path: CHANGELOG.ja.md lang: ja # Section mapping (conventional commit type → changelog section) # Use null to skip a type in changelog sections: feat: Features fix: Fixes docs: Documentation refactor: Refactor perf: Performance test: Tests chore: null # Commit message format commit: message: "chore: release v{version}" # Tag format tag: prefix: v # Results in v1.0.0 sign: false # Additional files to include in release commit include: - README.md - package.json
--dry-run is specified:=== DRY RUN MODE === Project detected: Version file: package.json (1.2.3) Changelogs: CHANGELOG.md (en), CHANGELOG.zh.md (zh) Last tag: v1.2.3 Proposed version: v1.3.0 Changes grouped by skill/module: baoyu-cover-image: - feat: add watercolor style - feat: add minimalist style → Commit: feat(baoyu-cover-image): add watercolor and minimalist styles → README updates: options table baoyu-comic: - fix: panel layout for long dialogues → Commit: fix(baoyu-comic): improve panel layout for long dialogues → No README updates Changelog preview (en): ## 1.3.0 - 2026-01-22 ### Features - Add watercolor and minimalist styles to cover-image ### Fixes - Improve panel layout for long dialogues in comic Changelog preview (zh): ## 1.3.0 - 2026-01-22 ### 新功能 - 为 cover-image 添加水彩和极简风格 ### 修复 - 改进 comic 长对话的面板布局 Commits to create: 1. feat(baoyu-cover-image): add watercolor and minimalist styles 2. fix(baoyu-comic): improve panel layout for long dialogues 3. chore: release v1.3.0 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 --patch # Force patch bump /release-skills --major # Force major bump (with confirmation)