verify-release
Skill59 starsChanged 16 days agoMITView on GitHub
Verify regular or extended-stable OpenClaw releases against the exact publication surfaces, workflow identities, package provenance, and published CLI smoke tests expected for that release track.
We split this skill into the rules it gives an agent
16 rules. 0 are common, 6 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 10 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use this when asked whether an OpenClaw release is fully released, published, promoted, smoke-tested, or live-verified.
- Distinctive: line 20
Verify live state. Do not trust local checkout state, release notes, or old memory as current truth.
- Very specific: line 22
If the checkout is dirty or divergent, use it only for scripts/reference.
- Very specific: line 26
Keep the final terse: yes/no, evidence bullets, caveats, cleanup.
- Distinctive: line 30
Use these checks only for the regular orchestrated release track.
- Very specific: line 56
Do not count raw publish flags: openclaw.build.bundledDist === true explicitly defers external publication even when publish flags are set.
- Distinctive: line 67
Check the Plugin ClawHub Release workflow conclusion and publish job count.
- Very specific: line 68
Use OpenClaw itself for live registry proof: openclaw plugins search <known-plugin> --json.
- Very specific: line 73
Prefer matrix unless that plugin is not in the expected set.
- Very specific: line 76
Verify conclusions for release notes evidence links: Full Release Validation, OpenClaw Release Checks, OpenClaw NPM Release, Plugin NPM …
- Very specific: line 114
Docker: verify exact default, slim, browser, and architecture images and attestations in both registries.
- Very specific: line 121
Recovery: never republish. Use promote_extended_stable in the openclaw/releases dist-tag workflow for the root selector (an unsuffixed …
- Distinctive: line 130
After the track-specific publication checks pass, use a disposable installation/cache with isolated OpenClaw state:
- Very specific: line 134
Run at least one harmless command that touches the published CLI surface, for example plugins --help or gateway --help.
- Distinctive: line 137
Do not start an extra local Gateway or run an ad hoc live model turn as a preliminary release check.
- Distinctive: line 140
Run additional manual live checks only when explicitly requested.
“Common” is measured: kept by at least 6 in 10 of the 10 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Verify Release
Use this when asked whether an OpenClaw release is fully released, published,
promoted, smoke-tested, or live-verified. This is a verification skill, not a
publish skill; use $release-openclaw-maintainer before changing release state.
Rules
- Resolve short suffixes like
.27to the concrete CalVer version from the current date/context, then say the resolved version. - Resolve the track first. Both tracks use the shared GitHub Release evidence ledger. Regular beta/stable also uses the platform graph; extended-stable uses its canonical branch, npm selector, and Gateway surfaces. Do not require one track's native or ClawHub artifacts from the other.
- Verify live state. Do not trust local checkout state, release notes, or old memory as current truth.
- If the checkout is dirty or divergent, use it only for scripts/reference.
For version metadata, fetch from GitHub release/tag or unpack the tag tarball
under
/tmp. - Never print secrets.
- Keep the final terse:
yes/no, evidence bullets, caveats, cleanup.
Regular beta/stable checks
Use these checks only for the regular orchestrated release track.
- GitHub release:
gh release view v<VERSION> --repo openclaw/openclaw --json tagName,name,publishedAt,isDraft,isPrerelease,targetCommitish,url,body,assets- Confirm stable releases are not draft/prerelease.
- Confirm release body has npm, CI, plugin npm, ClawHub, mac/appcast evidence links when expected.
- Confirm assets expected for stable mac releases are uploaded: zip, dmg, dSYM, dependency evidence, immutable full-validation manifest, postpublish evidence, and stable-main closeout manifest.
- Download each immutable evidence asset and its
.sha256companion, then verify the checksum before trusting the release record.
- Root npm:
npm view openclaw@<VERSION> version dist-tags.latest dist.tarball dist.integrity time.<VERSION> --jsonlatestmust equal<VERSION>for stable.- Record tarball, integrity, publish time.
- Confirm the release postpublish evidence records
npmRegistrySignaturesVerified: trueandnpmProvenanceAttestationMatched: true.
- Plugin publish set:
- Get exact tag metadata from GitHub, not the local checkout when dirty:
download
https://api.github.com/repos/openclaw/openclaw/tarball/v<VERSION>into/tmp/openclaw-v<VERSION>-src. - Derive the full expected npm and ClawHub package sets for the release track
with the canonical publication planners/collector from the recorded release
Tooling SHA, using the exact tag's package metadata.
Do not count raw publish flags:
openclaw.build.bundledDist === trueexplicitly defers external publication even when publish flags are set. Record deferred package names and reasons separately. - Reconcile expected package identities, versions, and counts across original
publication, previously published versions, and selected recovery runs using
immutable publication plans, registry readback, and workflow jobs. A selected
recovery subset must not narrow the full expected release set:
gh api repos/openclaw/openclaw/actions/runs/<RUN>/jobs --paginate. - Each expected npm plugin must have version
<VERSION>anddist-tags.latest === <VERSION>.
- Get exact tag metadata from GitHub, not the local checkout when dirty:
download
- ClawHub:
- Check the Plugin ClawHub Release workflow conclusion and publish job count.
- Use OpenClaw itself for live registry proof:
openclaw plugins search <known-plugin> --json. - Install one official plugin at the exact requested release version from
ClawHub in an isolated HOME:
openclaw plugins install clawhub:@openclaw/matrix@<VERSION>. Prefermatrixunless that plugin is not in the expected set. ClawHub versions belong in the spec;--pinis only supported for npm installs.
- Release workflows:
- Verify conclusions for release notes evidence links: Full Release Validation, OpenClaw Release Checks, OpenClaw NPM Release, Plugin NPM Release, Plugin ClawHub Release, mac preflight/validation/publish when stable mac assets are expected.
- For stable, verify
OpenClaw Stable Main Closeoutsucceeded and its manifest records the matching release tag, current rollback drill, stable soak, and blocking performance evidence. - Summarize only relevant successful/failed jobs; ignore routine skipped optional lanes unless the release body promised them.
Extended-stable checks
Extended-stable has a GitHub Release with shared release evidence but no native or ClawHub artifacts. Verify it alongside the live tag, workflow, registry, provenance, and image state.
- Identity: require final
v<VERSION>at patch33+, with no suffix, contained inextended-stable/YYYY.M.33. Only an active candidate must equal the tip. Root and every publishable official plugin must declare<VERSION>. Require the Git tag and a public, non-prerelease GitHub Release whose title and canonical body match the tag. RequireisLatest=false, the dependency evidence, immutable Full Release Validation manifest, postpublish evidence, and their checksums. Require no native or ClawHub assets. - Workflow chain: find the successful parent release run plus its
preflight, complete validation, plugin npm, and core publish children.
Require a protected
release-publish/*parent and canonicalrelease-ci/*validation producer with verified workflow SHA provenance. Validation must usererun_group=all,release_profile=stable, blocking soak/performance, and the saved attempt. Core publish must reference all three run IDs and bind its manifest, workflow ref, and tarball digest to the release SHA. - Registry: require exact and
extended-stableselectors to return<VERSION>for root, every preflightcorePackageTarballsentry, and everypublishToNpm === trueofficial plugin derived from the tag. Compare the plugin plan, jobs, and complete readback; never infer inventory from diffs. - Provenance: from trusted current tooling, run
node --import tsx scripts/openclaw-npm-postpublish-verify.ts <VERSION>. Require signatures, canonical-branch provenance, and publish/preflight digest binding to the release SHA. Preserve output and workflow URLs. - Docker: verify exact default, slim, browser, and architecture images and
attestations in both registries. Only the three
extended-stable*aliases may resolve to those digests. Require the successfulOpenClaw Release Publishparent run and its completed Docker verification. The normal route finalizes afterward; an explicitly requested fast path may activate GitHub first. Repair aliases through current-mainDocker Channel Promotionfor the exact tag, without rebuilding. - Recovery: never republish. Use
promote_extended_stablein theopenclaw/releasesdist-tag workflow for the root selector (an unsuffixed final patch33+) and approved credential-isolated tooling for others, then repeat complete readback. Do not require ClawHub, native/mobile apps, website, private dist-tags, or regularlatest. Require shared release evidence, but do not require regular native or ClawHub assets.
Published package smoke
After the track-specific publication checks pass, use a disposable installation/cache with isolated OpenClaw state:
npm exec --yes --package openclaw@<VERSION> -- openclaw --version.- Run at least one harmless command that touches the published CLI surface,
for example
plugins --helporgateway --help.
Do not start an extra local Gateway or run an ad hoc live model turn as a preliminary release check. Use the canonical release-validation workflows and publication evidence above; this does not remove any of their required lanes. Run additional manual live checks only when explicitly requested.
Caveats To Report
- Dist-tag caveat: stable
latestis release truth; if optionalbetamirrors still point at a beta version, report it as a caveat, not a stable-release blocker, unless the user asked to verify beta promotion. - Track caveat: name the track and intentionally absent surfaces. Do not call missing regular-release artifacts an extended-stable failure.
- Divergent checkout caveat: say when local source SHA differs from release tag or origin and which live sources were used instead.
Other versions16 projects use a version of this.
Word for word · 6
- steipete/warelay★ 394k100% same
- moltbot/clawdbot★ 394k100% same
- moltbot/moltbot★ 394k100% same
- clawdbot/clawdbot★ 394k100% same
- steipete/clawdis★ 394k100% same
- openclaw/openclaw★ 394k100% same
Edited · 5
- molt-bot/clawdbot★ 391k82% same
- friuns2/openclaw-android-assistant★ 57382% same
- OpenClawAndroid/openclaw-android-assistant★ 55682% same
- clawsouls/soulclaw★ 967% same
- supermansuper563-ops/openclaw-workbench★ 073% same
Wrote their own version · 5
- modelcontextprotocol/csharp-sdk★ 4.6ksame name
- illegalstudio/elephc★ 731same name
- duyet/clickhouse-monitoring★ 305same name
- lizTheDeveloper/shipping-skills★ 8same name
- bastyn-labs/bastyn-scan★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository107 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- extensions/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- test/AGENTS.mdAGENTS.md
- ui/AGENTS.mdAGENTS.md
- agent-transcriptSkill
- auto-qaSkill
- autoreviewSkill
- channel-message-flowsSkill
- clawdtributorSkill
- claw-scoreSkill
- clawsweeperSkill
- control-ui-e2eSkill
- crabboxSkill
- discord-clawdSkill
- discord-e2eSkill
- discord-user-postSkill
- discrawlSkill
- gitcrawlSkill
- graincrawlSkill
- notcrawlSkill
- openclaw-changelog-updateSkill
- openclaw-ci-limitsSkill
- openclaw-debuggingSkill
- openclaw-docker-e2e-authoringSkill
- openclaw-ghsa-maintainerSkill
- openclaw-live-updaterSkill
- openclaw-parallels-smokeSkill
- openclaw-pr-maintainerSkill
- openclaw-qa-testingSkill
- openclaw-refactor-docsSkill
- openclaw-release-validationSkill
- openclaw-repair-sweepSkill
- openclaw-secret-scanning-maintainerSkill
- openclaw-test-heap-leaksSkill
- openclaw-testingSkill
- openclaw-test-performanceSkill
- openclaw-updateSkill
- parallels-discord-roundtripSkill
- plugin-sdk-impactSkill
- proof-videoSkill
- prototype-openclaw-tuiSkill
- pr-simplifySkill
- release-openclaw-announcementSkill
- release-openclaw-ciSkill
- release-openclaw-macSkill
- release-openclaw-maintainerSkill
- release-openclaw-plugin-testingSkill
- security-triageSkill
- slack-e2eSkill
- slacrawlSkill
- solidSkill
- tag-duplicate-prs-issuesSkill
- technical-documentationSkill
- telegram-e2e-userbotSkill
- test-auditSkill
- update-team-serverSkill
- 1passwordSkill
- apple-notesSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

