changeset

A workflow for deciding which changed packages need release notes and what version increase each package should receive. A changeset is a file describing a package release.

In plain words
What is it for?
Use it to detect release candidates, choose patch, minor, or major version bumps, and create the corresponding .changeset files.
Why use it?
It turns detected package changes into confirmed version updates while accounting for how changes spread to dependent packages.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/daangn/seed-design/changeset
Any agent
npx skills add daangn/seed-design --skill changeset
Clone the repo
git clone --depth 1 https://github.com/daangn/seed-design

Made for: Claude Code, Codex.

Per session 48 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,486 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00048 $0.02486
Opus 5 $0.00024 $0.01243
Sonnet 5 $0.00010 $0.00497
Haiku 4.5 $0.00005 $0.00249

Measured 2d ago against content hash 218d814dbfc6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

changeset scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/changeset/SKILL.md · 106 lines

How it starts

The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Changeset

bun changeset이 감지한 변경 패키지를 후보로 삼아, 패키지별 bump를 사용자에게 확정받고, 확인 후 .changeset/*.md 파일을 작성한다.

SEED는 2.0부터 strict semver를 따른다 (breaking change는 major에서만). bump 결정은 references/version-matrix.md의 전파 매트릭스를 단일 기준으로 삼는다 — 한 패키지의 변경이 그것을 의존하는 패키지로 어떻게 전파되는지가 핵심이다.

실행 절차

Phase 1: 변경 패키지 감지 (후보 목록)

bun changeset CLI로 변경된(=릴리스 대상) 패키지 후보 목록을 얻는다. 이 CLI는 인터랙티브라 그냥 실행하면 입력을 기다리며 멈추므로, 백그라운드로 실행한 뒤 종료시키고 출력만 capture한다.

( bun changeset </dev/null >/tmp/changeset-detect.txt 2>&1 ) &
p=$!; sleep 4; kill "$p" 2>/dev/null; wait "$p" 2>/dev/null
# ANSI/커서 제어문자 제거 후 'changed packages' 섹션의 패키지명만 추출
perl -pe 's/\e\[[0-9;?]*[a-zA-Z]//g' /tmp/changeset-detect.txt \
  | sed -n '/changed packages/,/unchanged packages/p' \
  | grep -oE '@[a-z-]+/[a-z0-9-]+' | sort -u
  1. 추출된 changed packages후보 목록으로 삼는다. 포함 여부와 bump는 Phase 2에서 패키지별로 확정한다.
    • bun changesetprivate 패키지를 이미 제외하므로 따로 거를 필요 없다.
    • packages/archive/*는 버전을 올리지 않는다. 파일을 고치는 것은 괜찮지만 changeset에는 넣지 않는다. private이 아닌 것들이 있어 CLI 후보에 올라오므로 여기서 걸러야 한다. @seed-design/react-theming이 archive에 있어 이름만 보면 현역처럼 보이는 것이 함정이다.
    • grep 결과가 비거나 잘려 보이면 /tmp/changeset-detect.txt를 직접 읽어 changed packages 블록을 눈으로 확인한다 (긴 목록은 터미널 폭에 맞춰 잘려 보일 수 있다).
  2. 이미 존재하는 .changeset/*.md 파일을 읽어 이미 커버된 패키지가 있는지 확인한다.
    • 이미 커버된 패키지가 있다면 사용자에게 알리고, 추가 changeset이 필요한지 확인한다.

[!NOTE] CLI 목록은 .changeset/config.jsonbaseBranch(보통 dev) 기준이라, 현재 브랜치가 dev에 머지되지 않은 커밋들 위에 stacked되어 있으면 하위 커밋의 패키지까지 끌려와 부풀 수 있다. 이건 Phase 2에서 사용자가 안함(제외)으로 걸러내면 되므로, 여기서는 후보를 넓게 잡아도 된다.

Phase 2: 패키지별 bump 확정 (AskUserQuestion)

후보의 각 패키지마다 실제 변경 내용을 확인하고(git diff <패키지_경로> 또는 커밋 로그), references/version-matrix.md의 전파 매트릭스로 추천 bump를 정한 뒤, AskUserQuestion으로 사용자에게 패키지별 bump를 확정받는다.

  1. 전파 후보 확장: 한 패키지를 bump하면 그것을 의존하는 패키지도 매트릭스의 "2단계. 전파"대로 함께 후보에 올린다. css 소비자는 react 하나가 아니라 7개다 (react·stackflow·tailwind3-plugin·tailwind4-theme·vite-plugin·rsbuild-plugin·webpack-plugin) — 어느 게 해당하는지는 매트릭스의 "실제로 쓰는"의 판정 표로 가른다. headless가 오르면 react(dependency로 소비), react가 major면 figma(major 정렬). bun changeset이 stacked 등으로 못 잡은 dependent도 여기서 직접 추가한다.
  2. 패키지 1개당 질문 1개. 옵션은 major / minor / patch / 안함(제외) 4개.
    • 모델이 분석한 추천 타입을 **첫 번째 옵션으로 두고 라벨에 (추천)**을 붙인다. 판단 근거(매트릭스의 어느 행인지)는 옵션 description에 적는다.
    • 안함(제외)은 그 패키지를 changeset에서 빼는 선택지다. stacked로 딸려온 무관 패키지나 changeset이 불필요한 패키지에 사용한다.
  3. AskUserQuestion은 호출당 질문 4개까지 가능하므로, 후보가 5개 이상이면 4개씩 나눠 여러 번 호출한다.
  4. 안함으로 답한 패키지는 제외하고, 나머지를 확정 목록으로 삼는다.
    • 주의 (2.0): 공개 표면을 깨는 변경(공개 prop/API·recipe·slot·variant·토큰·공개 data attr 이름변경·삭제, headless breaking을 extend 등)은 **major**다. 1.x처럼 minor로 답하지 않는다.
    • 주의 (시각 변경): **의도적인 색상 값 변경·재디자인도 major**다. 이름이 그대로여도 소비자 화면이 달라지고, minor는 ^ 범위에서 자동 설치되므로 보호가 되지 않는다. 반대로 틀렸던 값을 고치는 것(대비 미달, 스펙 불일치)은 patch다. 관절은 "원래 틀렸었나 / 맞았는데 바꾸는 건가" 하나다.
    • 내부 배선(styling 전용 data-*, typography를 제외한 vars/component/*) 이동·삭제는 비공개라 breaking이 아니다(patch/minor). 판단이 헷갈리면 references/version-matrix.md로 확인한다.

Read the full file on GitHub · 106 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 106 lines · 48 tokens per session scan A 218d814dbfc6

Subscribe to this mod's changes

changeset is a skill published in the GitHub repository daangn/seed-design (1,074 stars, last pushed 2d ago), licensed Apache-2.0. It adds 48 tokens to every session and 2,486 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

omd:release-hygiene

오픈소스 릴리스 위생 루틴. 새 기능/스킬/에이전트를 추가했을 때 (1) 부산물(v1/v2 .bak, source, 로그, scratch dir)이 changeset에 없는지, (2) 문서(README/docs/home)가 동기화됐는지, (3) npm 배포 대상인지(skills/ + files vs .claude local-preview) 판단했는지 체크리스트로 강제. '릴리스 준비', '커밋 전 점검', 'push 전에 정리', '배포 위생', 'release hygiene' 류 트리거. husky pre-commit이 부산물 게이트를 자동 실행.

kwakseongjae/oh-my-design · 157 tokens

release-retrospective

Produce a structured look-back after a major release or deprecation — capturing what the plan got right, what it missed, and what to do differently. Trigger when someone says: release retrospective, post-release review, what went wrong with the release, how did the deprecation go, release post-mortem, retro on the…

murphytrueman/design-system-ops · 89 tokens

version-bump-advisor

Recommend the correct semver bump with reasoning and a generated changelog entry. Trigger when someone says: what version bump, is this a breaking change, semver recommendation, should this be major or minor, version this release, changelog entry, what kind of release is this, or anything about versioning a design…

murphytrueman/design-system-ops · 72 tokens

release

Release designer-skill-mcp to npm with a git tag and GitHub release. Use when the user asks to ship, publish, cut a release, bump version, push tags, or run npm publish for designer-skill-mcp.

PyModel/designer-skill · 50 tokens

changelog-writer

Write external-facing changelog and release note entries in a pithy, tastefully sassy, occasionally clever voice that makes software updates fun to read without burying what actually shipped. Use this skill whenever someone asks to write, draft, or review a changelog entry, release notes, "what's new" post, or product…

ommakes/Skills · 123 tokens

shipping-and-archiving

Use when the user says "done", "ship it", "finish", "complete", "archive", or otherwise indicates the current design is ready to be shipped. Runs final verification (Gate B), archives the CSpec, updates history, extracts a recipe when eligible, and cleans up temp files.

noemuch/bridge · 66 tokens