release-skills by freestylefly/canghe-skills
npx skills add https://github.com/freestylefly/canghe-skills --skill release-skills支持任何项目类型的通用发布工作流,具备多语言更新日志。
只需运行 /release-skills - 自动检测您的项目配置。
| 项目类型 | 版本文件 | 自动检测 |
|---|---|---|
| Node.js | package.json | ✓ |
| Python | pyproject.toml | ✓ |
| Rust | Cargo.toml | ✓ |
| Claude Plugin | marketplace.json | ✓ |
| 通用项目 | VERSION / version.txt | ✓ |
| 标志 | 描述 |
|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
--dry-run | 预览更改而不执行 |
--major | 强制主版本号升级 |
--minor | 强制次版本号升级 |
--patch | 强制修订版本号升级 |
.releaserc.yml(可选的配置覆盖)package.json (Node.js)pyproject.toml (Python)Cargo.toml (Rust)marketplace.json 或 .claude-plugin/marketplace.json (Claude Plugin)VERSION 或 version.txt (通用项目)CHANGELOG*.mdHISTORY*.mdCHANGES*.md语言检测规则 :
| 文件名模式 | 语言 |
|---|---|
CHANGELOG.md (无后缀) | en (默认) |
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 | 对应的语言代码 |
输出示例 :
Project detected:
Version file: package.json (1.2.3)
Changelogs:
- CHANGELOG.md (en)
- CHANGELOG.zh.md (zh)
- CHANGELOG.ja.md (ja)
LAST_TAG=$(git tag --sort=-v:refname | head -1)
git log ${LAST_TAG}..HEAD --oneline
git diff ${LAST_TAG}..HEAD --stat
按约定式提交类型分类:
| 类型 | 描述 |
|---|---|
| feat | 新功能 |
| fix | 错误修复 |
| docs | 文档 |
| refactor | 代码重构 |
| perf | 性能改进 |
| test | 测试更改 |
| style | 格式化、样式 |
| chore | 维护(在更新日志中跳过) |
破坏性变更检测 :
BREAKING CHANGE 开头BREAKING CHANGE:如果检测到破坏性变更,警告用户:"检测到破坏性变更。请考虑主版本号升级(--major 标志)。"
规则(按优先级顺序):
--major/--minor/--patch → 使用指定的feat: 提交 → 次版本升级 (1.2.x → 1.3.0)显示版本变更:1.2.3 → 1.3.0
对于每个检测到的更新日志文件:
git log ${LAST_TAG}..HEAD --merges --pretty=format:"%H %s"gh pr view <number> --json author --jq '.author.login' 识别 PR 作者gh repo view --json owner --jq '.owner.login')(by @username)章节标题翻译(内置):
| 类型 | 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 |
更新日志格式 :
## {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)@ 前缀的 GitHub 用户名(by @username) 格式,不翻译)多语言示例 :
英文 (CHANGELOG.md):
## 1.3.0 - 2026-01-22
### Features
- Add user authentication module (by @contributor1)
- Support OAuth2 login
### Fixes
- Fix memory leak in connection pool
中文 (CHANGELOG.zh.md):
## 1.3.0 - 2026-01-22
### 新功能
- 新增用户认证模块 (by @contributor1)
- 支持 OAuth2 登录
### 修复
- 修复连接池内存泄漏问题
日文 (CHANGELOG.ja.md):
## 1.3.0 - 2026-01-22
### 新機能
- ユーザー認証モジュールを追加 (by @contributor1)
- OAuth2 ログインをサポート
### 修正
- コネクションプールのメモリリークを修正
分析自上次标签以来的提交,并按受影响的技能/模块分组:
skills/<skill-name>/* → 在该技能下分组分组示例 :
canghe-cover-image:
- feat: add new style options
- fix: handle transparent backgrounds
→ README updates: options table
canghe-comic:
- refactor: improve panel layout algorithm
→ No README updates needed
project:
- docs: update CLAUDE.md architecture section
对于每个技能/模块组(按变更顺序):
检查所需的 README 更新:
README*.md 中对此技能/模块的提及暂存并提交:
git 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 等<scope>: 技能名称或 "project"<description>: 清晰、有意义的变更描述提交示例 :
git commit -m "feat(canghe-cover-image): add watercolor and minimalist styles"
git commit -m "fix(canghe-comic): improve panel layout for long dialogues"
git commit -m "docs(project): update architecture documentation"
常见的 README 更新需求:
| 变更类型 | 需要检查的 README 部分 |
|---|---|
| 新选项/标志 | 选项表、使用示例 |
| 重命名的选项 | 选项表、使用示例 |
| 新功能 | 功能描述、示例 |
| 破坏性变更 | 迁移说明、弃用警告 |
| 重构的内部结构 | 架构部分(如果暴露给用户) |
按文件类型的版本路径:
| 文件 | 路径 |
|---|---|
| package.json | $.version |
| pyproject.toml | project.version |
| Cargo.toml | package.version |
| marketplace.json | $.metadata.version |
| VERSION / version.txt | 直接内容 |
在创建发布提交之前,请用户确认:
使用 AskUserQuestion 提出两个问题:
版本升级(单选):
1.2.3 → 1.3.0 (推荐)、1.2.3 → 1.2.4、1.2.3 → 2.0.0推送到远程(单选):
确认前的输出示例 :
Commits created:
1. feat(canghe-cover-image): add watercolor and minimalist styles
2. fix(canghe-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
创建发布提交:
git commit -m "chore: release v{VERSION}"
创建标签:
git tag v{VERSION}
如果用户确认(步骤 8)则推送:
git push origin main git push origin v{VERSION}
注意:请勿添加 Co-Authored-By 行。这是一个发布提交,不是代码贡献。
发布后输出 :
Release v1.3.0 created.
Commits:
1. feat(canghe-cover-image): add watercolor and minimalist styles
2. fix(canghe-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 # 或 "Local only - run git push when ready"
项目根目录中的可选配置文件,用于覆盖默认值:
# .releaserc.yml - 可选配置
# 版本文件(如果未指定则自动检测)
version:
file: package.json
path: $.version # JSON 的 JSONPath,TOML 的点分隔路径
# 更新日志文件(如果未指定则自动检测)
changelog:
files:
- path: CHANGELOG.md
lang: en
- path: CHANGELOG.zh.md
lang: zh
- path: CHANGELOG.ja.md
lang: ja
# 章节映射(约定式提交类型 → 更新日志章节)
# 使用 null 在更新日志中跳过某个类型
sections:
feat: Features
fix: Fixes
docs: Documentation
refactor: Refactor
perf: Performance
test: Tests
chore: null
# 提交信息格式
commit:
message: "chore: release v{version}"
# 标签格式
tag:
prefix: v # 结果为 v1.0.0
sign: false
# 发布提交中包含的额外文件
include:
- README.md
- package.json
当指定 --dry-run 时:
=== 试运行模式 ===
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:
canghe-cover-image:
- feat: add watercolor style
- feat: add minimalist style
→ Commit: feat(canghe-cover-image): add watercolor and minimalist styles
→ README updates: options table
canghe-comic:
- fix: panel layout for long dialogues
→ Commit: fix(canghe-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(canghe-cover-image): add watercolor and minimalist styles
2. fix(canghe-comic): improve panel layout for long dialogues
3. chore: release v1.3.0
No changes made. Run without --dry-run to execute.
/release-skills # 自动检测版本升级
/release-skills --dry-run # 仅预览
/release-skills --minor # 强制次版本升级
/release-skills --patch # 强制修订版本升级
/release-skills --major # 强制主版本升级(需确认)
当用户请求时触发此技能:
重要:如果用户说 "just push" 或 "直接 push" 且有未提交的更改,仍然先遵循上述所有步骤。
每周安装次数
101
仓库
GitHub 星标数
188
首次出现
2026年2月24日
安全审计
安装于
gemini-cli100
codex100
kimi-cli100
cursor100
opencode100
github-copilot100
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*.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 |
Output Example :
Project detected:
Version file: package.json (1.2.3)
Changelogs:
- CHANGELOG.md (en)
- CHANGELOG.zh.md (zh)
- CHANGELOG.ja.md (ja)
LAST_TAG=$(git tag --sort=-v:refname | head -1)
git log ${LAST_TAG}..HEAD --oneline
git diff ${LAST_TAG}..HEAD --stat
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 |
Changelog Format :
## {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
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):
## 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 ログインをサポート
### 修正
- コネクションプールのメモリリークを修正
Analyze commits since last tag and group by affected skill/module:
skills/<skill-name>/* → Group under that skillExample Grouping :
canghe-cover-image:
- feat: add new style options
- fix: handle transparent backgrounds
→ README updates: options table
canghe-comic:
- refactor: improve panel layout algorithm
→ No README updates needed
project:
- docs: update CLAUDE.md architecture section
For each skill/module group (in order of changes):
Check README updates needed :
README*.md for mentions of this skill/moduleStage and commit :
git add skills/<skill-name>/* git add README.md README.zh.md # If updated for this skill git commit -m "<type>(<skill-name>): <meaningful description>"
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 :
git commit -m "feat(canghe-cover-image): add watercolor and minimalist styles"
git commit -m "fix(canghe-comic): improve panel layout for long dialogues"
git commit -m "docs(project): update architecture documentation"
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 :
Commits created:
1. feat(canghe-cover-image): add watercolor and minimalist styles
2. fix(canghe-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.
After user confirmation:
Stage version and changelog files :
git add <version-file> git add CHANGELOG*.md
Create release commit :
git commit -m "chore: release v{VERSION}"
Create tag :
git tag v{VERSION}
Push if user confirmed (Step 8):
git push origin main git push origin v{VERSION}
Note : Do NOT add Co-Authored-By line. This is a release commit, not a code contribution.
Post-Release Output :
Release v1.3.0 created.
Commits:
1. feat(canghe-cover-image): add watercolor and minimalist styles
2. fix(canghe-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"
Optional config file in project root to override defaults:
# .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
When --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:
canghe-cover-image:
- feat: add watercolor style
- feat: add minimalist style
→ Commit: feat(canghe-cover-image): add watercolor and minimalist styles
→ README updates: options table
canghe-comic:
- fix: panel layout for long dialogues
→ Commit: fix(canghe-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(canghe-cover-image): add watercolor and minimalist styles
2. fix(canghe-comic): improve panel layout for long dialogues
3. chore: release v1.3.0
No changes made. Run without --dry-run to execute.
/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)
Trigger this skill when user requests:
Important : If user says "just push" or "直接 push" with uncommitted changes, STILL follow all steps above first.
Weekly Installs
101
Repository
GitHub Stars
188
First Seen
Feb 24, 2026
Security Audits
Gen Agent Trust HubFailSocketPassSnykWarn
Installed on
gemini-cli100
codex100
kimi-cli100
cursor100
opencode100
github-copilot100
Azure Data Explorer (Kusto) 查询技能:KQL数据分析、日志遥测与时间序列处理
138,800 周安装
GitHub PR 自动审查工具 - 基于严重性优先级排序、应用修复与线程回复
369 周安装
子代理驱动开发 (SADD) 指南:AI 代理任务执行与代码审查流程详解
372 周安装
Reflexion:reflect 自我反思与迭代改进框架 - AI代码质量把关者
375 周安装
阿里云通义千问图像生成API:使用DashScope SDK实现AI图像创作与集成
365 周安装
Storybook故事编写指南:使用CSF3格式创建可维护组件故事
372 周安装
workflow-init:Vercel Workflow DevKit 自动化初始化工具,支持 Next.js/Nuxt/SvelteKit 等主流框架
382 周安装
HISTORY*.mdCHANGES*.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 |
| Refactor |
| 重构 |
| リファクタリング |
| 리팩토링 |
| Refactoring |
| Refactorisation |
| Refactorización |
| perf | Performance | 性能优化 | パフォーマンス | 성능 | Leistung | Performance | Rendimiento |
| breaking | Breaking Changes | 破坏性变更 | 破壊的変更 | 주요 변경사항 | Breaking Changes | Changements majeurs | Cambios importantes |