npx skills add ...
npx skills add tuziapi/tuzi-skills --skill release-skills
通用发布工作流。自动检测版本文件和变更日志。支持 Node.js、Python、Rust、Claude 插件和通用项目。当用户说"发布"、"release"、"新版本"、"bump version"、"push"、"推送"时使用。
npx skills add tuziapi/tuzi-skills --skill release-skills
Universal release workflow supporting any project type with multi-language changelog.
Just run /release-skills - auto-detects your project configuration.
| Project Type | Version File | Auto-Detected |
|---|---|---|
| Node.js | package.json | ✓ |
| Python | pyproject.toml | ✓ |
| Rust | Cargo.toml | ✓ |
| Claude Plugin | marketplace.json | ✓ |
| Generic | VERSION / version.txt | ✓ |
| Flag | Description |
|---|---|
--dry-run | Preview changes without executing |
--major | Force major version bump |
--minor | Force minor version bump |
--patch | Force patch version bump |
.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*.mdLanguage Detection Rules:
| Filename Pattern | Language |
|---|---|
CHANGELOG.md (no suffix) | en (default) |
CHANGELOG.zh.md / CHANGELOG_CN.md / CHANGELOG.zh-CN.md | zh |
CHANGELOG.ja.md / CHANGELOG_JP.md | ja |
CHANGELOG.ko.md / CHANGELOG_KR.md | ko |
CHANGELOG.de.md / CHANGELOG_DE.md | de |
CHANGELOG.fr.md / CHANGELOG_FR.md | fr |
CHANGELOG.es.md / CHANGELOG_ES.md | es |
CHANGELOG.{lang}.md | Corresponding language code |
Output Example:
Categorize by conventional commit types:
| Type | Description |
|---|---|
| feat | New features |
| fix | Bug fixes |
| docs | Documentation |
| refactor | Code refactoring |
| perf | Performance improvements |
| test | Test changes |
| style | Formatting, styling |
| chore | Maintenance (skip in changelog) |
Breaking Change Detection:
BREAKING CHANGEBREAKING CHANGE:If breaking changes detected, warn user: "Breaking changes detected. Consider major version bump (--major flag)."
Rules (in priority order):
--major/--minor/--patch → Use specifiedfeat: commits present → Minor bump (1.2.x → 1.3.0)Display version change: 1.2.3 → 1.3.0
For each detected changelog file:
git 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 entrySection Title Translations (built-in):
| Type | en | zh | ja | ko | de | fr | es |
|---|---|---|---|---|---|---|---|
| feat | Features | 新功能 | 新機能 | 새로운 기능 | Funktionen | Fonctionnalités | Características |
| fix | Fixes | 修复 | 修正 | 수정 | Fehlerbehebungen | Corrections | Correcciones |
| docs | Documentation | 文档 | ドキュメント | 문서 | Dokumentation | Documentation | Documentación |
| refactor | Refactor | 重构 | リファクタリング | 리팩토링 | Refactoring | Refactorisation | Refactorización |
| perf | Performance | 性能优化 | パフォーマンス | 성능 | Leistung | Performance | Rendimiento |
| breaking | Breaking Changes | 破坏性变更 | 破壊的変更 | 주요 변경사항 | Breaking Changes | Changements majeurs | Cambios importantes |
Changelog Format:
Only include sections that have changes. Omit empty sections.
Third-Party Attribution Rules:
(by @username) for contributors who are NOT the repo owner@ prefix(by @username) format, not translated)Multi-language Example:
English (CHANGELOG.md):
Chinese (CHANGELOG.zh.md):
Japanese (CHANGELOG.ja.md):
Analyze commits since last tag and group by affected skill/module:
skills/<skill-name>/* → Group under that skillExample Grouping:
For each skill/module group (in order of changes):
Check README updates needed:
README*.md for mentions of this skill/moduleStage and commit:
Commit message format:
<type>(<scope>): <description><type>: feat, fix, refactor, docs, perf, etc.<scope>: skill name or "project"<description>: Clear, meaningful description of changesExample Commits:
Common README Updates Needed:
| Change Type | README Section to Check |
|---|---|
| New options/flags | Options table, usage examples |
| Renamed options | Options table, usage examples |
| New features | Feature description, examples |
| Breaking changes | Migration notes, deprecation warnings |
| Restructured internals | Architecture section (if exposed to users) |
Version Paths by File Type:
| File | Path |
|---|---|
| package.json | $.version |
| pyproject.toml | project.version |
| Cargo.toml | package.version |
| marketplace.json | $.metadata.version |
| VERSION / version.txt | Direct content |
Before creating the release commit, ask user to confirm:
Use AskUserQuestion with two questions:
Version bump (single select):
1.2.3 → 1.3.0 (Recommended), 1.2.3 → 1.2.4, 1.2.3 → 2.0.0Push to remote (single select):
Example Output Before Confirmation:
After user confirmation:
Stage version and changelog files:
Create release commit:
Create tag:
Push if user confirmed (Step 8):
Note: Do NOT add Co-Authored-By line. This is a release commit, not a code contribution.
Post-Release Output:
Optional config file in project root to override defaults:
When --dry-run is specified:
Trigger this skill when user requests:
Important: If user says "just push" or "直接 push" with uncommitted changes, STILL follow all steps above first.
## {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## 1.3.0 - 2026-01-22
### Features
- Add user authentication module (by @contributor1)
- Support OAuth2 login
### Fixes
- Fix memory leak in connection pool## 1.3.0 - 2026-01-22
### 新功能
- 新增用户认证模块 (by @contributor1)
- 支持 OAuth2 登录
### 修复
- 修复连接池内存泄漏问题## 1.3.0 - 2026-01-22
### 新機能
- ユーザー認証モジュールを追加 (by @contributor1)
- OAuth2 ログインをサポート
### 修正
- コネクションプールのメモリリークを修正tuzi-cover-image:
- feat: add new style options
- fix: handle transparent backgrounds
→ README updates: options table
tuzi-comic:
- refactor: improve panel layout algorithm
→ No README updates needed
project:
- docs: update CLAUDE.md architecture section