releasing

Orchestrates gated lockstep releases of @metaobjectsdev npm packages with RC smoke tests and human confirmation.

1|Updated May 14, 2026
One-click install
npx skills add https://github.com/metaobjectsdev/metaobjects --skill releasing-metaobjectsdev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: releasing
Source: https://github.com/metaobjectsdev/metaobjects/tree/main/.claude/skills/releasing
Command: npx skills add https://github.com/metaobjectsdev/metaobjects --skill releasing-metaobjectsdev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Publishing npm packages is irreversible — versions are permanent and a bad publish cannot be undone. This Skill prevents the classic release disasters: shipping stale build output, publishing workspace-pinned dependencies that break consumers, promoting to latest without verification, and stranding a half-finished release. ## Core Features & Use Cases - Preflight gating: Verifies the release runs on merged, reviewed main with CI green on the exact release SHA, the target version is unpublished, and publish credentials actually work before any version bump. - RC-first publish flow: Bumps the lockstep package set to a release candidate, regenerates the bun lockfile, verifies packed tarballs pin siblings correctly, publishes to the next tag, and smoke-tests with both npm and pnpm in clean external directories. - Human-gated promotion: Stops for explicit confirmation before the irreversible promote-to-latest step, then handles tagging, changelog, RC deprecation, and version propagation across docs and websites. - Use Case: After merging a feature PR to main, ask the agent to "do a release of 0.11.6" and it walks every phase — preflight evidence, clean rebuild, RC publish, external smoke test, confirmation pause, promotion, and post-release verification. ## Quick Start Ask the agent to cut and publish release 0.11.6 of the @metaobjectsdev npm packages from merged main.

Frequently Asked Questions about releasing

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

FAQPage Schema
How do I publish a new version of the @metaobjectsdev npm packages?

Run the gated release workflow: verify preflight checks on merged main, clean-rebuild, bump the lockstep set to an RC version, publish to the next tag, smoke-test externally with npm and pnpm, then get human confirmation before promoting to latest.

Why does my published npm package fail to install with workspace:* errors?

This happens when using npm publish instead of bun publish, which ships the literal workspace:* protocol. It also occurs when the bun.lock file is not regenerated after a version bump, leaving siblings pinned to the previous version.

Can I skip the RC smoke test if tests pass locally?

No. Local green builds cannot catch publish-specific failures like misclassified devDependencies or stale lockfile pinning, because those only surface in a clean external install. The RC plus npm and pnpm smoke test is what proves the published artifact installs.

What happens if an npm release is only half-finished?

Every phase is idempotent, so a half-done release can be resumed safely. Before each action, check whether the version is already published, the tag exists, or the dist-tag is set, and skip completed steps since re-publishing an existing npm version fails by design.

Why can't I delete the next dist-tag after a release?

npm's bypass-2FA token restrictions block dist-tag deletion, returning 403 for both local and CI tokens. The workaround is repointing instead of deleting: use npm dist-tag add to move the next tag to the final version, which is not restricted.