Claude-skill-registry generate-changeset
Generate a changeset file for the current changes following the changesets pattern used in the project.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/generate-changeset" ~/.claude/skills/majiayu000-claude-skill-registry-generate-changeset && rm -rf "$T"
manifest:
skills/data/generate-changeset/SKILL.mdsource content
Rule: Generating a Changeset
Goal
To guide an AI assistant in creating a changeset file that follows the @changesets/cli format. Changesets are markdown files with YAML frontmatter that describe what changed and will be used to generate changelogs and version bumps.
Process
-
Check for existing changesets: Look for a
directory in the project to confirm the project uses changesets. If it doesn't exist, inform the user that the project doesn't appear to use changesets..changeset -
Analyze existing changesets: Read 1-2 existing changeset files in
to understand the project's changeset pattern and style..changeset/ -
Determine packages to include:
- In a monorepo: Identify which package(s) were modified by checking
or analyzing the changesgit status - In a single-package repo: Use the package name from
package.json
- In a monorepo: Identify which package(s) were modified by checking
-
Generate changeset content:
- Create a markdown file with YAML frontmatter
- IMPORTANT: AI tools should ONLY generate
bump types, neverpatch
orminormajor - Write a single, clear sentence summary of the changes following the project's existing changeset style
-
Save the changeset:
- Generate a unique filename using the pattern:
(e.g.,[adjective]-[noun]-[verb].md
)happy-lions-jump.md - Save to
directory.changeset/ - Inform the user that the changeset has been created and should be committed with their changes
- Generate a unique filename using the pattern:
Changeset File Format
--- "package-name": patch --- Brief summary of the change in present tense
For monorepos with multiple packages:
--- "@scope/package-one": patch "@scope/package-two": patch --- Brief summary of the change
Rules
- ALWAYS use
for bump type - Never generatepatch
orminor
changesetsmajor - Follow existing style - Match the tone and format of existing changesets in the project
- Be concise - Keep the summary brief but informative
- Use present tense - Write summaries in present tense (e.g., "Fixes bug" not "Fixed bug")
- One changeset per logical change - If there are multiple unrelated changes, create multiple changesets
Example Changeset
--- "@myapp/ui": patch --- Fixes button hover state in dark mode The button component now correctly displays the hover state when the application is in dark mode. Previously, the hover state was using the light theme colors.
Output
- Format: Markdown with YAML frontmatter
- Location:
.changeset/ - Filename:
[adjective]-[noun]-[verb].md
Final Instructions
- Check if project uses changesets before generating
- Follow the project's existing changeset pattern
- Only use
bump typepatch - Generate a unique, descriptive filename
- Keep the summary clear and concise
- Remind user to commit the changeset file with their changes