ワンクリックで
prep-release
Prepare a new Mud release — bump version and draft release notes.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Prepare a new Mud release — bump version and draft release notes.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | prep-release |
| description | Prepare a new Mud release — bump version and draft release notes. |
| disable-model-invocation | true |
| argument-hint | <version> |
The user has invoked /prep-release $ARGUMENTS.
The argument is the new version number (e.g. 1.3.0). If no argument was
provided, ask for the version number before proceeding.
Mud.xcodeproj/project.pbxproj and find the current
MARKETING_VERSION. Confirm the new version is higher.Doc/RELEASES.md to make sure a section for this version doesn't
already exist.If any check fails, stop and explain.
Run .github/scripts/prep-release-version X.Y.Z from the project root. The
script updates MARKETING_VERSION across every build configuration in the
pbxproj and increments CURRENT_PROJECT_VERSION by one across every build
configuration. App Store and Direct distribution share a single monotonic
CFBundleVersion stream — Sparkle compares the new value against the installed
app's CFBundleVersion to decide whether to offer an update — so the build bump
runs unconditionally regardless of channel.
The script validates state before writing (version format, pbxproj presence, consistent current values, new marketing version strictly higher than the old). If any precondition fails, it exits non-zero with a message; surface the failure and stop.
After a successful run, verify the diff touches only the pbxproj and only the
MARKETING_VERSION / CURRENT_PROJECT_VERSION lines.
Gather context for writing release notes:
git log --oneline from the last version tag to HEAD.Doc/Plans/ that are marked Underway or
recently completed.Then draft a new section for Doc/RELEASES.md. Follow the existing style:
=== heading rule.## vX.Y.ZPresent the draft to the user for review. Incorporate any feedback.
Use AskUserQuestion to block while the user reviews the notes and renders the
HTML:
Question: "Review Doc/RELEASES.md, then run
.github/scripts/build-release-notes to render the HTML. Continue when
ready."
Header: "Finalize"
Options:
Done (description: "Notes reviewed and HTML rendered — commit, merge, and
tag.")Cancel (description: "I'll finish the remaining steps by hand.")On Done, run these commands in sequence. Stop and surface any error
instead of continuing past it:
git add Mud.xcodeproj/project.pbxproj Doc/RELEASES.md Site/releases/
git commit -m "VERSION: X.Y.Z."
BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ "$BRANCH" != "main" ]; then
git checkout main
git merge --ff-only "$BRANCH"
fi
git tag vX.Y.Z
Then tell the user (in chat) that everything local is ready, and to push with:
git push origin main vX.Y.Z
Do not run the push yourself — pushing the tag triggers the release workflow, which is a shared-state action the user authorizes explicitly.
On Cancel, instead print the list of remaining steps for the user to
perform:
Doc/RELEASES.md if needed..github/scripts/build-release-notes to render the HTML.VERSION: X.Y.Z..main (--ff-only preferred).vX.Y.Z.git push origin main vX.Y.Z to trigger the release workflow.