Version Release Workflow

SkillDocs & knowledge

Guides your agent through running a version release and writing GitHub Release notes.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Version Release Workflow skill

About this capability

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

What this skill tells your AI

The instructions your AI receives, as published by lobehub/lobehub in .agents/skills/version-release/SKILL.md and read by ahel’s review.

This skill is a router. The detailed steps live in references/.

Scope Boundary (Important)

This skill is only for:

  1. Release branch / PR workflow
  2. CI trigger constraints (auto-tag-release.yml)
  3. GitHub Release note writing

This skill is not for writing docs/changelog/*.mdx.
If the user asks for website changelog pages, load ../docs-changelog/SKILL.md.

Mandatory Companion Skill

For every /version-release execution, you MUST load and apply:

  • ../../../DESIGN.md (Voice & Content)

Overview

The primary development branch is canary. All day-to-day development happens on canary. When releasing, canary is merged into main. After merge, auto-tag-release.yml automatically handles tagging, version bumping, creating a GitHub Release, and syncing back to the canary branch.

Only two release types are used in practice (major releases are extremely rare and can be ignored):

TypeUse CaseFrequencySource BranchPR Title FormatVersionReference
MinorFeature iteration release~Every 4 weekscanary🚀 release: v{x.y.0}Manually setreferences/minor-release.md
PatchWeekly release / hotfix / model / DB migration~Weekly or as neededcanary or mainCustom (e.g. 🚀 release: 20260222)Auto patch +1references/patch-release-scenarios.md

For writing the release-note body (any release type), see references/release-notes-style.md.

Auto-Release Trigger Rules (auto-tag-release.yml)

After a PR is merged into main, CI determines whether to release based on the following priority:

1. Minor Release (Exact Version)

PR title matches 🚀 release: v{x.y.z} -> uses the version number from the title.

2. Patch Release (Auto patch +1)

Triggered by the following priority:

  • Branch name match: hotfix/* or release/* -> triggers directly (skips title detection)
  • Title prefix match: PRs with the following title prefixes will trigger:
    • style / 💄 style
    • feat / ✨ feat
    • fix / 🐛 fix
    • refactor / ♻️ refactor
    • hotfix / 🐛 hotfix / 🩹 hotfix
    • build / 👷 build

3. No Trigger

PRs that don't match any conditions above (e.g. docs, chore, ci, test) will not trigger a release when merged into main.

Post-Release Automated Actions

  1. Bump package.json — commits 🔖 chore(release): release version v{x.y.z} [skip ci]
  2. Create annotated tagv{x.y.z}
  3. Create GitHub Release
  4. Dispatch sync-main-to-canary — syncs main back to canary

Agent Action Guide

When the user requests a release:

Precheck (applies to all release types)

Before creating the release branch, verify the source branch:

  • Weekly Release (release/weekly-*): must branch from canary
  • All other release/hotfix branches: must branch from main; run git merge-base --is-ancestor main <branch> && echo OK
  • If the branch is based on the wrong source, recreate from the correct base

Routing

Pick the right reference and follow it end-to-end:

  • Minor releasereferences/minor-release.md
  • Patch release (weekly / hotfix / model launch / DB migration) → references/patch-release-scenarios.md
  • Writing the PR body / release notes (any release type) → references/release-notes-style.md

Hard Rules (apply to every release type)

  • Do NOT manually modify package.json version — CI handles it.
  • Do NOT manually create tags — CI handles them.
  • Minor PR title format is strict (🚀 release: v{x.y.z}).
  • Patch PRs do not need an explicit version number.
  • Keep release facts accurate; do not invent metrics or availability statements. Release-note inputs (compare base, PR refs, contributor list) must be derived from git per references/release-notes-style.md § Computing Inputs — never from memory or descriptions.

Signals

GitHub stars
82k
Forks
16k
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
version-release-lobehub
Source
github.com/lobehub/lobehub