From 2a3109085b70d652e1e93304aa55df7390e508ec Mon Sep 17 00:00:00 2001 From: Homa Wong Date: Wed, 27 May 2026 08:47:50 -0700 Subject: [PATCH] fix(add-changeset): trim token bloat (~20% reduction) --- skills/add-changeset/SKILL.md | 36 +---------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/skills/add-changeset/SKILL.md b/skills/add-changeset/SKILL.md index 9bc7d84..3bbc0b8 100644 --- a/skills/add-changeset/SKILL.md +++ b/skills/add-changeset/SKILL.md @@ -5,10 +5,6 @@ description: "Use this skill when a published-package change needs a changeset ( # Add Changeset -A changeset declares which packages are affected by a change, the semver bump type, and a user-facing summary. It lives as a markdown file in `.changeset/` and is consumed automatically by CI to version and publish packages. - -Also use when asked to add a changeset, run `add cs`, or when CI reports a missing changeset. Detects monorepos and selects affected packages automatically. - ## When to Add One **Add a changeset when the change:** @@ -112,29 +108,7 @@ Add `retry` option to fetch client. - For packages in a `fixed` group, list every package in the group with the same bump type - The body is the user-facing summary (see summary rules below) -**Summary rules** — the body appears verbatim in `CHANGELOG.md`: -- Imperative mood: "Add support for X" not "Added support for X" -- User-facing: describe the effect, not the implementation -- End with a period (`.`) -- Wrap code identifiers (component names, prop names, function names) in backticks -- One line is enough; add bullet points only for breaking changes that need migration steps -- No references to internal file names or commit SHAs - -Good: `Add \`retry\` option to fetch client.` -Bad: `Updated fetchClient.ts to handle retries in the error handler` - -**Breaking change example** — include migration steps in the body: - -```markdown ---- -"package-name": major ---- - -Remove deprecated `oldOption` config key. Use `newOption` instead. - -Migration: -- Replace `oldOption: true` with `newOption: true` -``` +**Summary** — appears verbatim in `CHANGELOG.md`: imperative mood, user-facing effect, ends with a period, code identifiers in backticks, no internal file names or commit SHAs. For breaking changes, add a `Migration:` bullet list. ### 5. Commit the changeset @@ -147,14 +121,6 @@ git commit -m "docs: add changeset" If staged or unstaged changes existed (scope cases 1 or 2), tell the user the changeset file has been created and let them include it in their own commit. -## What Happens Next (don't intervene) - -Once the changeset is merged to the base branch, the CI release workflow (`changesets/action`) will automatically: -1. Open or update a **"Version Packages"** PR that bumps `package.json` versions and updates `CHANGELOG.md` -2. When that PR is merged, publish to npm and create GitHub releases - -**Never manually edit `CHANGELOG.md`** — it is fully generated by `changeset version`. **Never add changesets to a "Version Packages" PR** — it will be overwritten. - ## Verification - [ ] File exists in `.changeset/` with a descriptive or slug filename