Nexus Release
SkillDev toolsCut a Nexus release — bump the version with the repo's own machinery, get the docs and generated sources right, push a tag the GitHub Actions workflow will actually pick up, and recover when it does not. Use when asked to release, publish, ship, cut a release, bump the version, or tag a version, and when a release workflow did not fire, failed its version guard, or produced the wrong assets.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Nexus Release skill
What this skill tells your AI
The instructions your AI receives, as published by profsynapse/nexus in .skills/nexus-release/SKILL.md and read by ahel’s review.
Context: a Nexus release is one artifact — a bare X.Y.Z git tag on main.
Everything downstream (installing, building, naming the release, uploading
main.js / manifest.json / styles.css, provenance attestation) is done by
<repo>/.github/workflows/release.yml from the tagged commit. You never build
the release; you make the tagged commit correct and then tag it.
Two consequences shape everything here. The tag is the point of no return — the workflow reads the tree as committed at that tag. And the workflow guards only three things, so everything else is on you.
Path convention: <repo>/… means relative to the Nexus repo root. Bare paths
(protocols/…, scripts/…) are inside this skill.
Workflow
-
Cutting a release → follow
protocols/cut-release.mdend to end, in order. Do not improvise the sequence: several steps only have any effect before the tag exists. -
Bringing user-facing docs in line (a phase of the above; also runnable on its own) →
protocols/doc-review.md. -
Before pushing any tag you MUST get a clean exit from the readiness check. It reproduces the workflow's own version guard locally, so a failure here is a failure you would otherwise discover after the tag exists:
python3 .claude/skills/nexus-release/scripts/check_release_ready.py --tag X.Y.Z(
--repodefaults to the repo root found by walking up from the working directory. Run--helpfor the flags; stdlib only, nonode_modules. If the mirror above is absent, the same file is at<repo>/.skills/nexus-release/scripts/check_release_ready.py.) -
The workflow did not run, failed its guard, or shipped the wrong assets →
protocols/recover.md. NEVER hand-create a release or hand-attach assets to fix it — that silently drops provenance attestation. -
After a release session →
protocols/self-refine.md.
Map
protocols/the how:cut-release.md,doc-review.md,recover.md,self-refine.md.references/the why, read on demand:release-machinery.md(what the workflow really does, what it guards, what it does not, and the build-order asymmetry that decides which generated file can ship stale),changelog-format.md(the conventions the changelog actually follows).scripts/check_release_ready.py— version consistency acrosspackage.json,manifest.json,versions.json, the lockfile and the tag.refinement-log.md— what past releases taught this skill.
Siblings
Do not duplicate these; call them.
| Need | Skill |
|---|---|
| Regenerate the tool catalog a release must ship current | nexus-tool-schemas |
| Choose a Jest lane, or debug a failing guidance/drift test | nexus-testing |
| Provider/model metadata that a release happens to include | nexus-model-updates |
| Mobile or plugin-store compliance of what is being shipped | nexus-mobile-compat |
Editing this skill
<repo>/.skills/ is the source of truth for this skill; .claude/skills/,
.codex/skills/ and .cline/skills/ are mirrors written by
npm run sync:skills. Edit the copy under <repo>/.skills/nexus-release/ and
re-run the sync. The mirror copy overwrites changed files but does not delete
extra ones, so editing a mirror leaves a half-reverted hybrid on the next sync.
Signals
- GitHub stars
- 153
- Forks
- 19
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
nexus-release- Source
- github.com/profsynapse/nexus