> changesets
Assists with managing versioning and changelogs in JavaScript/TypeScript monorepos using Changesets. Use when automating semantic versioning, generating changelogs from PRs, coordinating multi-package releases, or publishing to npm. Trigger words: changesets, versioning, changelog, npm publish, monorepo release, semver.
curl "https://skillshub.wtf/TerminalSkills/skills/changesets?format=md"Changesets
Overview
Changesets is a versioning and changelog management tool for JavaScript/TypeScript monorepos. Developers add changeset files describing their changes, then CI consumes them to bump package versions, generate changelogs, and publish to npm with coordinated releases across interdependent packages.
Instructions
- When adding a change, run
npx changeset, select affected packages, choose the semver bump type (patch, minor, major), write a user-facing description, and commit the generated.changeset/xxx.mdfile with the PR. - When releasing versions, run
npx changeset versionto consume pending changesets, bumppackage.jsonversions, updateCHANGELOG.mdper package, and handle dependency bumps automatically. - When publishing, run
npx changeset publishto publish changed packages to npm, create git tags, and skip unchanged packages. - When automating with CI, use
changesets/actionin GitHub Actions to automatically create a "Version Packages" PR and publish on merge. - When coordinating packages, use
linkedfor packages that must share the same version (CLI + SDK) andfixedfor monorepo-wide versioning. - When testing pre-releases, use snapshot releases (
--snapshot preview) for CI testing or pre-release mode (changeset pre enter next) for-next.0versions.
Examples
Example 1: Set up automated releases for a monorepo
User request: "Configure Changesets for automated versioning and publishing in my Turborepo monorepo"
Actions:
- Install
@changesets/cliand runnpx changeset initto create.changeset/config.json - Configure
@changesets/changelog-githubfor PR links and author attribution - Add
changesets/actionto GitHub Actions for automatic "Version Packages" PR creation - Set up CI check that requires a changeset file on PRs affecting published packages
Output: A monorepo with automated versioning, changelog generation, and npm publishing triggered by merging the version PR.
Example 2: Coordinate a breaking change across multiple packages
User request: "Release a major version bump for our core package and patch bumps for all dependents"
Actions:
- Run
npx changesetand select the core package withmajorbump - Write a description of the breaking change for the changelog
- Run
npx changeset versionwhich bumps the core package and patches all dependents - Review the generated changelogs and version bumps, then merge
Output: A coordinated release with a major bump on the core package and automatic patch bumps on all dependent packages.
Guidelines
- Require changesets on every PR that affects published packages and enforce with a CI check.
- Write changeset descriptions for users, not developers: "Fixed button hover state" not "Refactored CSS modules."
- Use
linkedfor packages that must stay in sync, such as CLI and SDK pairs. - Use snapshot releases for testing PRs since they publish
0.0.0-timestampversions for CI testing. - Use
@changesets/changelog-githubfor open-source projects to include PR links and author attribution. - Keep
.changeset/config.jsonin the repo root as project configuration.
> related_skills --same-repo
> zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
> zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
> xero-accounting
Integrate with the Xero accounting API to sync invoices, expenses, bank transactions, and contacts — and generate financial reports like P&L and balance sheet. Use when: connecting apps to Xero, automating bookkeeping workflows, syncing accounting data, or pulling financial reports programmatically.
> windsurf-rules
Configure Windsurf AI coding assistant with .windsurfrules and workspace rules. Use when: customizing Windsurf for a project, setting AI coding standards, creating team-shared Windsurf configurations, or tuning Cascade AI behavior.