一键导入
add-changeset
Use this skill when a published-package change needs a changeset (monorepos supported).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use this skill when a published-package change needs a changeset (monorepos supported).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use this skill when setting up changesets, release CI, or migrating from another release tool.
Use this skill when auditing a SKILL.md for structure, quality, and security before installing or committing.
Use this skill when the user asks to create a new agent skill — scaffold, audit, and link into detected agents.
Use this skill when looking for curated skill recommendations from awesome lists, with exact install commands.
Merge pending dependency update PRs — Renovate, Dependabot, or manual bumps for packages, dev dependencies, and repository tooling. Use this skill when asked to 'merge pending PRs', 'land dependency updates', 'process dep PRs', or 'clean up the PR queue'. Diagnoses and fixes CI failures, handles changesets where required, and never merges release PRs.
Use this skill when contributing local improvements to an installed skill back to its source repo via PR.
| name | add-changeset |
| description | Use this skill when a published-package change needs a changeset (monorepos supported). |
Add a changeset when the change:
patch)minor)major)patch)Do nothing when:
ci:, chore:, test:, or an internal refactor with no API/behavior changeexamples/, docs/, or non-published packages (check private: true and "ignore" in .changeset/config.json)devDependenciesTell the user no changeset is needed and why.
# Confirm changesets is initialized
ls .changeset/config.json
Read .changeset/config.json to find:
"fixed" — packages that share the exact same version; bumping one bumps all"linked" — packages that share the highest bump type but keep independent versions"ignore" — packages excluded from versioning"access" — "public" means scoped packages publish publiclyFirst, determine which changes to look at:
# Check for staged changes
git diff --cached --name-only
# Check for unstaged changes
git diff --name-only
Scope selection rules (in priority order):
git diff --cached --name-onlygit diff --name-onlygit diff --name-only origin/main...HEADIn a monorepo (has pnpm-workspace.yaml, workspaces in root package.json, or bun.workspace.ts), map changed files to their owning package (find nearest package.json above each changed file). Apply fixed group rules: if any package in a fixed group is affected, all are.
In a single-package repo, the root package is always the affected package.
When scope is no local changes (case 3), also read recent commits for context:
# Commits on this branch not yet on base
git log origin/main..HEAD --oneline
Parse conventional commit prefixes to inform bump type and summary:
| Prefix | Implication |
|---|---|
feat: / feat(scope): | at least minor |
fix: / fix(scope): | at least patch |
BREAKING CHANGE: footer or ! after type | major |
chore:, ci:, test:, docs: | no changeset needed |
Use the commit message body / subject as a starting point for the changeset summary, rewritten to be user-facing (imperative mood, no implementation details).
| Change type | Bump |
|---|---|
| Removes or renames public API, breaks existing usage | major |
| Adds new exported function, class, option, or command | minor |
| Bug fix, internal refactor, dependency update | patch |
Pre-1.0 rule: For packages on
0.x, useminorfor breaking changes — this is standard semver for pre-release packages. Only assignmajorto packages at1.0.0or higher.
When unsure between minor and patch, ask the user.
Choose a descriptive kebab-case filename that reflects the change (e.g. fix-button-accessibility.md, add-retry-option.md). Fall back to a random two-word slug (adjective + animal, e.g. fuzzy-wolves) when no obvious name fits or to avoid a conflict. Do not use the changeset CLI — write the file directly.
---
"package-name": patch
---
Add `retry` option to fetch client.
.changeset/<name>.md"<name>": <major|minor|patch>fixed group, list every package in the group with the same bump typeSummary — 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.
Only commit the changeset automatically when there were no local changes at the start (scope case 3 — branch diff). In that case:
git add .changeset/
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.
.changeset/ with a descriptive or slug filenamefixed group are included together