| name | changeset |
| description | Use when the user asks to create, generate, write, or apply a Changesets release note/version bump from current code changes (for example "make a changeset", "add a changeset", "apply changesets", or "version packages"). |
| metadata | {"version":"1.0.0"} |
Changeset
Use this skill to create and optionally apply Changesets based on the code changes in the current session.
What this skill does
- Detects what changed in the working tree.
- Maps changed files to affected packages in a monorepo or single-package repo.
- Proposes appropriate semver bump levels (
patch, minor, major) with rationale.
- Creates a changeset markdown file in
.changeset/.
- Applies pending changesets (
changeset version) when requested.
Preconditions
- Repository uses
@changesets/cli (or has an equivalent changeset script).
.changeset/ exists or can be created.
- The user requested changeset creation and/or application.
Safety rules
- Do not apply changesets unless the user asked to apply them.
- Do not invent package names; only use workspace package names found in
package.json files.
- Exclude private/internal packages unless the repo convention explicitly versions them.
- If bump type is ambiguous, default to
patch and explain why.
- Never include unrelated files or speculative release notes.
Workflow
- Inspect repo state:
git status --short
git diff --name-only (and staged diff when relevant)
- Detect package manager and scripts from root
package.json.
- Identify affected packages:
- For monorepos, map changed files to nearest package root.
- For single-package repos, use root package name.
- Decide bump level per package:
patch: bug fixes, internal refactors, non-breaking behavior changes.
minor: new backwards-compatible functionality.
major: breaking changes.
- Draft concise release note text focused on user impact.
- Create changeset file in
.changeset/*.md with frontmatter package bumps.
- If user asked to apply it, run one of:
pnpm changeset version
npm run changeset version (if script exists)
bunx changeset version
- Report exactly what was created/changed.
Changeset template
---
"@scope/package-a": minor
"@scope/package-b": patch
---
Short, concrete summary of what changed and why users should care.
Command selection
Prefer project-native tooling in this order:
- Existing script in
package.json (for example pnpm changeset, npm run changeset).
- Package-manager exec (
pnpm changeset, bunx changeset, npx changeset).
Output format
Return:
Affected Packages
Bump Decisions
Changeset File
Applied (yes/no, and command used)
Notes (ambiguities, assumptions, or follow-ups)