# Semantic Release Beta

> Set up or repair a Node.js release pipeline built on semantic-release-npm-github-publish, with a stable channel on main and a prerelease channel on a beta branch, including the GitHub Actions validation and npm publishing behaviour. Use when the user wants "semantic release set up", "a beta release channel", "prerelease publishing", "automated npm publishing", or when an npm package's releases are still manual and should become commit-driven. For writing the notes of a single release use changelog-generator.

- Skill: `oleg-koval/semantic-release-beta-2` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add oleg-koval/semantic-release-beta-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/oleg-koval/semantic-release-beta-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: MIT
- Author: oleg-koval (https://skillmd.com/u/oleg-koval)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/oleg-koval/semantic-release-beta-2

---

<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->

# semantic-release-beta

Use this skill when a project needs a reusable beta prerelease workflow with:

- `semantic-release`
- `semantic-release-npm-github-publish`
- GitHub Actions
- a stable `main` branch
- a prerelease `beta` branch
- npm publishing with `beta` prerelease versions
- changelog generation, GitHub releases, npm publishing, and release commits through the maintained preset

## Trigger phrases

- add a beta release workflow
- publish prereleases from a `beta` branch
- set up `semantic-release` with `main` and `beta`
- use `semantic-release-npm-github-publish`
- add release validation or dry-run checks in CI

## Workflow

1. Inspect the repository first.
2. Install or update `semantic-release`, `semantic-release-npm-github-publish`, and the peer plugins expected by the preset.
3. Configure the repo-local semantic-release file to extend `semantic-release-npm-github-publish` and set branches explicitly:
   - `main` for stable releases
   - `{ name: "beta", channel: "beta", prerelease: "beta" }` for prereleases
4. Add scripts if missing:
   - `semantic-release`: `semantic-release`
   - `release:dry-run`: `semantic-release --dry-run --no-ci`
5. Update GitHub Actions to test both `main` and `beta`, validate npm auth, and run release dry-run before real releases.
6. Preserve existing package manager and Node version policy unless the repo needs the preset's supported Node range.
7. Use repo-local plugin composition instead of this preset only when the project needs different plugins, different release rules, or full control over plugin upgrade timing.

## References

- `references/preset.md`
- `references/node-semantic-release.md`
- `references/github-actions.md`
- `references/validation.md`

