release

emmanuelchucks's avatarfrom emmanuelchucks

Release workflow for kasoa monorepo. Commit changes, create changeset, push, merge Version PR, verify npm publish.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 27, 2025

When & Why to Use This Skill

This Claude skill automates the end-to-end release workflow for monorepos using Changesets and npm. It streamlines the complex process of version management, changelog generation, and package publishing across both CI/CD pipelines and local environments, ensuring a standardized and error-free deployment cycle.

Use Cases

  • Automating versioning and changelog creation for multiple packages within a monorepo based on conventional commit history.
  • Streamlining secure npm publishing via CI/CD workflows using OIDC authentication and automated GitHub PR management.
  • Handling manual local releases including version bumping, building, and publishing with integrated OTP support and git tag synchronization.
  • Verifying successful package deployments and troubleshooting failed CI runs directly through the agent interface.
namerelease
descriptionRelease workflow for kasoa monorepo. Supports both CI and local publishing.

Release Workflow

Changesets + npm publishing. CI uses OIDC; local requires npm login + OTP.

Workflow

1. Commit code changes

Use conventional commits: fix(pkg), feat(pkg), chore:

2. Create changeset

Write .changeset/<name>.md:

---
"@kasoa/package-name": patch
---

Brief description

Semver (pre-1.0): patch for fixes/tweaks, minor for features/breaking.

3. Commit changeset

git add .changeset/<name>.md && git commit -m "chore: add changeset"

4. Publish

Via CI (recommended):

git pull --rebase && git push origin main

Wait for CI, then merge the Version PR:

gh pr merge <number> --rebase

Via local:

Requires: npm whoami (must be logged in)

pnpm changeset version   # versions + auto-commits
pnpm release             # builds + publishes (enter OTP when prompted)
git push origin main --follow-tags

5. Verify

npm view <package-name> version

Edge Cases

Multiple packages: List all in one changeset file.

Push rejected: git pull --rebase && git push origin main

CI fails: gh run view <run-id> --log-failed