muggle-works-npm-releaselisted
Install: claude install-skill multiplex-ai/muggle-ai-works
# Muggle Test Works — npm release (single playbook)
> Maintainer-only. Lives at `.claude/skills/` (mirrored to `.cursor/skills/`), not in the published plugin (`plugin/skills/`). Invokable as `/mrelease` while working in this repo; run `pnpm run link:maintainer-skills` to invoke it from any project.
Repo: **`multiplex-ai/muggle-ai-works`**. Workflow: **`.github/workflows/publish-works-to-npm.yml`** (“Publish Works to npm”). **Never** run local **`npm publish`** (OIDC trusted publishing in CI).
---
## Phase 1 — Ask bump type (do this first)
**Stop until the user answers.**
**Prefer `AskUserQuestion`** with exactly these three options: **major**, **minor**, **patch** (fix). If the environment has no structured question tool, ask the same in plain text:
> Is this release a **major**, **minor**, or **patch** (fix)?
You may **recommend** a bump from commit subjects (e.g. `feat!` / breaking → major, `feat` → minor, `fix` / `chore` → patch) but **do not** choose for them. **Do not** edit files yet.
---
## Phase 2 — Sync, surface state, empty-release gate
Run from **`muggle-ai-works`**:
```bash
git checkout master && git pull --ff-only && git fetch --tags
```
Show what is shipping:
```bash
node -e 'console.log("master package.json:", require("./package.json").version)'
npm view @muggleai/works version 2>&1 | sed 's/^/npm latest: /'
```
**Commits since the last release commit** (stop if there is nothing to ship):
```bash
LAST_RELEASE_SHA=$(git log --grep='chore(release