Release a new Rome runtime image by pushing a `vX.Y.Z` tag — pick the version, verify main is releasable, push the tag, and confirm the image published to Docker Hub. Covers the `v*` runtime-image tag only, not the desktop app (`desktop-v*`) and not npm packages (`ui-v*`, `app-runtime-v*`).
SkillScore81Maintained
On-demandOn-demand: invoked explicitly — never occupies your agent's context until called.
◆DevOps & SRE pack
Last verified 10/10/2026
What it changes
Passed 17 of 21 test cases with the skill, and 5 of 21 without it.
Without skill24%
With skill81%
Checks it passed that the model alone missed
The response executes scripts/dev/create-patch-release-tag.sh.
The response creates the tag using git tag -a v1.1.0 origin/main.
The response pushes the tag using git push origin refs/tags/v1.1.0.
and 12 more in the full report
12 fixed5 passed either way4 still failing0 broke1 errored
Pass-rate lift
+57 pp
Tokens
-5%
Agent turns
0%
Response time
-59%
Model gemini-3.6-flashMeasured 10/10/2026v217 of 22 cases passed with skill · 21 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 12
Prompt
Once a newly deployed container instance of Rome is running, what HTTP endpoint provides the baked version and build information?
What was checked, without and with the skill
Checked
Without skill
With skill
The response identifies the build information endpoint as /api/build-info.
Missed
Passed
case-17 · gemini-3.6-flash · 10/10/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md89 linessingle file
Release a new Rome image
A pushed vX.Y.Z tag is the release. .github/workflows/docker-publish.yml builds the multi-arch image and publishes it to yunfanye/rome, with no approval gate between the push and Docker Hub. Get explicit confirmation before the push. Verify the published image after it.
The tagging contract covering the semver gate, tag immutability, and latest movement lives in docs/releases.md.
Out of scope
Desktop releases use the desktop-v* tag and a separate pipeline.
npm package releases belong to release-please. Never create those tags by hand.
1. Preflight
The tag lands on origin/main, and docker-publish.yml runs no CI gate of its own.
Find the run for the exact commit from step 1 and confirm the status is success. CI cancels superseded runs, so a rapid series of merges leaves cancelled runs on real commits. If the run failed, was cancelled, or is still running, stop and report it.
Confirm no release is already in flight.
gh run list --workflow "Docker Hub Publish" --limit 3