Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

semver-release语义版本发布

Agent Skill

semver-release 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

372

周安装

16

GitHub Stars

公开资料未说明

下载量

131
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:semver-release(语义版本发布)
来源仓库:https://github.com/vamdawn/ai-forge
仓库路径:skills/semver-release
安装命令:
npx skills add https://github.com/vamdawn/ai-forge --skill semver-release
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/vamdawn/ai-forge --skill semver-release

简介

用于查找、检索和筛选相关信息,支持根据关键词快速定位候选结果。

  • 适合在需要任务场景或来源线索进行信息筛选时使用。
  • 可结合来源仓库和原始 README 核验具体用法。
  • 安装方式:通过 npx skills add 命令从指定 GitHub 仓库添加。
  • 注意权限范围和维护状态,确认是否会触发联网、命令执行或文件读写。

SKILL.md

Versioning Workflow

Automated version release based on Semantic Versioning 2.0.0.

Execution Steps

Step 0: Pre-flight Checks

  1. Verify inside a git repository: git rev-parse --is-inside-work-tree
  2. Check working directory is clean: git status --porcelain

- Abort if uncommitted changes exist → prompt user to commit or stash first

  1. Detect current branch: git branch --show-current

- Store for use in Step 8 completion message

Step 1: Project Configuration Detection

1a: Detect Version Files

Scan the project root for version files. Check these common files first:

FileEcosystem
package.jsonNode.js
pyproject.tomlPython
Cargo.tomlRust
pubspec.yamlDart / Flutter
VERSIONUniversal

Also check for: pom.xml, build.gradle(.kts), *.gemspec, setup.py, setup.cfg, *.csproj, CMakeLists.txt.

For complete extraction and update patterns for each file type, see references/version-files.md.

If no version files are found, ask the user which file contains the version, or skip version file updates.

If multiple version files are found, all will be updated to maintain consistency.

1b: Discover CHANGELOG Files

Detect CHANGELOG files in the project root:

  1. Check if CHANGELOG.md exists — mark as primary (do NOT create yet; defer to Step 7)
  2. Glob for CHANGELOG-*.md and CHANGELOG.*.md to discover multilingual variants

Examples: CHANGELOG.zh-CN.md, CHANGELOG-ja.md, CHANGELOG.fr.md

All discovered CHANGELOG files will be updated.

Step 2: Get Last Version Tag

2a: Find Latest Semver Tag

Find the latest semver tag reachable from HEAD:

git tag -l 'v[0-9]*.[0-9]*.[0-9]*' --sort=-v:refname | head -1

This filters for vMAJOR.MINOR.PATCH pattern only, ignoring non-version tags (e.g. deploy-prod, build-123).

If no matching tags exist, also try without v prefix:

git tag -l '[0-9]*.[0-9]*.[0-9]*' --sort=-v:refname | head -1

Use v0.0.0 as baseline if no semver tags exist at all.

2b: Version Consistency Check

Compare the version from the latest git tag with versions found in version files (Step 1a).

  • If consistent → proceed with tag version as baseline
  • If mismatch → report discrepancy to user: Version mismatch detected: - Git tag: v1.2.0 - package.json: 1.3.0 Ask user which version to use as the baseline. Do not proceed silently.

Step 3: Analyze Commit History

Use the latest tag obtained in Step 2a as the range start:

git log v1.2.3..HEAD --pretty=format:"---commit---%n%s%n%b"

Parse both subject and body of each commit to identify type:

PatternLocationTypeVersion Impact
BREAKING CHANGE: in body/footerbodybreakingMAJOR
type(scope)!: (exclamation before colon)subjectbreakingMAJOR
feat: / feat(scope): / ✨ feat:subjectfeatMINOR
fix: / fix(scope): / 🐛 fix:subjectfixPATCH
perf: / perf(scope): / ⚡️ perf:subjectperfPATCH
refactor: / refactor(scope): / ♻️ refactor:subjectrefactorPATCH
docs: / 📝 docs:subjectdocsnone
chore: / 🔧 chore: / ⬆️ deps:subjectchorenone

If no commits found → inform user there are no changes since the last release. Ask whether to abort or force a release.

Step 4: Calculate New Version

User override: If $ARGUMENTS is a valid semver version (e.g. 1.0.0, 2.0.0-rc.1), use that version directly. Skip automatic calculation.

Based on current version MAJOR.MINOR.PATCH:

When MAJOR ≥ 1 (stable API):

  • Has breaking → (MAJOR+1).0.0
  • Has feat → MAJOR.(MINOR+1).0
  • Has fix/perf/refactor → MAJOR.MINOR.(PATCH+1)
  • Only docs/chore → Ask user whether to force patch release

When MAJOR = 0 (unstable / initial development):

  • Has breaking → 0.(MINOR+1).0 (not 1.0.0)
  • Has feat → 0.MINOR.(PATCH+1)
  • Has fix/perf/refactor → 0.MINOR.(PATCH+1)
  • Only docs/chore → Ask user whether to force patch release
  • Note: Ask user "Do you want to promote to 1.0.0?" if breaking changes detected

Pre-release versions (e.g. 1.0.0-rc.1) are only created via explicit user override.

Step 5: Generate CHANGELOG Content

Read [Unreleased] section from each detected CHANGELOG file.

Merge git analysis with existing [Unreleased] content:

  • Check for missing changes from git commits
  • Deduplicate by semantic meaning
  • Add missing changes to appropriate categories

Organize by category (include only non-empty categories):

### Added
- ✨ New feature

### Changed
- ♻️ Refactor/improvement
- ⚡️ Performance optimization
- ⚠️ 💥 Breaking change

### Deprecated
- Deprecated feature

### Removed
- 🗑️ Removed feature

### Fixed
- 🐛 Bug fix

### Security
- 🔒️ Security fix

For complete category mapping and translation rules, see references/changelog-categories.md.

Scope handling: If commits include scopes (e.g. feat(auth):), include the scope as context in the CHANGELOG entry where it aids readability:

  • feat(auth): add OAuth login✨ **auth**: Add OAuth login
  • If scope adds no value (e.g. generic scope), omit it.

Translation rules for multilingual CHANGELOGs:

  • Emoji prefixes — identical across all languages
  • Category headings — keep in English (### Added, etc.)
  • Entry descriptions — translate to the target language
  • Technical terms and proper nouns — preserve as-is

Step 6: Interactive Preview

Show user all planned changes:

## Release Preview

Current version: v1.5.1
New version: v1.6.0

### Version Files to Update
- package.json: 1.5.1 → 1.6.0
- pyproject.toml: 1.5.1 → 1.6.0

### CHANGELOG Files to Update
- CHANGELOG.md (English)
- CHANGELOG.zh-CN.md (Chinese)

### Changes (English)

## [1.6.0] - 2026-02-12

### Added
- ✨ Add release skill for automated versioning

### Changes (中文)

## [1.6.0] - 2026-02-12

### Added
- ✨ 添加 release 技能用于自动化版本发布

Confirm release? (y/n)

Use AskUserQuestion tool to request user confirmation.

Step 7: Execute Changes

After user confirmation, execute in order:

7a: Update Version Files

Modify version in ALL detected version files using file-specific update patterns from references/version-files.md.

7b: Update CHANGELOG Files

For each detected CHANGELOG file:

  • Move [Unreleased] content to new version section [x.y.z] - YYYY-MM-DD
  • Create new empty [Unreleased] section

If CHANGELOG.md does not exist, create it now with the new version section.

7c: Git Operations

Stage all version files and CHANGELOG files modified in Steps 7a–7b by name, then commit and tag:

git add package.json pyproject.toml CHANGELOG.md CHANGELOG.zh-CN.md
git commit -m "🔖 release: vX.Y.Z"
git tag -a vX.Y.Z -m "Release vX.Y.Z"

Replace the file list and version with actual values. Use annotated tag (-a) — includes author, date, and message. Required by git push --follow-tags and better supported by GitHub/GitLab Releases.

Failure Recovery

If git commit fails (e.g. pre-commit hook):

  1. Check what went wrong: git status
  2. All file modifications are still staged — fix the issue and create a new commit (do NOT use --amend)
  3. If the user wants to abort entirely, restore all modified files: git checkout -- package.json pyproject.toml CHANGELOG.md Replace the file list with the actual files modified in Steps 7a–7b.

If git tag fails (e.g. tag already exists):

  1. The commit has already been created — do NOT undo it
  2. Report the error to the user
  3. Suggest: git tag -d vX.Y.Z to remove the old tag, then retry

Step 8: Completion Message

Use the branch name detected in Step 0 and the publish command matching the detected ecosystem. Example:

Version vX.Y.Z released successfully!

Updated files:
- package.json (1.5.1 → 1.6.0)
- pyproject.toml (1.5.1 → 1.6.0)
- CHANGELOG.md
- CHANGELOG.zh-CN.md

Next steps:
- git push origin main --follow-tags
- npm publish

Replace branch name, version, file list, and publish command with actual values. Use --follow-tags to push commit and annotated tag in a single command.

Ecosystem-specific publish commands:

EcosystemPublish Command
Node.jsnpm publish / pnpm publish
Pythontwine upload dist/*
Rustcargo publish
Dart/Flutterdart pub publish / flutter pub publish
Java (Maven)mvn deploy
Java (Gradle)./gradlew publish
Rubygem push *.gem
.NETdotnet nuget push

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.32%
按下载量换算48

Claude

29.53%
按下载量换算39

Cursor

19.72%
按下载量换算26

Gemini CLI

9.57%
按下载量换算13

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills