git clone https://github.com/ComeOnOliver/skillshub
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/TerminalSkills/skills/changesets" ~/.claude/skills/comeonoliver-skillshub-changesets && rm -rf "$T"
skills/TerminalSkills/skills/changesets/SKILL.mdChangesets
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
, select affected packages, choose the semver bump type (patch, minor, major), write a user-facing description, and commit the generatednpx changeset
file with the PR..changeset/xxx.md - When releasing versions, run
to consume pending changesets, bumpnpx changeset version
versions, updatepackage.json
per package, and handle dependency bumps automatically.CHANGELOG.md - When publishing, run
to publish changed packages to npm, create git tags, and skip unchanged packages.npx changeset publish - When automating with CI, use
in GitHub Actions to automatically create a "Version Packages" PR and publish on merge.changesets/action - When coordinating packages, use
for packages that must share the same version (CLI + SDK) andlinked
for monorepo-wide versioning.fixed - When testing pre-releases, use snapshot releases (
) for CI testing or pre-release mode (--snapshot preview
) forchangeset pre enter next
versions.-next.0
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
and run@changesets/cli
to createnpx changeset init.changeset/config.json - Configure
for PR links and author attribution@changesets/changelog-github - Add
to GitHub Actions for automatic "Version Packages" PR creationchangesets/action - 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
and select the core package withnpx changeset
bumpmajor - Write a description of the breaking change for the changelog
- Run
which bumps the core package and patches all dependentsnpx changeset version - 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
for packages that must stay in sync, such as CLI and SDK pairs.linked - Use snapshot releases for testing PRs since they publish
versions for CI testing.0.0.0-timestamp - Use
for open-source projects to include PR links and author attribution.@changesets/changelog-github - Keep
in the repo root as project configuration..changeset/config.json