skills/clawpatch-release/SKILL.md
clawpatch release: version/changelog, CI, npm publish, GitHub release, verify.
npx skillsauth add steipete/agent-scripts clawpatch-releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Release ~/Projects/clawpatch as the public npm package clawpatch.
Use $npm and $one-password rules for registry auth. Keep all op and npm secret work inside one persistent tmux session and temp npmrc. Never print tokens, passwords, or OTPs.
Start clean on main.
cd ~/Projects/clawpatchgit status --short --branchgit pull --ff-onlygit tag --list "vX.Y.Z" and gh release view vX.Y.Z --repo openclaw/clawpatch.npm view clawpatch version dist-tags time --json.Prep release files.
package.json version to target.Unreleased to X.Y.Z - YYYY-MM-DD.pnpm install --lockfile-only; commit lockfile only if it actually changes.Prove locally before publishing.
pnpm typecheck && pnpm lint && pnpm format:check && pnpm test && pnpm build && pnpm pack:smoke.Commit and push release prep.
committer "chore(release): X.Y.Z" CHANGELOG.md package.json [pnpm-lock.yaml].git push origin main.gh run list --repo openclaw/clawpatch --branch main --commit <sha> --json databaseId,workflowName,status,conclusion,url,headShagh run view <run_id> --repo openclaw/clawpatch --json status,conclusion,url,jobsPublish npm.
npm whoami; if unauthenticated, use npm web login in the tmux session:
NPM_CONFIG_USERCONFIG="$tmp_npmrc" npm login --auth-type=web --registry=https://registry.npmjs.org/npmjs 1Password item inside the same tmux session.NPM_CONFIG_USERCONFIG="$tmp_npmrc" npm publish --access public --otp "$NPM_OTP".Verify npm before GitHub release.
npm view [email protected] version dist-tags dist.tarball dist.integrity time --jsonX.Y.Z, latest points to X.Y.Z, tarball URL exists, integrity exists, publish time exists.Tag and create GitHub release.
git tag -a vX.Y.Z <release_sha> -m "vX.Y.Z"git push origin vX.Y.Zgh release create vX.Y.Z --repo openclaw/clawpatch --title "vX.Y.Z" --notes-file "$notes"Release verify.
npm view [email protected] version dist-tags.latest dist.tarball dist.integrity time.X.Y.Z --jsongh release view vX.Y.Z --repo openclaw/clawpatch --json tagName,url,body,isDraft,isPrereleasegit rev-list -n1 vX.Y.Z.Post-release closeout.
CHANGELOG.md: ## X.Y.(Z+1) - Unreleased.committer "docs(changelog): open X.Y.(Z+1)" CHANGELOG.md.main.git checkout main && git pull --ff-only && git status --short --branch.npmjs fields only.gh comments/releases should use temp --body-file / --notes-file, not inline quoted bodies.tools
Claude Code-only work routing: delegate implementation, fixing, exploratory subagents, rebasing, and PR merging/landing to Codex CLI while Claude specifies, decides, reviews, and verifies. Direct hands-on delegation requires ANTHROPIC_BASE_URL to be unset or neither loopback nor gorillaclaw.sheep-coho.ts.net. Codex-backed autoreview is always allowed and preferred, independent of environment.
development
Codex 1M context: direct OpenAI Responses API inference, safe Sol/Terra/Luna input headroom, Keychain delivery, and Mac fleet rollout.
data-ai
Remote Macs: MacBook, Mac Studio, clawmac, megaclaw, Tailscale, SSH, OpenClaw.
development
REQUIRED before ANY `op` command or whenever a task needs an API key, token, password, credential, or secret (OPENAI_API_KEY, ANTHROPIC_API_KEY, deploy tokens, live-test keys). Prompt-free 1Password service-account reads; wrong invocations spam macOS dialogs.