Every change ships with a changeset. The bump level says what kind of change it is: `patch` for something that already existed and now behaves differently, `minor` for something that did not exist before, `major` only with the maintainer's explicit approval. Keep the description short and to the point, a list when it covers several things. Applies to every task that touches this repository, without being asked.
Scanned 9/20/2026
Install to Claude Code
npx -y skills add lxsmnsyc/overwander --skill changesets --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Changesets?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lxsmnsyc-changesets)More formats (shields.io, HTML) on the badges page.
---
name: changesets
description: >
Every change ships with a changeset. The bump level says what kind of change
it is: `patch` for something that already existed and now behaves differently,
`minor` for something that did not exist before, `major` only with the
maintainer's explicit approval. Keep the description short and to the point,
a list when it covers several things. Applies to every task that touches this
repository, without being asked.
---
This repository releases through [changesets](https://github.com/changesets/changesets). Writing one is part of finishing the work, not a step somebody has to ask for.
## What gets one
A changeset describes what changed **against `main`**, not what changed against
the last commit.
A branch often introduces something and then corrects it a few commits later.
Nobody reading `CHANGELOG.md` ever saw the broken version, so that correction
gets **no changeset of its own**. Amend the feature's own changeset instead, if
it now claims something untrue.
The test is one question: did the behaviour being fixed ever reach `main`? A fix
for something players have today, or anything `main` does not have at all, gets a
changeset as usual.
## The bump level
The question is not how big the change looks or how visible it is on screen. It is **whether the thing existed before**.
**`patch`.** Something that already existed now behaves differently. A bug fixed, a number retuned, a rendering path rewritten, a screen relaid, a performance win. All of these are `patch` however different the result looks. A rendering change that alters what a player sees is still a fix.
**`minor`.** Something exists now that did not exist before. A new weather, a new item, a new ability, a new NPC, a new screen, a new field on a record that callers can set. If a player or a developer could not have reached it yesterday and can today, it is `minor`.
**`major`.** Ask first. Never write one on your own judgement. Say what you think warrants it and let the maintainer decide.
The two questions are worth keeping separate, because a single change often does both. Adding a fourth rarest sky is `minor`; retuning the threshold that decides how often the existing three appear is `patch`. When one changeset covers both, take the higher of the two.
## The file
A markdown file in `.changeset/`, named in kebab-case as a short sentence about the change rather than as a ticket or a component: `held-rather-than-hovered.md`, `nests-wait-for-babies.md`, `four-corners-of-the-sky.md`.
```markdown
---
'overwander': minor
---
One line saying what is true now.
```
The package is always `overwander`.
## The prose
**Keep it short.** One line for one change. A changeset is a changelog entry, not a summary of the work: it says what is true now and stops. Resist explaining the reasoning, the trade-offs or what it replaced.
Where a change covers several things, use a list rather than paragraphs, one line each:
```markdown
---
'overwander': patch
---
- Evolution rows on a shiny catch sheet no longer show the ordinary coat.
- A gifted species nobody has met draws a silhouette instead of Missingno.
```
Write for someone reading `CHANGELOG.md`, not someone reading the diff. Name the behaviour, not the file or the function.
The repository's usual prose rules apply: **no em-dashes**, plain sentences, no build-up. Wrap around 80 columns like the files already there.
Where a change touches world generation, say so on its own line, because it changes what every existing player sees.
## Before concluding one is missing
The release step folds every changeset into `CHANGELOG.md` and empties `.changeset/`, so a directory holding only `README.md` and `config.json` does not mean the work went unrecorded. Check `CHANGELOG.md` before writing a second one for something already shipped.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!