ns-release

Drives the transactional npm release workflow for publishing the coordinated public package set.

2|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/nseng-ai/ns --skill ns-release-nseng-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ns-release
Source: https://github.com/nseng-ai/ns/tree/main/skills/internal/repository-operations/ns-release
Command: npx skills add https://github.com/nseng-ai/ns --skill ns-release-nseng-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Publishing a coordinated set of npm packages is risky: versions can drift, partial publishes leave ambiguous registry state, and interrupted releases are hard to recover. This Skill operates the repo's transactional release command end to end so version selection, candidate freezing, publishing, and verification happen as one journaled, resumable transaction. ## Core Features & Use Cases - Guided version selection: Derives the current version from the workspace manifest and npm, summarizes the changelog's [Unreleased] section, and requires explicit user confirmation before any release. - Transactional release execution: Runs just release-plan for read-only preflight, then just release to bump versions, qualify packages, freeze candidate tarballs, checkpoint via Graphite, publish, and verify against the registry. - Refusal and recovery handling: Interprets every refusal code via references/refusals.md, distinguishing pre-checkpoint failures (resettable with just release-reset) from post-checkpoint state (resume-only), and flags STOP conditions that must be escalated. - Use Case: A maintainer wants to ship the accumulated changes in [Unreleased]. The Skill proposes the next patch version, confirms it, runs the plan and release, answers the publish confirmation, and after verification hands off the Graphite checkpoint branch for landing. ## Quick Start Ask the agent to cut a new release of the public npm packages and let it propose the next version for your confirmation.

Frequently Asked Questions about ns-release

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

FAQPage Schema
How do I publish a coordinated set of npm packages from a monorepo?

Run just release-plan with a concrete semver to preflight, then just release with the same version. The transaction bumps versions, qualifies packages, freezes candidate tarballs, checkpoints via Graphite, publishes, and verifies hashes against the registry.

How do I recover an interrupted npm publish?

Rerun just release with the same version; the journaled report resumes automatically and skips packages already published with matching hashes. You must be on the release branch at the checkpoint commit with a clean worktree and unmodified candidate tarballs.

Can I unpublish or force a version that already exists on npm?

No. If npm already has the version with bytes differing from the frozen candidate, that version is permanently burned and can never be released from this repo. Pick a new version; never force or unpublish.

Why did my release fail with a refusal code?

Every refusal carries a code documented in references/refusals.md, and the correct action depends on the transaction stage recorded in report.json. Codes marked STOP, such as candidate-hash-mismatch or published-package-hash-mismatch, must be escalated rather than retried.

When should I use just release-reset instead of resuming?

Use just release-reset only for pre-checkpoint failures during version bump, qualification, or candidate preparation, starting with --dry-run to inspect the plan. Any checkpointed or publishing state, release branch, or npm write evidence means reset will refuse and you must resume instead.