release-skills

WHAT: Universal release workflow with auto-detection, multi-language changelogs, semantic versioning, and git tagging. WHEN: User wants to create a release, bump version, update changelog, push a new version, or prepare for deployment. KEYWORDS: "release", "发布", "new version", "新版本", "bump version", "update version", "更新版本", "push", "推送", "create release", "prepare release", "tag version"

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "release-skills" with this command: npx skills add wpank/release-skills

Release Skills

Universal release workflow supporting any project type with multi-language changelog generation.

Supported Projects

TypeVersion FileAuto-Detected
Node.jspackage.json
Pythonpyproject.toml
RustCargo.toml
Claude Pluginmarketplace.json
GenericVERSION / version.txt

Options

FlagDescription
--dry-runPreview changes without executing
--majorForce major version bump
--minorForce minor version bump
--patchForce patch version bump

Workflow

Step 1: Detect Configuration

  1. Check for .releaserc.yml (optional config)
  2. Auto-detect version file (priority: package.json → pyproject.toml → Cargo.toml → marketplace.json → VERSION)
  3. Scan for changelog files: CHANGELOG*.md, HISTORY*.md, CHANGES*.md
  4. Identify language of each changelog by suffix

Language Detection:

PatternLanguage
CHANGELOG.md (no suffix)en
CHANGELOG.zh.md / CHANGELOG_CN.mdzh
CHANGELOG.ja.md / CHANGELOG_JP.mdja
CHANGELOG.{lang}.mdCorresponding language

Output:

Project detected:
  Version file: package.json (1.2.3)
  Changelogs: CHANGELOG.md (en), CHANGELOG.zh.md (zh)

Step 2: Analyze Changes

LAST_TAG=$(git tag --sort=-v:refname | head -1)
git log ${LAST_TAG}..HEAD --oneline

Categorize by conventional commit:

  • feat: → Features
  • fix: → Fixes
  • docs: → Documentation
  • refactor: → Refactor
  • perf: → Performance
  • chore: → Skip in changelog

Breaking Change Detection:

  • BREAKING CHANGE in message or body
  • Removed public APIs, renamed exports

Warn if breaking changes: "Consider major version bump (--major)."

Step 3: Determine Version

Priority:

  1. User flag (--major/--minor/--patch)
  2. BREAKING CHANGE → Major (1.x.x → 2.0.0)
  3. feat: present → Minor (1.2.x → 1.3.0)
  4. Otherwise → Patch (1.2.3 → 1.2.4)

Display: 1.2.3 → 1.3.0

Step 4: Generate Changelogs

For each changelog file:

  1. Identify language from filename
  2. Detect third-party contributors via merged PRs
  3. Generate content in that language:
    • Section titles in target language
    • Date format: YYYY-MM-DD
    • Attribution: (by @username) for non-owner contributors
  4. Insert at file head, preserve existing content

Section Titles:

Typeenzhja
featFeatures新功能新機能
fixFixes修复修正
docsDocumentation文档ドキュメント
breakingBreaking Changes破坏性变更破壊的変更

Format:

## 1.3.0 - 2026-01-22

### Features
- Add user authentication (by @contributor1)
- Support OAuth2 login

### Fixes
- Fix memory leak in connection pool

Step 5: Group by Module (Optional)

For monorepos, group commits by affected skill/module:

baoyu-cover-image:
  - feat: add new style options
  → README updates: options table

baoyu-comic:
  - refactor: improve panel layout
  → No README updates

Step 6: User Confirmation

Present:

  • Changelog preview
  • Proposed version bump
  • Changes summary

Ask:

  1. Confirm version bump (show recommended)
  2. Push to remote? (Yes/No)

Step 7: Create Release

# Stage files
git add <version-file> CHANGELOG*.md

# Commit
git commit -m "chore: release v{VERSION}"

# Tag
git tag v{VERSION}

# Push (if confirmed)
git push origin main
git push origin v{VERSION}

Output:

Release v1.3.0 created.
Tag: v1.3.0
Status: Pushed to origin

Scripts

ScriptPurpose
scripts/prepare_release.pyPrepare release with version bump
scripts/release_notes.pyGenerate release notes from commits
scripts/roadmap_changelog.pyGenerate changelog from roadmap

Configuration (.releaserc.yml)

Optional overrides:

version:
  file: package.json
  path: $.version

changelog:
  files:
    - path: CHANGELOG.md
      lang: en
    - path: CHANGELOG.zh.md
      lang: zh

commit:
  message: "chore: release v{version}"

tag:
  prefix: v

Dry-Run Mode

With --dry-run:

  • Show all proposed changes
  • Preview changelog entries
  • List commits to create
  • No actual changes made

Version Paths

FilePath
package.json$.version
pyproject.tomlproject.version
Cargo.tomlpackage.version
marketplace.json$.metadata.version
VERSIONDirect content

Quality Criteria

Good releases:

  • Clear changelog entries describing user-facing changes
  • Proper contributor attribution
  • Consistent multi-language content
  • No orphaned tags (always with commit)
  • Version bump matches change significance

NEVER

  • Force push to main/master
  • Skip user confirmation before push
  • Create tags without commits
  • Include internal/chore changes in user-facing changelog
  • Push without explicit user consent
  • Add Co-Authored-By to release commits (they're automated)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

N8N EVOL I

A harness to help coding agents build, deploy, maintain, and debug multi-workflow n8n-powered automation systems. No lock-in — work from the agent, continue...

Registry SourceRecently Updated
Automation

Bitbrawlers Agent

Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentic...

Registry SourceRecently Updated
Automation

Cross-Session Memory Config

配置 OpenClaw 跨会话记忆规则。首次使用或新装 OpenClaw 时运行,自动在 SOUL.md 和 AGENTS.md 中注入记忆共享规则,使群聊和私聊的长期记忆互通。触发词:'配置跨会话记忆'、'设置记忆共享'、'cross-session memory'、'setup memory sharing'。

Registry SourceRecently Updated
Automation

LobPay

Purchase items, pay merchants, retrieve checkout info, record transactions, and leave feedback via X402 protocol on the Base network using LobPay.

Registry SourceRecently Updated