release-process

Standardizes npm and GitHub releases with semver validation and automation checks.

209|27|Updated Mar 10, 2026
One-click install
npx skills add https://github.com/dotnet/maui-labs --skill release-process-dotnet
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: release-process
Source: https://github.com/dotnet/maui-labs/tree/main/src/Comet/.copilot/skills/release-process
Command: npx skills add https://github.com/dotnet/maui-labs --skill release-process-dotnet

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Prevents broken, inconsistent, or non-published npm releases by enforcing a single definitive release checklist with hard stop rules.

Core Features & Use Cases

  • Semver Guardrails: Ensures only 3-part semver or valid prerelease formats are used, preventing npm version mangling from invalid 4-part versions.
  • NPM Token Verification: Validates that NPM_TOKEN is an Automation token (not a 2FA user token) to avoid CI EOTP failures.
  • Branch/Tag Hygiene: Releases only from main with a clean working tree and avoids tag collisions.
  • Release Publish Certainty: Requires GitHub Releases to be published (not draft) so the publish workflow reliably triggers.
  • Post-Publish Verification & Smoke Tests: Confirms npm registry publication, correct latest dist-tags, and successful real-world installs for both SDK and CLI.
  • Rollback Playbook: Provides nuclear (unpublish), preferred (deprecate + hotfix), and GitHub/tag/revert recovery steps for broken releases.

Quick Start

Use the release-process runbook to prepare a new Squad release by validating semver, confirming NPM_TOKEN is an Automation token, bumping package versions in lockstep, tagging and publishing the GitHub Release (not draft), then verifying npm latest dist-tags and performing install smoke tests.

Frequently Asked Questions about release-process

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my npm publish fail in CI with an EOTP error?▼

npm publish fails with EOTP in CI when NPM_TOKEN is a granular access token with 2FA enabled instead of an Automation token. Revoke it and generate a new Automation type token to allow headless CI workflow publishing without interactive prompts.

How do I prevent invalid npm version mangling from 4-part semver formats?▼

To prevent npm version mangling, enforce strict semver validation that rejects 4-part versions and only accepts standard 3-part semver or valid prerelease formats before initiating a package version bump. This guardrail ensures clean registry metadata.

What's the best way to ensure a GitHub release triggers the publish workflow?▼

To ensure GitHub Actions publish workflows trigger, always create a published GitHub Release, never a draft. Draft releases do not emit webhook events, leaving the CI pipeline idle and preventing npm registry publication.

How do I verify a successful npm package release after CI completes?▼

Verify npm release success by checking the package registry publication status, confirming correct latest dist-tags, and executing real-world install smoke tests for both SDK and CLI packages to ensure the version is publicly accessible.

How do I rollback a broken npm package release?▼

Rollback a broken npm release by unpublishing if within the time window, or preferably deprecating the version and pushing a hotfix. Revert Git tags and GitHub releases to maintain repository state consistency.

Do I need a clean working tree on the main branch to publish a release?▼

Yes, branch hygiene requires releasing only from the main branch with a clean working tree and no tag collisions. This prevents merging unreviewed code into production and avoids Git reference conflicts during the release execution.