Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

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.

AutomationAdvanced1197AI score 7/10Last updated: Aug 21, 2026

What it does

  • Drives releases of the moi-computer npm package. Default is a next dist-tag preview; passing stable cuts a latest release with a GitHub release entry.
  • Flow: preflight (clean tree, on main, in sync, record whether a global bun link is active) → pick the version → verify locally (lint, format check, tests, bun pm pack plus tarball inspection and secret scan) → ask the user → commit, tag, push.
  • Publishing never happens locally: npm publish and npm login are forbidden. The GitHub Actions workflow publishes via npm trusted publishing (OIDC), gated by a required reviewer on the release environment.
  • 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 and dist/).

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

  1. "Cut a dev preview" → reads current dist-tags, computes an X.Y.Z-next.N that sorts above latest, reports verification results, and only then pushes the tag.
  2. "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.
  3. 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)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download 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.

  1. Open a terminal and change into a working directory.
  2. Clone the repository: git clone https://github.com/molefrog/moi.git
  3. Create the skills directory: mkdir -p ~/.claude/skills
  4. Copy the skill in: cp -r moi/.agents/skills/publish-release ~/.claude/skills/
  5. This skill is specific to the moi repo, so run Claude Code from inside that checkout. (If you work in the repo itself, .agents/skills already ships it — no copying needed.)
  6. Prerequisites: bun, git, the GitHub CLI (verify with gh auth status), and approval rights on the release GitHub environment (no npm token required).
  7. In Claude Code, ask for "publish-release" or "publish-release stable" to start the flow.
View source on GitHubLicense: NOASSERTION