release-process

Guide npm package and GitHub release publication with semver and token checks.

2|Updated Apr 21, 2026
One-click install
npx skills add https://github.com/elbruno/md-to-slides --skill release-process-elbruno
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release-process
Source: https://github.com/elbruno/md-to-slides/tree/main/.copilot/skills/release-process
Command: npx skills add https://github.com/elbruno/md-to-slides --skill release-process-elbruno

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents broken semantic versions, misconfigured npm authentication, and unreleased draft GitHub releases by providing a definitive, step-by-step runbook for publishing packages reliably.

Core Features & Use Cases

  • Version validation guardrails: Enforces correct 3-part semver and allows only well-formed prerelease formats, stopping on invalid versions to avoid npm mangling.
  • NPM_TOKEN correctness checks: Verifies that NPM_TOKEN is an Automation token suitable for CI (avoids OTP/EOTP failures from user tokens).
  • Release execution and verification flow: Ensures releases are published (not drafts), waits for workflow completion, and confirms npm latest dist-tags and installability.
  • Operational recovery paths: Provides a manual publish fallback and a rollback procedure (deprecate/unpublish, delete GitHub release/tag, and revert version bump commit).

Quick Start

Use the release-process skill to validate your version, token, and branch state, then publish a non-draft GitHub release and confirm both npm packages (SDK and CLI) land on the correct latest dist-tag.

Frequently Asked Questions about release-process

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

FAQPage Schema
How do I publish an npm package from a multi-package repository safely?

To publish an npm package safely, enforce a strict release checklist that validates 3-part semver, uses an NPM Automation token for CI, and verifies the npm latest dist-tag and installability after the GitHub workflow completes.

Why does my npm publish fail in CI with an OTP or EOTP error?

npm publish fails in CI with OTP errors when using a user token instead of an Automation token. You must verify that your NPM_TOKEN is specifically an Automation token to avoid EOTP failures and ensure reliable automated publishing.

How do I validate semver versions before cutting a GitHub release?

To validate semver before cutting a GitHub release, enforce correct 3-part semantic versioning and allow only well-formed prerelease formats. This prevents npm version mangling and stops the release process if versions are invalid.

Do I need to publish a draft GitHub release or a published release for npm?

You need a published, non-draft GitHub release for npm publishing. The release process requires published GitHub releases to trigger workflows correctly, waiting for completion before confirming npm dist-tags and package installability.

What is the best way to manage npm dist-tag latest during a prerelease?

Managing npm dist-tag latest during prereleases requires verifying that both SDK and CLI packages land on the correct latest dist-tag. The release process confirms dist-tags and runs smoke installation tests to ensure stability.