一键导入
release
CB - Create a production release with changelog, version bump, PR, tag. Supports two-branch (dev->main) and single-branch (release branch->main) workflows.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
CB - Create a production release with changelog, version bump, PR, tag. Supports two-branch (dev->main) and single-branch (release branch->main) workflows.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
CB - WCAG 2.2 compliance patterns for web interfaces. Use when building or reviewing UI for accessibility — semantic HTML, ARIA, keyboard navigation, color contrast, motion safety, screen reader support, and automated testing. Complements ui-component-creator (structure), front-end-design (aesthetics), and mobile-friendly-design (responsive).
CB - Create and manage Bruno API collections. Use when building API requests, test suites, environments, or working with .bru files in api_tools/. Bruno is a Git-native, offline-first API client (Postman alternative).
CB - Post-implementation cleanup — rationalize docs, capture learnings, update project state
CB - Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
CB - Use when building responsive web interfaces that must work across phone, tablet, and desktop. Covers mobile navigation, touch-friendly interactions, responsive layouts, and mobile form patterns. Complements ui-component-creator (structure) and front-end-design (creative direction). Not for native mobile apps — responsive web only.
CB - Generate PR description, sync branch, push, and create/update PR
| name | release |
| description | CB - Create a production release with changelog, version bump, PR, tag. Supports two-branch (dev->main) and single-branch (release branch->main) workflows. |
| user-invocable | true |
You are tasked with creating a production release: changelog generation, version bump, PR, merge (with confirmation), and tag. Execute each step sequentially -- stop immediately if any step fails.
Optional: version bump type -- patch (default), minor, or major.
Use the gtk proxy for all git diff and git log commands (see gtk rule for details):
GTK=".claude/hooks/gtk/gtk-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')"
Run the preflight script to gather all context:
bash .claude/skills/release/preflight.sh <bump_type>
This gives you: workflow (single-branch/two-branch), prod_branch, dev_branch, current_version, next_version, commit_count, commit log, changelog files found, version files found, and whether a CI release workflow exists.
Check the preflight output and STOP if any of these are true:
dirty: true -- tell the user to commit or stash changes firstcommit_count: 0 -- nothing to releaseShow the user:
Ask for confirmation before proceeding. If the user says no, stop.
Two-branch:
git checkout <dev-branch>
git pull origin <dev-branch>
Single-branch:
git checkout <prod-branch>
git pull origin <prod-branch>
Look for existing changelog files (from preflight output). Read them first to understand the format and conventions used.
If a changelog exists: match its existing format, style, language, and level of detail.
If no changelog exists: create CHANGELOG.md in Keep a Changelog 1.1.0 format.
Group changes by parsing Conventional Commit prefixes:
| Commit prefix | Changelog section |
|---|---|
feat: / feat(scope): | Added |
fix: / fix(scope): | Fixed |
refactor:, docs:, perf:, style:, test: | Changed |
BREAKING CHANGE: in commit body | Breaking Changes (at the top) |
chore:, ci:, build: | Skipped -- not user-facing |
Rules:
feat(auth): Add login becomes Add login)Example:
## [1.3.0] - 2026-04-07
### Added
- User authentication via OAuth2
- Rate limiting on API endpoints
### Fixed
- Race condition in order processing
[1.3.0]: https://github.com/owner/repo/compare/v1.2.0...v1.3.0
From the preflight output, update any version files that were detected:
package.json / package-lock.json -> "version": "X.Y.Z"pyproject.toml -> version = "X.Y.Z"Cargo.toml -> version = "X.Y.Z"Only update files that already contain a version field. Do not create version files. Tags remain the source of truth.
Two-branch: commit on the dev branch:
git add <changelog-files> <version-files>
git commit -m "chore: Update changelog for vX.Y.Z"
Single-branch: create a release branch, commit there:
git checkout -b release/vX.Y.Z
git add <changelog-files> <version-files>
git commit -m "chore: Update changelog for vX.Y.Z"
Two-branch:
git push origin <dev-branch>
gh pr create --base <prod-branch> --head <dev-branch> --title "Release vX.Y.Z" --body "$(cat <<'EOF'
## Release vX.Y.Z
### Changes
<grouped bullet points from the changelog -- Added, Fixed, Changed, Breaking>
### Version bump
`vPREV` -> `vX.Y.Z` (<bump-type>)
EOF
)"
Single-branch:
git push -u origin release/vX.Y.Z
gh pr create --base <prod-branch> --head release/vX.Y.Z --title "Release vX.Y.Z" --body "$(cat <<'EOF'
## Release vX.Y.Z
### Changes
<grouped bullet points from the changelog -- Added, Fixed, Changed, Breaking>
### Version bump
`vPREV` -> `vX.Y.Z` (<bump-type>)
EOF
)"
If push fails due to branch protection: STOP and inform the user.
STOP and show the user:
Do NOT proceed until the user explicitly confirms. If the user says no, stop here -- the PR stays open for review.
Two-branch -- CRITICAL: never delete the development branch:
gh pr merge <number> --merge
Single-branch:
gh pr merge <number> --squash --delete-branch
Use --merge for two-branch (preserves commit history), --squash for single-branch (clean history).
If merge fails (branch protection, CI checks, merge conflicts): STOP and inform the user with the specific error.
git fetch origin <prod-branch>
git tag vX.Y.Z origin/<prod-branch>
git push origin vX.Y.Z
If tagging or pushing the tag fails after merge, inform the user with recovery steps:
The PR was merged but tagging failed. To recover manually:
git fetch origin <prod-branch>
git tag vX.Y.Z origin/<prod-branch>
git push origin vX.Y.Z
Two-branch:
git checkout <dev-branch>
git pull origin <dev-branch>
Single-branch:
git checkout <prod-branch>
git pull origin <prod-branch>
Show the user:
vX.Y.Z$GTK proxy git log --oneline -5 origin/<prod-branch> to confirm the staterelease_workflow: true from preflight, mention that GitHub Actions should trigger automatically from the tag push