create-changeset
Skill173 starsChanged 6 months agoMITView on GitHub
Analyze git changes and create changesets for package releases. Use when preparing pull requests, creating PRs, when branch has commits ready for review, or when user mentions changeset or version bump.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- braintrustdata/braintrust-sdktheir own version, first seen Oct 8, 2026
- siemens/ixtheir own version, first seen Oct 8, 2026
- rjdellecese/confecttheir own version, first seen Oct 8, 2026
- LedgerHQ/ledger-livetheir own version, first seen Oct 8, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- LedgerHQ/ledger-live★ 627same name
- siemens/ix★ 390same name
- rjdellecese/confect★ 381same name
- braintrustdata/braintrust-sdk★ 30same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .agents/skills/vercel-composition-patterns/AGENTS.mdAGENTS.md
- .agents/skills/vercel-react-best-practices/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ai-sdkSkill
- turborepoSkill
- vercel-composition-patternsSkill
- vercel-react-best-practicesSkill
- web-design-guidelinesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 9 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Do NOT invoke when:
- Distinctive: line 23
Only documentation files have changed (README, .md files)
- Very specific: line 24
Only CI/CD configuration has changed (.github/workflows/)
- Distinctive: line 25
Only development tool configuration has changed (eslint, prettier, etc.)
- Distinctive: line 30
Before creating a changeset, check if a changeset file already exists for the current changes:
- Very specific: line 31
Look for .changeset/*.md files (excluding README.md)
- Distinctive: line 32
If exists, ask user: "A changeset already exists.
- Very specific: line 40
Run git fetch --tags, then determine the latest release tag (git tag --list 'v*' --sort=-v:refname | head -n1).
- Very specific: line 41
Use git log <latest-tag>..HEAD (or origin/main..<latest-tag> if needed) to verify there are commits to release.
- Distinctive: line 42
If no tags exist, fall back to git log main..HEAD and explain why you're using the branch range.
- Distinctive: line 43
Stop if there are no commits since the latest tag.
- Very specific: line 48
Keep the focus on apps/style/ and its build tooling, since @repo/style is the only changeset-published package.
- Very specific: line 50
Only mention files outside apps/style/ if they clearly affect the generated CSS.
- Distinctive: line 72
If the version bump is ambiguous or unclear:
- Distinctive: line 73
Ask user for clarification
- Very specific: line 77
If all commits are types that don't require changesets (docs:, chore:, ci:, test:), exit early without creating a changeset.
- Very specific: line 81
Create a changeset file with a descriptive filename in .changeset/ directory.
- Very specific: line 84
Use kebab-case with .md extension
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Create Changeset Skill
Purpose
This skill automatically analyzes branch changes and creates appropriate changesets for package releases in this monorepo. It examines git history, determines version bump types based on Conventional Commits, and generates properly formatted changeset files.
When to Invoke
Automatically invoke this skill when:
- User is preparing to create a pull request
- User mentions "PR", "pull request", or "ready for review"
- Branch has commits ready for review
- User explicitly mentions "changeset" or "version bump"
Do NOT invoke when:
- User is only pushing changes without creating a PR
- Only documentation files have changed (README, .md files)
- Only CI/CD configuration has changed (.github/workflows/)
- Only development tool configuration has changed (eslint, prettier, etc.)
- Commits are only
docs:,chore:,ci:, ortest:types that don't affect packages
Pre-execution Validation
Before creating a changeset, check if a changeset file already exists for the current changes:
- Look for
.changeset/*.mdfiles (excluding README.md) - If exists, ask user: "A changeset already exists. Create another one?"
Repository note: Only the
@repo/stylepackage currently publishes via changesets. No other workspace packages emit changeset-based releases, so focus analysis onapps/style/files and the surrounding tooling that affects it.
Implementation Steps
1. Check Current State
- Run
git fetch --tags, then determine the latest release tag (git tag --list 'v*' --sort=-v:refname | head -n1). - Use
git log <latest-tag>..HEAD(ororigin/main..<latest-tag>if needed) to verify there are commits to release. - If no tags exist, fall back to
git log main..HEADand explain why you're using the branch range. - Stop if there are no commits since the latest tag.
2. Analyze Changes
- Diff against the latest tag (
git diff <latest-tag>..HEAD) to inspect committed changes. - Keep the focus on
apps/style/and its build tooling, since@repo/styleis the only changeset-published package. - Summaries: use
git log <latest-tag>..HEAD --onelinefor Conventional Commit intents. - Only mention files outside
apps/style/if they clearly affect the generated CSS.
3. Determine Version Bump Type
Analyze commit messages following Conventional Commits 1.0.0 format:
- major: Contains
BREAKING CHANGEin commit body, or breaking changes detected in code- API signature changes
- Removed exports or features
- Incompatible behavior changes
- minor: Starts with
feat:orfeat(scope):- new features (backward compatible)- New components or functionality
- New props or options (with defaults)
- New exports
- patch: Starts with
fix:orfix(scope):- bug fixes and minor improvements- Bug fixes
- Performance improvements
- Minor style updates
- skip: Other types (
chore:,docs:,ci:,test:) typically don't require changesets unless they affect package functionality
Review actual code changes to confirm the appropriate version bump. When in doubt between minor and patch, prefer patch for safety.
If the version bump is ambiguous or unclear:
- Ask user for clarification
- Explain the reasoning behind the suggested bump type
- Allow user to override the suggestion
If all commits are types that don't require changesets (docs:, chore:, ci:, test:), exit early without creating a changeset.
4. Generate Changeset
Create a changeset file with a descriptive filename in .changeset/ directory.
Filename format:
- Use kebab-case with
.mdextension - Examples:
.changeset/add-new-button.md,.changeset/fix-layout-bug.md,.changeset/update-icon-props.md
File content format:
---
"@repo/package-name": major|minor|patch
---
Clear description of the changeExample for single package:
---
"@repo/style": minor
---
Add new Button variant for secondary actionsExample for multiple packages:
---
"@repo/style": minor
"@repo/docs": patch
---
- style: Add new Button variant for secondary actions
- dosc: Add new docs page for contributingImportant guidelines:
- The description should be user-friendly as it will appear in CHANGELOG
- Use the same language as the commit messages (Japanese or English). If commit messages are mixed, prefer Japanese.
- Split changesets into separate files when the same package has changes with different purposes (e.g., new feature + bug fix, breaking change + internal refactoring)
- This creates individual top-level items in release notes, making it easier for readers to understand the intent of each change
- Example: Create
.changeset/add-secondary-button.mdfor a new feature and.changeset/fix-button-layout.mdfor a bug fix, even if both target the same package
5. Verify and Commit
Display the generated changeset for review:
- Show the file path
- Show the file content
- Confirm it accurately reflects the changes
Once verified, commit the changeset file:
git add .changeset/<filename>.md
git commit -m "chore: add changeset"Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

