ci-validation-gates

Validate semver, npm token types, and release events in GitHub Actions workflows.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill reduces CI/CD release failures caused by invalid semver tags, incorrect npm token types, missing retry handling for registry propagation, and workflows that accidentally run for draft releases or unintended version bumps.

Core Features & Use Cases

  • Semver Validation Gate: Validates tag versions before publish so npm never mangles unsupported formats like 4-part versions.
  • NPM Token Type Verification: Ensures CI uses an npm Automation token to avoid EOTP failures from user tokens requiring OTP.
  • Registry Propagation Retry Logic: Verifies the published package with multiple attempts to handle eventual consistency.
  • Draft Release Detection & Build Protection: Ensures workflows trigger only on published releases and guards release builds from unintended version mutation via build bump scripts.

Use case: You run an automated release pipeline where tags may be malformed and publish verification can intermittently fail; these gates help guarantee predictable, actionable outcomes before and after publishing.

Quick Start

Implement these validation gates in your GitHub Actions workflows so every release publish validates semver, confirms npm token suitability, retries verification after publish, and only proceeds for truly published (not draft) releases.

Frequently Asked Questions about ci-validation-gates

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

FAQPage Schema
How do I prevent npm publish failures from invalid semver tags in GitHub Actions?

Prevent npm publish failures by adding a semver validation gate in GitHub Actions to validate tag versions before publishing, ensuring npm never mangles unsupported formats like 4-part versions. This gate blocks invalid tags early in the CI/CD pipeline.

Why does my npm publish workflow fail with EOTP errors in CI?

npm publish workflows fail with EOTP errors when using user tokens that require OTP instead of automation tokens. Verifying npm token types ensures CI uses an npm Automation token to bypass OTP prompts and avoid release outages.

How do I verify npm package availability after publishing when the registry has propagation delays?

Verify npm package availability after publishing by implementing registry propagation retry logic. This performs multiple verification attempts to handle eventual consistency, ensuring the published package is actually visible before completing the release.

How do I stop GitHub Actions release workflows from running on draft releases?

Stop GitHub Actions release workflows from running on drafts by adding draft release detection. This gate ensures workflows trigger only on truly published releases, preventing unintended version bumps and accidental publishes.

How can I protect release builds from unintended version mutation in CI?

Protect release builds from unintended version mutation by using the SKIP_BUILD_BUMP flag. This prevents build bump scripts from altering package versions during the release process, maintaining predictable and actionable publish outcomes.

What are the best defensive gates for npm release pipelines in GitHub Actions?

The best defensive gates for npm release pipelines enforce semver correctness, confirm npm automation token requirements, retry post-publish verification, and detect draft releases. These validation gates collectively prevent outages from invalid versions and unreliable registry visibility.