release
Skill22 starsChanged 44 days agoMITView on GitHub
Cut a new Gravity release — pick the version, land the version-bump PR, tag it, watch the release workflow, and verify the DMG, the Windows installer, the gravityd tarball and any configured updater manifest were published. Use when someone asks to release, ship, cut, publish or tag a new version, bump the version, or when a `v*` release run needs monitoring or diagnosing.
- Commits and pushes
196 other projects use a version of this.
Adopted by
Most recently taken up by
- zxcvbn-ts/zxcvbntheir own version, first seen Nov 9, 2026
- TechbeeAT/jtxBoardtheir own version, first seen Nov 9, 2026
- ddnexus/pagytheir own version, first seen Nov 9, 2026
- zerx-lab/FluxDowntheir own version, first seen Nov 9, 2026
- orioledb/orioledbtheir own version, first seen Nov 9, 2026
- AmruthPillai/Reactive-Resumetheir own version, first seen Nov 8, 2026
Used with
Projects with it also use create-agent-adapter, changelog-style and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillcreate-agent-adapter
Technical guide for creating a new Paperclip agent adapter. Use when building a new adapter package, adding support for a new AI coding tool (e.g. a new CLI agent, API-based agent, or custom process), or when modifying the adapter system. Covers the required interfaces, module structure, registration points, and conventions derived from the existing claude-local and codex-local adapters.
Also in 5 projects that use this
GrinvSkillchangelog-style
Turn a commit range into CHANGELOG.md entries following common-changelog style. Use when finishing a PR or cutting a release, to write/fix the [Unreleased] section's entries — moving [Unreleased] under a new dated version heading is a separate, automated step (see the release skill / scripts/sync-version.ts), not this skill's job.
Also in 4 projects that use this
GrinvSkilldocs-consistency-check
Check README/manifest.json/server.json/CHANGELOG.md/AGENTS.md and docs/*.md for drift against the actual registered tools and source. Use after adding, renaming, or removing a tool, or as part of a live-audit pass.
Also in 4 projects that use this
Microsoft AzureSkillcomponent-release
Prepares a verifiable Agent Landing Zone UI release. Use for release branches, VERSION, changelog entries, tags, release notes, and compatibility evidence; never publish without explicit human approval.
Also in 4 projects that use this
Microsoft AzureSkilldocumentation-consistency
Keeps AI Landing Zone contributor, user, and operator documentation aligned with shipped Bicep behavior. Use for parameters, defaults, outputs, topology, deployment flow, operations, or releases.
Also in 8 projects that use this
rivet-devSkilllaunch-graphics
Generate agentOS marketing/launch graphics (launch & social heroes, code-snippet cards) from the committed generators in docs-internal/graphics. Use when asked to make, update, or render an agentOS launch image, social image, "agentOS Apps" graphic, or technical code-snippet image.
Also in 3 projects that use this
- +3 more from Grinv
Other versions196 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 196
- paperclipai/paperclip★ 112ksame name
- modelcontextprotocol/servers★ 92ksame name
- remotion-dev/remotion★ 72ksame name
- traefik/traefik★ 65ksame name
- usememos/memos★ 64ksame name
- tw93/Pake★ 63ksame name
- AmruthPillai/Reactive-Resume★ 45ksame name
- amruthpillai/reactive-resume★ 45ksame name
- reactive-resume/reactive-resume★ 45ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
186 more not listed
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 repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- bus-live-testSkill
- marketing-screenshotSkill
- terminal-perf-testSkill
- visual-regressionSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 186 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Verify the intended repository and existing publication authorization before pushing a tag.
- Distinctive: line 34
Look at what landed since the last tag — that is the whole changelog:
- Very specific: line 50
Never bump straight on main — it goes through a PR like any other change with a What/Why/How tested description.
- Very specific: line 63
Commit as chore(release): bump version to X.Y.Z, open the PR against main with the usual What/Why/How tested body and link the primary …
- Distinctive: line 68
Wait for all required PR checks, including visual and secret scanning.
- Distinctive: line 74
Create an annotated tag; use your configured signing identity if tag signing is enabled:
- Distinctive: line 152
Do not remove the old R2 custom domain or historical artifacts during recovery.
“Common” is measured: kept by at least 6 in 10 of the 186 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
Releasing Gravity
A release is an annotated v* tag on main; use the configured signing
identity for official tags. Pushing that tag runs
.github/workflows/release.yml. It builds the desktop app on GitHub-hosted
macOS ARM64 and Windows x64 runners in parallel, packages gravityd, and a
final job creates the GitHub release once both builds pass.
Signing, notarization and updater artifacts are configurable; see
docs/public-builds.md for the required variables and secrets. Verify that
configuration before releasing. For an existing distribution, preserve the
updater signing pair. When changing download endpoints, retain a compatibility
bridge for every endpoint embedded in existing installations.
Publishing latest.json makes configured running apps offer the update.
Verify the intended repository and existing publication authorization before
pushing a tag;
do not infer access to official signing credentials in a contributor fork.
The rule that governs everything here
The version lives in six files and the workflow refuses to build unless they
all agree with the tag. The Resolve version step compares the tag name
(minus v) against Cargo.toml, apps/desktop/src-tauri/Cargo.toml,
apps/desktop/package.json and apps/desktop/src-tauri/tauri.conf.json; the
two Cargo.lock files must follow or the build dirties them. The desktop crate
sits outside the root workspace, so nothing propagates a version for you.
1. Pick the version
Look at what landed since the last tag — that is the whole changelog:
git fetch origin --tags
git describe --tags --abbrev=0 origin/main
# Use that tag as <previous-tag>; if no tag exists, review origin/main in full.
git log <previous-tag>..origin/main --onelinePre-1.0, so: minor for anything user-visible — a new feature, a removed feature, a removed or renamed config key, a changed default. Patch only for fixes and internals nobody can observe. State the reasoning in the bump commit; that message is the release's rationale.
2. Land the bump PR
Never bump straight on main — it goes through a PR like any other change
with a What/Why/How tested description.
git switch -c release/vX.Y.Z origin/main
# edit the four manifests, then sync both lockfiles:
cargo update --workspace --offline
(cd apps/desktop/src-tauri && cargo update --workspace --offline)apps/desktop/pnpm-lock.yaml also contains a 0.11.0 — that is the
@xterm/addon-web-links dependency, not ours. Leave it.
Commit as chore(release): bump version to X.Y.Z, open the PR against main
with the usual What/Why/How tested body and link the primary GitHub issue (#123). Before
pushing, run pnpm run verify (typecheck, tests, lint, builds and visual checks).
Regenerate dependency notices with pnpm notices:generate when versions or
lockfiles change; follow third-party/README.md for the pinned toolchain.
Wait for all required PR checks, including visual and secret scanning.
Ask before merging unless the user already said to — merging is what makes
the tag possible.
3. Tag the merge commit
Create an annotated tag; use your configured signing identity if tag signing is enabled:
git fetch origin
git tag -a -m "Gravity X.Y.Z" vX.Y.Z <merge-commit-sha>
git push origin vX.Y.ZTag the actual merged commit on origin/main, not local HEAD, and
re-check the manifests in that commit first:
git show <sha>:Cargo.toml
git show <sha>:apps/desktop/src-tauri/Cargo.toml
git show <sha>:apps/desktop/package.json
git show <sha>:apps/desktop/src-tauri/tauri.conf.jsonA pushed tag uploads all assets to a draft GitHub release, then publishes it as latest. Existing R2 objects remain available, but new releases do not upload there.
4. Watch the run
gh run list --workflow release.yml --limit 3
gh run watch <run-id> --exit-status --interval 30Build and notarization times vary. gh run watch may stop on a transient
HTTP 404 from the jobs API — that says nothing about the run. Fall back to
polling in the background rather than assuming failure:
for i in $(seq 1 60); do
s=$(gh run view <run-id> --json status,conclusion -q '.status+" "+.conclusion')
case "$s" in completed*) echo "$s"; break;; esac
sleep 30
doneNotarize DMG is the long step — Apple's service, not the runner.
5. Verify the publish, don't trust the green check
gh release view vX.Y.Z --json name,url,assets
# Fetch the updater endpoint configured for this distribution, if enabled.Expect the DMG, the Windows x64-setup.exe and the gravityd tarball. With
updater signing enabled, also expect .app.tar.gz, the .sig for it and for
the Windows installer, and latest.json with darwin-aarch64 and
windows-x86_64 entries. Fetch the configured manifest and
confirm its version and GitHub artifact URL. Check the legacy manifest bridge
and website download redirect too, and verify updater signatures against the
existing public key. Keep the bridge for dormant installations.
Also check the release notes: the workflow appends a Gatekeeper/xattr
warning when notarization was unavailable. That is expected for builds without
Apple credentials; official notarized distributions should treat it as a failure.
Dry runs
workflow_dispatch on release.yml builds from tauri.conf.json's version
and only uploads artifacts to the run — no tag or GitHub release. Use
it to prove a build change before tagging.
When a release goes wrong
Recovery is normally forward: fix, bump to the next patch, and tag again. Do not delete or move a published tag or replace its signed archives — apps may already have the manifest. If a bad release is latest, select the previous verified GitHub release as latest to stop new clients discovering it. Point the legacy bridge at that same version-specific manifest if needed. This stops future update offers; it does not downgrade installed apps.
See apps/marketing/README.md for the bridge activation and rollback procedure.
Do not remove the old R2 custom domain or historical artifacts during recovery.
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.

