agentleFS
siemenssiemens/ix/.agents/skills/create-changeset/SKILL.md

create-changeset

Skill390 starsChanged 35 days agoMITView on GitHub

Create IX changesets from a diff, changed file list, or PR summary. Use for selecting affected packages, choosing patch/minor/major, drafting .changeset markdown, adding release-note text, and confirming when a change is internal-only in the Siemens IX monorepo.

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

24 rules. 0 are common, 17 are distinctive, and 7 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 17

    Distinctive

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Follow-up checks for @since, accessibility coverage, storybook coverage, and linked issues when relevant.

    line 19
  2. Distinctive:

    Use the diff against main by default unless the user explicitly requests a different comparison base or range.

    line 32
  3. Distinctive:

    If impact is unclear, prefer adding a changeset or state exactly why one is not needed.

    line 57
  4. Distinctive:

    When multiple packages are affected, choose the level per package based on consumer impact, not on the number of modified files.

    line 65
  5. Very specific:

    Use @siemens/ix for core component, styling, token, theme, and behavior changes in packages/core.

    line 69
  6. Distinctive:

    Do not include unaffected wrapper packages only because generated files changed.

    line 72
  7. Distinctive:

    If not, stop and produce an internal-only justification instead of inventing a changeset.

    line 79
  8. Distinctive:

    If yes or unclear, identify the affected packages.

    line 80
  9. Distinctive:

    Create a separate changeset file for each affected library part so each package-level change can be reviewed independently before later …

    line 81
  10. Distinctive:

    Write the summary in release-note language that describes the outcome for consumers.

    line 83
  11. Very specific:

    If the release level is major and the change is breaking, also add or update a detailed migration note in the matching …

    line 86
  12. Very specific:

    Ensure the changeset summary mentions the breaking behavior at a high level, while BREAKING_CHANGES/v*.md contains the fuller explanation, …

    line 87
  13. Very specific:

    Create a unique file under .changeset/ with a short descriptive or generated unique name ending in .md.

    line 88
  14. Distinctive:

    Use this file shape:

    line 89
  15. Distinctive:

    If multiple packages are affected, prefer separate changeset files per library part instead of combining them into one frontmatter block, …

    line 99
  16. Very specific:

    If a new component, prop, method, or event was added, verify the related JSDoc @since tags against the next release implied by the chosen …

    line 100
  17. Distinctive:

    If the change affects component UI or interaction, check for axe coverage and storybook coverage.

    line 101
  18. Distinctive:

    Default to comparing against main when deriving the change unless the user requests another diff.

    line 106
  19. Distinctive:

    Prefer concise summaries focused on outcome, not implementation details.

    line 107
  20. Distinctive:

    Create one changeset file per affected library part by default.

    line 108
  21. Distinctive:

    Avoid listing packages that changed only indirectly through generation.

    line 110
  22. Distinctive:

    Do not create a changeset for internal-only work just to satisfy process.

    line 111
  23. Distinctive:

    When using this skill, return results in this structure:

    line 115
  24. Very specific:

    Follow-up checks: mention issue linking, @since, accessibility coverage, storybook coverage, and BREAKING_CHANGES/v*.md updates for major …

    line 122

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Create Changeset

What This Skill Produces

  • A decision on whether a changeset is required.
  • The affected package list.
  • The appropriate release level for each package.
  • A ready-to-write .changeset/*.md draft, or an explicit internal-only justification.
  • For major breaking changes, a reminder to update the matching BREAKING_CHANGES/v*.md file with migration details.
  • Follow-up checks for @since, accessibility coverage, storybook coverage, and linked issues when relevant.

When to Use

  • A change is ready for release-note evaluation.
  • You need to author a new .changeset entry from code changes.
  • A review found that a consumer-visible PR is missing a changeset.
  • You want a release-note-ready summary instead of a low-level implementation summary.
  • You need to confirm that a change is internal-only and does not need a changeset.

Inputs To Gather

  • Changed files, diff, or a concise PR summary.
  • Use the diff against main by default unless the user explicitly requests a different comparison base or range.
  • Any linked GitHub issue or Jira ticket.
  • Whether the change adds, removes, or modifies public API.
  • Whether consumer-visible behavior, styling, theming, accessibility, or usage documentation changed.

Decision Rules

A changeset is required when the change is relevant for end users or downstream consumers. Treat these as changeset-worthy unless the user clearly established that the change is internal-only:

  • Public API additions, removals, or behavior changes.
  • Component behavior changes.
  • Styling or theming changes that affect rendered output.
  • Accessibility changes.
  • Bug fixes that materially affect users.
  • Documentation changes that alter usage expectations.
  • Design token or theme changes.
  • Generated wrapper changes when the wrapper API or consumer experience changes.

A changeset is usually not required when the change is clearly internal-only and has no consumer impact, for example:

  • Refactors with unchanged behavior.
  • Test-only changes.
  • Tooling, CI, or build-only updates.
  • Documentation edits with no usage impact.

If impact is unclear, prefer adding a changeset or state exactly why one is not needed.

Release Level Guidance

  • patch: bug fixes, non-breaking styling fixes, accessibility fixes, or behavior corrections that do not add new API surface.
  • minor: new components, new props, methods, events, additive behavior, or new documented capabilities that are backward compatible.
  • major: breaking API changes, removals, incompatible behavior changes, or migrations consumers must perform.

When multiple packages are affected, choose the level per package based on consumer impact, not on the number of modified files.

Package Selection Guidance

  • Use @siemens/ix for core component, styling, token, theme, and behavior changes in packages/core.
  • Include @siemens/ix-react, @siemens/ix-angular, or @siemens/ix-vue only when the wrapper package has a consumer-visible API or behavior change.
  • Include @siemens/ix-aggrid or @siemens/ix-echarts only when those package outputs or public usage change.
  • Do not include unaffected wrapper packages only because generated files changed.

Procedure

  1. Inspect the diff against main by default, unless the user explicitly requests a different comparison target, and summarize the consumer-visible effect in one or two sentences.
  2. Classify the change as API, behavior, styling or theming, accessibility, documentation affecting usage, bug fix, or internal-only.
  3. Decide whether a downstream consumer would notice the change in release notes.
  4. If not, stop and produce an internal-only justification instead of inventing a changeset.
  5. If yes or unclear, identify the affected packages.
  6. Create a separate changeset file for each affected library part so each package-level change can be reviewed independently before later being combined into a single changelog entry.
  7. Choose patch, minor, or major for each affected package.
  8. Write the summary in release-note language that describes the outcome for consumers.
  9. Include Fixes #<issue-number> when the change resolves a linked GitHub issue.
  10. For breaking changes, add the migration expectation directly in the summary.
  11. If the release level is major and the change is breaking, also add or update a detailed migration note in the matching BREAKING_CHANGES/v*.md file for the target major version.
  12. Ensure the changeset summary mentions the breaking behavior at a high level, while BREAKING_CHANGES/v*.md contains the fuller explanation, impact, and migration guidance.
  13. Create a unique file under .changeset/ with a short descriptive or generated unique name ending in .md.
  14. Use this file shape:
---
'@siemens/ix': patch
---

Adjust the affected component so the consumer-visible behavior is applied consistently.
  1. If multiple packages are affected, prefer separate changeset files per library part instead of combining them into one frontmatter block, unless the user explicitly asks for a combined file.
  2. If a new component, prop, method, or event was added, verify the related JSDoc @since tags against the next release implied by the chosen release level.
  3. If the change affects component UI or interaction, check for axe coverage and storybook coverage.

File Authoring Notes

  • Any unique .md filename under .changeset/ is acceptable.
  • Default to comparing against main when deriving the change unless the user requests another diff.
  • Prefer concise summaries focused on outcome, not implementation details.
  • Create one changeset file per affected library part by default.
  • For major breaking changes, update both the changeset and the related BREAKING_CHANGES/v*.md file.
  • Avoid listing packages that changed only indirectly through generation.
  • Do not create a changeset for internal-only work just to satisfy process.

Output Format

When using this skill, return results in this structure:

  1. Changeset required: yes or no.
  2. Reason: one short explanation tied to consumer impact.
  3. Affected packages: explicit package list or none.
  4. Release level: patch, minor, major, or none.
  5. Draft changeset: proposed .changeset content or not needed.
  6. Follow-up checks: mention issue linking, @since, accessibility coverage, storybook coverage, and BREAKING_CHANGES/v*.md updates for major breaking changes when relevant.

Example Draft

Changeset required: yes
Reason: The fix changes the rendered component behavior that downstream consumers see.
Affected packages: @siemens/ix
Release level: patch
Draft changeset:

---

## '@siemens/ix': patch

Fix the affected component so the updated behavior is applied consistently for consumers.

Follow-up checks: Add `Fixes #1234` if applicable. Verify accessibility and storybook coverage for the updated state.

Example Prompts

  • Create a changeset for this PR. I changed a core component and its accessibility test.
  • Review these changed files and write the .changeset entry if one is needed.
  • I fixed a theming bug in packages/core and updated documentation. Create the changeset.
  • Tell me if this diff is internal-only or create the changeset draft for me.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.