Changeset skill

SkillDocs & knowledge

Write a changeset that reads as a release note, with the right bump, a one-line summary, bullets for what changed, and a code example a user can copy. Use when adding a changeset, reviewing one, or deciding whether a change needs one.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Changeset skill skill

What this skill tells your AI

The instructions your AI receives, as published by stijnvanhulle/template in .agents/skills/changeset/SKILL.md and read by ahel’s review.

A changeset is the release note for a change. Whoever reads it is upgrading a package, not reviewing the diff.

1. Does the change need one

A change that reaches a versioned package does. Docs, CI, and tests do not. When you are not sure, check whether the package is in the workspace and not listed under ignore in .changeset/config.json, since private packages can be versioned too.

2. Pick the bump

BumpForExample
patchA fixThe resolver no longer caches a miss
minorNew behavior existing code survivesA new unionType option
majorA rename, a removal, or a changed defaultenumType now defaults to asConst

List only the packages you changed.

3. Write the file

.changeset/<slug>.md, named for whoever reads git log, so plugin-resolver-cache.md beats fix.md.

---
'@scope/core': minor
---

Add `unionType` so one type covers every variant of a discriminated schema.

- Accepts `unionType: 'asConst' | 'asLiteral'`, defaulting to `asConst`.
- Leaves output unchanged when the option is not set.

```typescript
// Before
export type PetDog = { type: 'dog'; bark: string }
export type PetCat = { type: 'cat'; meow: string }

// After
export type Pet = PetDog | PetCat
```

In order:

  1. One sentence saying what a user gets. It becomes the changelog headline, so it has to stand on its own.
  2. Bullets, one per user-visible change, verb first, naming the real option, export, or command. Five at most, and none for a one-line change.
  3. A code example whenever a user writes something differently, with before and after when you changed existing behavior.
  4. For a major, a closing line saying what to change to upgrade.

A patch is usually one line and no example:

---
'@scope/core': patch
---

Resolve nested plugin paths on Windows, which broke on a backslash separator.

Wording

  • Lead with what the user gets. Cut what only a reviewer needs.
  • Name real identifiers. "Various improvements" says nothing.
  • Leave out file paths, PR numbers, and reviewer talk. Changesets adds the commit link.
  • USA English, no emoji. Run the humanizer skill over the file.

Related skills

SkillUse for
prThe branch and PR the changeset ships in
changelogTurning released changesets into docs/changelog.md
humanizerAI tells in the summary

Signals

GitHub stars
34
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
changeset-stijnvanhulle
Source
github.com/stijnvanhulle/template