with one click
release
Create a new Speed of Sound app release.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create a new Speed of Sound app release.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | release |
| description | Create a new Speed of Sound app release. |
| argument-hint | <version> (e.g. 0.7.0) |
| disable-model-invocation | true |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash(git *), Bash(gh *) |
Create a new release for Speed of Sound version $ARGUMENTS.
Release channels:
1.2.3-alpha.1): GitHub pre-release only.1.2.3-beta.1): GitHub pre-release + Snapcraft/Flathub beta channels.1.2.3): GitHub release + Snapcraft/Flathub stable channels.Follow these steps exactly:
Confirm the version argument looks like X.Y.Z (semantic version, no leading v).
Pre-release versions following the SemVer structure are also allowed, e.g. X.Y.Z-alpha.N or
X.Y.Z-beta.N. If not provided or invalid, stop and ask the user for the correct version.
Set RELEASE_VERSION = $ARGUMENTS.
git checkout main && git pull
git checkout -b release/v$ARGUMENTS
a. VERSION — set contents to exactly RELEASE_VERSION with a trailing newline.
(meson.build and build.gradle.kts both read from this file automatically.)
b. data/io.speedofsound.SpeedOfSound.metainfo.xml.in — add a new <release> entry inside <releases>, only for stable releases (i.e. versions without a pre-release suffix like -alpha.N or -beta.N). Skip this file entirely for pre-release versions.
To build the release notes:
git describe --tags --abbrev=0TAG_DATE=$(git for-each-ref --format='%(creatordate:short)' refs/tags/<previous-tag>)
gh pr list --state merged --base main \
--search "merged:>=$TAG_DATE" \
--json number,title,body --limit 50
<release> format.The entry must follow this exact format (see existing entries for reference):
<release version="RELEASE_VERSION" date="YYYY-MM-DD">
<url type="details">https://github.com/zugaldia/speedofsound/releases/tag/vRELEASE_VERSION</url>
<description>
<p>
User-facing summary here.
</p>
</description>
</release>
For stable releases:
git add VERSION data/io.speedofsound.SpeedOfSound.metainfo.xml.in
git commit -m "chore: release v$ARGUMENTS"
For pre-release versions (alpha/beta), omit the metainfo file:
git add VERSION
git commit -m "chore: release v$ARGUMENTS"
git push origin release/v$ARGUMENTS
gh pr create \
--base main \
--title "chore: release v$ARGUMENTS" \
--body "Release v$ARGUMENTS
- Updates \`VERSION\` to \`$ARGUMENTS\`
- Adds release notes to \`metainfo.xml.in\`"
Once the PR is merged to main, the release-dispatcher workflow runs automatically. It reads the VERSION file,
creates the v$ARGUMENTS tag if it doesn't already exist, and triggers the release-* workflows to build and
publish the releases. If the version contains alpha or beta, the GitHub release is automatically marked as a
pre-release.
Remind the user to:
If any step fails, do NOT retry blindly. Show the error to the user and ask how to proceed.