com um clique
create-changeset
// 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.
// 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.
| name | create-changeset |
| description | 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. |
| allowed-tools | Bash(git:*), Bash(pnpm:*), Read, Write |
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.
Automatically invoke this skill when:
Do NOT invoke when:
docs:, chore:, ci:, or test: types that don't affect packagesBefore creating a changeset, check if a changeset file already exists for the current changes:
.changeset/*.md files (excluding README.md)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.
git fetch --tags, then determine the latest release tag (git tag --list 'v*' --sort=-v:refname | head -n1).git log <latest-tag>..HEAD (or origin/main..<latest-tag> if needed) to verify there are commits to release.git log main..HEAD and explain why you're using the branch range.git diff <latest-tag>..HEAD) to inspect committed changes.apps/style/ and its build tooling, since @repo/style is the only changeset-published package.git log <latest-tag>..HEAD --oneline for Conventional Commit intents.apps/style/ if they clearly affect the generated CSS.Analyze commit messages following Conventional Commits 1.0.0 format:
BREAKING CHANGE in commit body, or breaking changes detected in code
feat: or feat(scope): - new features (backward compatible)
fix: or fix(scope): - bug fixes and minor improvements
chore:, docs:, ci:, test:) typically don't require changesets unless they affect package functionalityReview 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:
If all commits are types that don't require changesets (docs:, chore:, ci:, test:), exit early without creating a changeset.
Create a changeset file with a descriptive filename in .changeset/ directory.
Filename format:
.md extension.changeset/add-new-button.md, .changeset/fix-layout-bug.md, .changeset/update-icon-props.mdFile content format:
---
"@repo/package-name": major|minor|patch
---
Clear description of the change
Example for single package:
---
"@repo/style": minor
---
Add new Button variant for secondary actions
Example for multiple packages:
---
"@repo/style": minor
"@repo/docs": patch
---
- style: Add new Button variant for secondary actions
- dosc: Add new docs page for contributing
Important guidelines:
.changeset/add-secondary-button.md for a new feature and .changeset/fix-button-layout.md for a bug fix, even if both target the same packageDisplay the generated changeset for review:
Once verified, commit the changeset file:
git add .changeset/<filename>.md
git commit -m "chore: add changeset"