Back to Skills

version-release

Version release workflow — release process and GitHub Release notes (not docs/changelog pages).

81,197stars15,758forksUpdated 8/4/2026

Security Assessment

Safe(93/100)
Security Score93/100

About version-release

version-release documents the LobeHub version release workflow — the release branch/PR process, CI trigger rules, and GitHub Release note authoring. It solves the problem of running a consistent, automation-friendly release: development happens on the canary branch, which is merged into main, after which the auto-tag-release.yml workflow handles tagging, version bumping, GitHub Release creation, and syncing main back to canary. The skill acts as a router that delegates detailed steps to reference files. It is explicitly scoped away from writing website changelog pages (docs/changelog/*.mdx), which are handled by a separate docs-changelog skill.

It covers two practical release types — minor (feature iteration, ~every 4 weeks, strict PR title 'release: v{x.y.0}') and patch (weekly/hotfix/model/DB-migration, auto patch +1) — and documents the exact auto-release trigger priority: exact-version minor titles, branch-name matches (hotfix/*, release/*) or title-prefix matches for patch, and non-triggering prefixes (docs, chore, ci, test). Hard rules forbid manually editing package.json versions or creating tags (CI owns both). A strong theme is factual accuracy of release notes: PR numbers, compare bases, metrics, and contributor handles must all be derived from git and gh commands (git describe, git log, gh pr view) rather than memory, with a mandatory pre-publish verification step diffing body PR refs against the canonical computed set to prevent hallucinated references.

It targets LobeHub maintainers and release managers producing releases and GitHub Release notes. The commands it uses are standard, read-oriented git and gh operations for computing release facts.

FAQ

What is the branch and release flow?

Development happens on canary; releasing merges canary into main, after which auto-tag-release.yml automatically tags, bumps the version, creates a GitHub Release, and syncs main back to canary.

What triggers an automatic release?

A minor PR title 'release: v{x.y.z}' releases that exact version; patch releases trigger on hotfix/* or release/* branch names or on title prefixes like style, feat, fix, refactor, hotfix, or build. Prefixes like docs, chore, ci, and test do not trigger a release.

Should I edit package.json or create tags manually?

No. Hard rules state CI handles version bumps and tag creation; you must not edit the package.json version or create tags manually.

How does it prevent wrong PR numbers in release notes?

Every (#XXXX) reference and metric must be derived from git (git describe for the compare base, git log for PR refs and counts, gh pr view for author handles), and a mandatory pre-publish step diffs the body's PR refs against the canonical computed set — never from memory.

Does this skill write the website changelog?

No. It is scoped to the release process, CI trigger constraints, and GitHub Release notes; website changelog pages (docs/changelog/*.mdx) are handled by a separate docs-changelog skill.

All Files

8 files
references/changelog-example/db-migration.md1.7 KB
View
references/release-notes-style.md13.7 KB
View
references/minor-release.md1.7 KB
View
agents/openai.yaml0.0 KB
View
references/patch-release-scenarios.md4.1 KB
View
references/changelog-example/hotfix.md0.9 KB
View
SKILL.md4.4 KB
View
references/changelog-example/weekly-release.md3.6 KB
View

Install version-release

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

lobehub/lobehub