From changesets
Merge multiple changeset files in .changeset/ that share the same package-to-bump-type mapping. Combines content from matching changesets into a single file and removes the originals. Use to consolidate related changesets before release.
npx claudepluginhub savvy-web/systems --plugin changesetsThis skill uses the workspace's default tool permissions.
Before doing anything else, load the `format` skill via the Skill tool. It contains the complete list of valid section headings, structural rules, content depth tiers, and examples. Do not proceed until that skill is loaded.
Creates new Angular apps using Angular CLI with flags for routing, SSR, SCSS, prefixes, and AI config. Follows best practices for modern TypeScript/Angular development. Use when starting Angular projects.
Generates Angular code and provides architectural guidance for projects, components, services, reactivity with signals, forms, dependency injection, routing, SSR, ARIA accessibility, animations, Tailwind styling, testing, and CLI tooling.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Before doing anything else, load the format skill via the Skill tool. It contains the complete list of valid section headings, structural rules, content depth tiers, and examples. Do not proceed until that skill is loaded.
List all .md files in the .changeset/ directory. Exclude README.md. If no files are found, report "No changeset files found" and stop.
Read every discovered changeset file. For each file, extract the YAML frontmatter and build a normalized package-to-bump-type mapping. The mapping is the complete set of package name / bump type pairs in the frontmatter — order does not matter, but both the package names and the bump types must match exactly.
Two changesets can be merged only if they have identical package-to-bump-type mappings: every package name must be the same, and every corresponding bump type must be the same.
Examples:
"@savvy-web/foo": minor + "@savvy-web/foo": minor → can merge"@savvy-web/foo": minor + "@savvy-web/foo": patch → CANNOT merge (different bump type)"@savvy-web/foo": minor, "@savvy-web/bar": patch + "@savvy-web/foo": minor, "@savvy-web/bar": patch → can merge"@savvy-web/foo": minor, "@savvy-web/bar": patch + "@savvy-web/foo": minor → CANNOT merge (different package sets)Groups with only one changeset have nothing to merge — skip them.
For each group that has two or more changesets, show the user:
Ask the user to confirm or reject each merge group individually before writing anything. The user may approve all, reject all, or approve a subset.
For each approved merge group, combine the body content as follows:
## sections from every changeset in the group## section heading, merge their content under a single ## heading — do not repeat the heading### Sub-heading within a merged section to separate contributions that are distinct enough to warrant separation (e.g., different sub-features or independent bug fix descriptions); omit sub-headings when the items are homogeneous and read naturally together as a flat listformat skill to the merged result: no empty sections, no h1 headings, no preamble content, no heading depth skipsGenerate a new filename using the adjective-noun-verb pattern that @changesets/cli uses (e.g., brave-dogs-laugh, silver-cups-dream, lucky-cats-fly). The filename must be lowercase, hyphen-separated, and end in .md. Do not reuse any of the original filenames.
For each approved merge group:
.changeset/<generated-name>.md with the shared frontmatter and combined contentAfter completing all merges, report:
Do not commit.