Publish Release (publish-release)
An end-to-end npm release runbook: local verification, tag push, approval-gated GitHub Actions publish, then post-publish verification and cleanup.
AutomationAdvanced★ 119⑂ 7AI score 7/10Last updated: Aug 21, 2026
What it does
- Drives releases of the
moi-computernpm package. Default is anextdist-tag preview; passingstablecuts alatestrelease with a GitHub release entry. - Flow: preflight (clean tree, on
main, in sync, record whether a globalbun linkis active) → pick the version → verify locally (lint, format check, tests,bun pm packplus tarball inspection and secret scan) → ask the user → commit, tag, push. - Publishing never happens locally:
npm publishandnpm loginare forbidden. The GitHub Actions workflow publishes via npm trusted publishing (OIDC), gated by a required reviewer on thereleaseenvironment. - After the run: confirm dist-tags moved as intended, check publish attestations/provenance, install the real published version and smoke it (
moi version,moi start, curl endpoints), then restore the dev environment (bun link, delete tarballs anddist/).
Who it's for
- Maintainers of the molefrog/moi repository who cut releases regularly.
- Anyone who wants a battle-tested template for a tag-triggered, human-approved release pipeline.
- Anyone studying how to write agent runbooks that spell out failure recovery and explicit prohibitions.
Examples
- "Cut a dev preview" → reads current dist-tags, computes an
X.Y.Z-next.Nthat sorts abovelatest, reports verification results, and only then pushes the tag. - "Ship 0.4.0 stable" → verify, tag, surface the GitHub approval link, watch the run, draft release notes per the product-language rules, and run
gh release create. - Rejected run or failing verify job → delete the tag locally and remotely so the same version can be reused, re-push, and restore the previous dev link state.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/molefrog/moi/HEAD/.agents/skills/publish-release/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the .agents/skills/publish-release folder from the GitHub repo molefrog/moi into my ~/.claude/skills/publish-release/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/molefrog/moi.git && mkdir -p ~/.claude/skills && cp -r moi/.agents/skills/publish-release ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and change into a working directory.
- Clone the repository:
git clone https://github.com/molefrog/moi.git - Create the skills directory:
mkdir -p ~/.claude/skills - Copy the skill in:
cp -r moi/.agents/skills/publish-release ~/.claude/skills/ - This skill is specific to the moi repo, so run Claude Code from inside that checkout. (If you work in the repo itself,
.agents/skillsalready ships it — no copying needed.) - Prerequisites:
bun,git, the GitHub CLI (verify withgh auth status), and approval rights on thereleaseGitHub environment (no npm token required). - In Claude Code, ask for "publish-release" or "publish-release stable" to start the flow.
View source on GitHub ↗License: NOASSERTION