← ClaudeAtlas

muggle-works-npm-releaselisted

Cut @muggleai/works release: AskUserQuestion (major/minor/patch), sync master, stop if nothing ships, semver baseline + Electron from GitHub, confirm plan, bump package.json + sync:versions, full local verify, chore(release) PR, merge via gh, dispatch publish-works-to-npm.yml—no local npm publish.
multiplex-ai/muggle-ai-works · ★ 16 · AI & Automation · score 63
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