← ClaudeAtlas

semantic-release-automationlisted

Automate versioning, changelog, tags, GitHub Releases, and npm publishing from Conventional Commits with semantic-release. Use when setting up or debugging automated releases, wiring a `.releaserc` / `release` config and the plugin pipeline (commit-analyzer, release-notes-generator, changelog, npm, git, github), making `main` cut a version on merge, generating CHANGELOG.md, publishing to npm or creating a GitHub Release per release, doing per-package releases in a monorepo (per-package tags + paths-filter matrix), pooling commits into a less-frequent release, or fixing a release that didn't fire / a CI loop from the release commit. Covers the single-package and monorepo flavors and the GitHub Actions workflow.
stealth-engine/skills · ★ 2 · AI & Automation · score 76
Install: claude install-skill stealth-engine/skills
# semantic-release automation [semantic-release](https://github.com/semantic-release/semantic-release) reads [Conventional Commits](../conventional-commits/SKILL.md), computes the next semver version, writes the changelog, tags, and **registers a GitHub Release** (and optionally publishes to npm) — all in CI, no manual version bumps. This skill is the tooling that consumes the commit format; read `conventional-commits` first for how the bump is decided. Copy-paste configs: [`templates/`](./templates) — a single-package config, a monorepo per-package config, and the GitHub Actions workflow. ## How a release happens 1. You merge a PR to `main` (squash; the **PR title** is the Conventional Commit). 2. The workflow runs `semantic-release`, which: - **commit-analyzer** → reads commits since the last tag, decides major/minor/patch (or no release). - **release-notes-generator** → builds the notes from those commits. - **changelog** → writes/updates `CHANGELOG.md`. - **npm** *(optional)* → bumps `package.json` and publishes to npm. - **git** → commits `CHANGELOG.md`/`package.json` back as `chore(release): X.Y.Z` (the version **tag** itself is created by semantic-release core, not this plugin). - **github** → creates the **GitHub Release** (the canonical record of what shipped). If no commit since the last release warrants a bump (only `chore`/`docs`/…), it does nothing — correct, not a failure. ### Outputs are à la carte — pick any subset Those six steps read