用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/rokartur/BetterCmdTab --skill release命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | release |
| description | Ship a BetterCmdTab release end to end. Use when the user wants a new version or beta published on GitHub. |
One command does the heavy lifting; this skill is the order of operations and the failure points around it.
Working tree clean on main, and the unit suite green:
xcodebuild -scheme "BetterCmdTab Debug" -destination 'platform=macOS' test
scripts/set_version.sh --show prints the current version. MAJOR tracks
the macOS year; tags are bare (26.4.3, 26.0-beta.1 — no v prefix on new
tags).
scripts/set_version.sh <version> # sets MARKETING_VERSION and auto-commits "chore: bump …"
Skip for betas — build_release.sh --beta derives the next beta.N from
existing GitHub tags itself.
Produce the release body with the release-changelog skill and save it to a
file (e.g. notes.md in the scratchpad). The body is the GitHub Release
description; its headings are parsed by build_release.sh, so the canonical
structure from that skill is mandatory.
--notes takes the notes text, not a path — pass the file through cat
or the literal filename becomes the release body:
scripts/build_release.sh --auto-release --notes "$(cat notes.md)" # stable
scripts/build_release.sh --beta --auto-release --notes "$(cat notes.md)" # beta (published as prerelease)
Step 0 is scripts/release_quality_gate.sh: a Release-configuration compile
that fails on high-risk concurrency/Sendable warnings, plus (stable only) the
localization audit — fix the reported issue, don't bypass the gate; it exists
so a known-bad build never burns an archive + notarization slot. Signing
needs the Developer ID Application: Artur Rok (N529W98U62) certificate and
the BetterCmdTabNotarization notarytool profile. Without them use
--skip-notarization (dev build only — it refuses --auto-release).
Artifacts land in build/release/. Each build stamps a fresh
CURRENT_PROJECT_VERSION (app target only); --skip-build-bump disables
that.
When not using --auto-release:
gh release create <tag> -R rokartur/BetterCmdTab \
--title "BetterCmdTab <version>" --notes-file notes.md # add --prerelease for betas
Complete when: the GitHub release exists with the notarized artifacts attached and the notes match the release-changelog format.