wip-release

One-command release pipeline. Bumps version, updates changelog + SKILL.md, publishes to npm + GitHub.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "wip-release" with this command: npx skills add Parker Todd Brooks/wip-release

wip-release

Local release pipeline. One command bumps version, updates all docs, publishes everywhere.

When to Use This Skill

Use wip-release for:

  • Releasing a new version of any @wipcomputer package
  • After merging a PR to main and you need to publish
  • Bumping version + changelog + SKILL.md in one step
  • Publishing alpha or beta prereleases for testing
  • Pushing hotfixes to npm without full deploy-public

Use --dry-run for:

  • Previewing what a release would do before committing

Use --no-publish for:

  • Bumping version and tagging without publishing to registries

Do NOT Use For

  • Repos without a package.json

Release Tracks

Four release tracks. Each has different behavior for npm tags, public repo sync, and release notes.

TrackCommandnpm tagPublic code syncPublic release notes
Alphawip-release alpha@alphaNoNo (opt in with --release-notes)
Betawip-release beta@betaNoYes, prerelease (opt out with --no-release-notes)
Hotfixwip-release hotfix@latestNoYes (opt out with --no-release-notes)
Stablewip-release patch/minor/major@latestYes (deploy-public)Yes, full notes

Version numbering

  • Alpha: 1.9.68-alpha.1, 1.9.68-alpha.2, etc.
  • Beta: 1.9.68-beta.1, 1.9.68-beta.2, etc.
  • Hotfix: normal version bump (patch)
  • Stable: normal version bump (patch/minor/major)

API Reference

CLI

# Stable (existing behavior)
wip-release patch                           # full pipeline
wip-release minor --dry-run                 # preview only
wip-release major --no-publish              # bump + tag only
wip-release patch --skip-product-check      # skip product docs gate

# Alpha
wip-release alpha                           # npm @alpha, no public notes
wip-release alpha --release-notes           # npm @alpha + prerelease notes on public

# Beta
wip-release beta                            # npm @beta + prerelease notes on public
wip-release beta --no-release-notes         # npm @beta, skip public notes

# Hotfix
wip-release hotfix                          # npm @latest + public release notes
wip-release hotfix --no-release-notes       # npm @latest, skip public notes

Product Docs Gate

wip-release checks that product docs (dev update, roadmap, readme-first) were updated before publishing. Only runs on repos with an ai/ directory.

  • patch: warns if product docs are stale (non-blocking)
  • minor/major: blocks release until product docs are updated
  • --skip-product-check: bypasses the gate

Checks:

  1. ai/dev-updates/ has a file modified since the last release tag
  2. ai/product/plans-prds/roadmap.md was modified since last release
  3. ai/product/readme-first-product.md was modified since last release

Skill Publish to Website

After publishing, wip-release auto-copies SKILL.md to your website as plain text. Any AI can fetch the URL and get clean install instructions.

Setup: Add .publish-skill.json to your repo root:

{ "name": "wip-my-tool", "websiteRepo": "/path/to/website-repo" }

How it works:

  1. If SKILL.md exists and a website repo is configured, copies SKILL.md to {website}/wip.computer/install/{name}.txt
  2. Runs deploy.sh in the website repo to push live
  3. Non-blocking: if deploy fails, the release still succeeds

Website repo resolution:

  1. .publish-skill.json websiteRepo field (per-repo)
  2. WIP_WEBSITE_REPO env var (global fallback)

Name resolution (first match wins):

  1. .publish-skill.json name field
  2. package.json name (with @scope/ prefix stripped)
  3. Directory name (with -private suffix stripped)

Module

import { release, releasePrerelease, releaseHotfix, detectCurrentVersion, bumpSemver, bumpPrerelease } from '@wipcomputer/wip-release';

// Stable release
await release({ repoPath: '.', level: 'patch', notes: 'fix', dryRun: false, noPublish: false });

// Alpha/beta prerelease
await releasePrerelease({ repoPath: '.', track: 'alpha', notes: 'testing', dryRun: false, noPublish: false, publishReleaseNotes: false });

// Hotfix
await releaseHotfix({ repoPath: '.', notes: 'critical fix', dryRun: false, noPublish: false, publishReleaseNotes: true });

Troubleshooting

"Could not fetch npm token from 1Password"

Check that ~/.openclaw/secrets/op-sa-token exists and op CLI is installed.

"Push failed"

Branch protection may prevent direct pushes. Make sure you're on main after merging a PR.

SKILL.md not updated

Only updates if the file has a YAML frontmatter version: field between --- markers.

MCP

Tools: release, release_status

Add to .mcp.json:

{
  "wip-release": {
    "command": "node",
    "args": ["/path/to/tools/wip-release/mcp-server.mjs"]
  }
}

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.