Agent skill

Change Communication

by murphytrueman in murphytrueman/design-system-ops

Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact.

MITAuto-check passedDevelopment

Install Change Communication

skills CLI
$ npx skills add murphytrueman/design-system-ops --skill change-communication -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install murphytrueman/design-system-ops change-communication --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/change-communication .claude/skills/change-communication && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
change-communication
GitHub stars
203
Token cost
~3.4k tokens
SKILL.md length
1,765 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact.

  • Works in 4 steps: Classify the change → Produce the communication package → Choose the channels → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers Before you begin: verify…, Context, Boundaries and Step 1: Classify the change, plus 5 more sections
  • Calls npx and git

What it does

Change Communication is an agent skill from murphytrueman/design-system-ops. Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact. Triggers: release notes, announce this change, tell teams about a breaking change. Semver call: version-bump-advisor. Deprecation plan: deprecation-process.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes, Design systems and Code migrations. The repository describes itself as: Claude Code skills for the work that keeps a design system alive. The licence is MIT.

When your agent uses it

  • Tasks that involve Changelog and release notes
  • Tasks that involve Design systems
  • Tasks that involve Code migrations

Example prompts

  • “/change-communication”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Write, Grep, Glob, Bash(cat:*), Bash(ls:*), Bash(git log:*), Bash(git tag:*)

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Classify the change
  2. Produce the communication package
  3. Choose the channels
  4. Set a follow-up

What it can do on your machine

Read from SKILL.md and the folder at commit f167898. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Grep
    • Glob
    • Bash(cat:*)
    • Bash(ls:*)
    • Bash(git log:*)
    • Bash(git tag:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Change Communication loads about 3.4k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 1,765 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~79
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from murphytrueman/design-system-ops at commit f167898, republished under its MIT licence (© murphytrueman). 1,765 words, ~3,354 tokens.

Download SKILL.mdSave it as .claude/skills/change-communication/SKILL.md (or your agent's skills folder).
name
change-communication
description
Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact. Triggers: release notes, announce this change, tell teams about a breaking change. Semver call: version-bump-advisor. Deprecation plan: deprecation-process.
allowed-tools
Read, Write, Grep, Glob, Bash(cat:*), Bash(ls:*), Bash(git log:*), Bash(git tag:*)
references
../../knowledge-notes/output-discipline.md

Change communication

A skill for producing a complete change communication package: release notes, migration guidance where needed, and a team announcement with every open gap listed at the top. Calibrated to the change type so a patch note does not read like a major incident, and a breaking change does not get buried in a routine release update.

Before you begin: verify references

Confirm that every path in this skill's frontmatter references: exists relative to this SKILL.md. If any is missing, stop: the install is incomplete, usually because a flattening installer (for example npx skills install) dropped the repo-root knowledge-notes/ directory. Tell the user to reinstall by a method in 1-INSTALL.md and run verify-install.sh from the install root. Proceed without the references only if the user explicitly says to, and then say in the output that it was produced without the pack's reference material.

Context

Change communication is the part of design system work that feels like overhead until it is done badly. A breaking change that arrives without notice destroys trust faster than any number of missing components. A routine release that goes out without clear notes creates a support burden for the design systems team.

The goal is communication proportional to impact. This skill distinguishes between change types and produces output calibrated accordingly — a minor enhancement gets release notes and nothing more, while a breaking change gets a full package including migration guidance and a direct team notification.

Boundaries

This skill communicates changes that have already been decided. It does not decide what to change, plan a deprecation lifecycle, or execute a migration — use deprecation-process for deprecation planning and codemod-generator for migration execution. It is, however, the single owner of the migration guide: deprecation-process hands it a mapping table and version-bump-advisor a list of breaking changes with before/after rows, and this skill renders the guide once so the announcement, the release notes and the docs all say the same thing. If the change has not been finalised, ask the user to confirm the change details before producing communication. If the change affects no consuming teams (internal refactor with no API surface change), a communication package is unnecessary — confirm with the user and stop.


Step 1: Classify the change

Read before asking: CHANGELOG.md and git log <last tag>..HEAD for the actual change list; .changeset/ for pending changesets and their summaries; .ds-ops-config.yml for system.name and integrations.npm.package_name, which the notes and announcement name. A package's own change list is the source; the user's description of it fills gaps.

Ask for or confirm:

  • What changed? (component, token, pattern, API, tooling, governance)
  • Is it breaking? (Does it require consuming teams to change their code or designs to avoid regressions?)
  • What is the scope of impact? (How many teams or products are affected?)
  • Is there a migration path?

Small-system note (fewer than 5 components): For systems this size, calibrate communication intensity down. The audience is smaller and likely in closer contact — a breaking change to one of four components affects the entire consumer base, but that base may be a single team who you can notify directly in a standup or sync. Release notes are still required (they are the historical record), but the "announcement" may be a Slack message rather than a formal communication package. If the change is significant, a direct conversation replaces the written migration guide — walk through it together.

Classification: take the patch / minor / major call from version-bump-advisor output or the user. If neither exists and the change touches a published API or token, run version-bump-advisor first rather than classifying here. Map the result to a communication tier:

  • Patch → release notes entry only
  • Minor → release notes + brief announcement
  • Major (breaking) → full package: release notes, migration guide, direct notification
  • System-level change (governance, naming convention, architecture, tooling; may not have a semver bump) → announcement, context document, Q&A period

Step 1b: Communication tailoring matrix (only with adoption data)

Use this matrix only when adoption-report output or the user tells you how each team engages with the system. Without that, skip it and send the same package to every affected team; don't guess a team's adoption level.

High-adoption teams (actively using, contributing, engaged):

  • Communication tone: informational. These teams will read release notes proactively.
  • Migration support: self-service. Provide the migration guide and let them execute.
  • Channel: standard channels (release notes, Slack announcement).

Partial-adoption teams (using some components, not fully engaged):

  • Communication tone: supportive. Frame the change as an improvement to something they already use.
  • Migration support: offer a pairing session or office hours slot.
  • Channel: direct notification in addition to standard channels.

Low-adoption or at-risk teams (not using the system, or usage is declining):

  • Communication tone: minimal. Do not over-communicate changes to teams that are not yet engaged — it creates noise.
  • Migration support: N/A unless the change affects the few components they do use.
  • Channel: only notify if they are directly affected.

New teams (recently onboarded or in onboarding):

  • Communication tone: contextual. Frame the change within their onboarding experience.
  • Migration support: proactive. Ensure their onboarding materials reflect the change.
  • Channel: direct, through their onboarding contact.

This matrix prevents the common failure mode of communicating every change at the same intensity to every team, which trains teams to ignore system communications.

Step 2: Produce the communication package


For a patch:

Release notes entry only

Format:

[Component or token name] — [one-sentence description of the fix]
Affected: [who is affected, if anyone]
Action required: None

No announcement needed. Patch notes accumulate in the release log and are reviewed at the team's convenience.


For a minor change:

Release notes entry + brief announcement

Release notes entry:

[Component, token or feature] — [what was added or changed]
What's new: [one to two sentences describing the addition or change and its purpose]
How to use it: [one sentence or a link to the documentation]
Action required: None — existing usage is unaffected

Announcement (Slack or equivalent): Keep to three to four sentences. What was added, why it exists, where to find it. No preamble.

Template:

[Component/token name] is now in the system. [One sentence on what it does.] [One sentence on when to use it.] Documentation is at [link].


For a breaking change:

Full package: release notes + migration guide + direct notification

Release notes entry:

[Component or token name] — BREAKING CHANGE
What changed: [specific description of what changed]
Why it changed: [one sentence — reason, not justification]
Affected: [who is affected]
Migration: See migration guide below
Action required by: [date]

Migration guide:

The migration guide should be specific enough to follow without additional context. Include:

  1. What the old behaviour was
  2. What the new behaviour is
  3. Step-by-step migration instructions with before/after examples where useful
Before:
<Button variant="danger" />

After:
<Button variant="destructive" />
  1. Any edge cases that require special handling
  2. What to do if migration is not feasible by the deadline (contact route, escalation path)

If a migration script exists or can be provided, include it or link to it here.

Direct notification:

Breaking changes do not wait to be discovered in release notes. Send a direct notification to all affected teams through their primary communication channel.

Template:

[System name] breaking change — action required by [date]

[What changed, in one sentence.]

If you use [component/token name], you will need to [specific action] before [date] to avoid [specific consequence].

Migration guide: [link] Questions: [channel or contact]

The notification should be short enough to read in thirty seconds and specific enough that someone reading it immediately knows whether they are affected.


Show full SKILL.md (631 more words)Show less
For a system-level change:

Full package: announcement + context document + Q&A period

System-level changes need more than release notes. They need context. Why is this changing? What does it mean for teams day-to-day? What happens to work that was done under the old system?

Announcement: Lead with the change and its impact, not the reasoning. Teams want to know what they need to do before they want to understand why.

[What is changing] — effective [date]

[One sentence on what this means for teams using the system.]

[Two to three sentences on what teams need to know: what changes in their workflow, what does not change, and what support is available.]

Full context and rationale: [link to context document] Q&A session: [date/time or async channel]

Context document: A separate document covering:

  • What prompted the change
  • What was considered and why this direction was chosen (reference the decision record if one exists)
  • What the transition looks like — timeline, what is changing when
  • What stays the same
  • Known concerns and how they were addressed

Q&A period: For significant system-level changes, offer a defined period for questions — either a live session or a dedicated async channel with a named response time. Close the loop after: summarise the key questions raised and the answers given, and add that summary to the context document.


The design side

Half of a design system's consumers never read a changelog: they open Figma. For any change that touches the Figma library, the package includes:

  • Library publish notes: the description entered when the library is published, in the same shape as the release notes entry (what changed, the replacement, the date, the link to the guide). Designers see this in the library update prompt, which is the only announcement many of them get
  • In-library signals: for a deprecation or rename, the component or variable renamed with a [Deprecated] prefix or moved to a Deprecated page, with its description pointing at the replacement; new components placed and named where designers will find them
  • The designers' channel: the announcement posted where designers are, not only where engineers are, with the Figma-side action stated ("update the library; OldCard is now under Deprecated")

Write these alongside the code-side notes; a change communicated only to engineers shows up as design-to-code drift a sprint later.

Step 3: Choose the channels

Different communication channels serve different purposes. Calibrate by change type:

ChannelWhen to use
Release notes / changelogEvery change, every time
Figma library publish notesEvery change that touches the library
Slack / team channels (engineers and designers)Minor changes and above
Direct team notificationBreaking changes and system-level changes
EmailBreaking changes with external or cross-org impact
Meeting / live sessionSystem-level changes with significant workflow impact

Step 4: Set a follow-up

For breaking changes and system-level changes, schedule a follow-up:

  • One week before the action-required date: reminder to teams who have not yet migrated
  • On the action-required date: confirmation that the change is live, any last-minute support available
  • Two weeks after: review whether migration is complete, identify any teams who need additional help

Document this follow-up schedule alongside the communication so it does not get missed.

Quality checks

  • Change classification comes from version-bump-advisor or the user — breaking changes are not communicated as minor enhancements
  • Migration guide is specific enough to follow without additional context
  • Direct notification for breaking changes names the specific consequence of inaction
  • Channels are appropriate to the change type, and any change that touches the Figma library has publish notes and a designers' announcement
  • The change list came from the CHANGELOG, git history or changesets where a repository was in reach
  • A follow-up schedule exists for breaking and system-level changes
  • Fill what's known; list every unresolved placeholder (dates, links, owners, contacts) at the top for the user. Never invent dates, links, owners, rationale or percentages

© murphytrueman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/change-communication of murphytrueman/design-system-ops.

Open the folder on GitHubat commit f167898

Compare with similar skills

Change Communication next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Change Communication compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Change Communication this skillmurphytrueman/design-system-ops203—~3.4kAutomated safety check: PassMIT
Lint Fixgetsentry/sentry46k—~1kAutomated safety check: PassCustom licence
Using Docs Kitlobehub/lobe-ui2.2k—~2.8kAutomated safety check: PassMIT
Write Biweekly Announcementrazorpay/blade656—~1.5kAutomated safety check: PassMIT
Deprecate R Functions and Argumentstidyverse/dplyr5.1k1 repos~1.2kAutomated safety check: PassCustom licence
Releasing Php Packageyansongda/pay5.4k—~1.6kAutomated safety check: PassMIT

Similar skills

  • Lint Fix

    getsentry/sentry

    Official

    Fix violations of an eslintPluginScraps rule across the codebase.

    46k GitHub stars~1k tokensUpdated today
    DevelopmentAuto-check passed
  • Using Docs Kit

    lobehub/lobe-ui

    Set up and author a documentation site with @lobehub/docs-kit (the lobedocs CLI, React Router + Vite static docs used by ui.lobehub.com).

    2.2k GitHub stars~2.8k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Generate bi-weekly announcement posts for Blade Design System updates by analyzing changelog entries from the past two weeks

    656 GitHub stars~1.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Walks through deprecating an R function or argument in a package: lifecycle warning, silenced tests, a new snapshot test, documentation badge and NEWS entry.

    5.1k GitHub starsUsed in 1 repo~1.2k tokens
    DevelopmentAuto-check passed
  • A skill your agent uses when preparing to publish a new version of a PHP Composer package and need to write or update CHANGELOG, upgrade guides, and documentation before tagging and releasing

    5.4k GitHub stars~1.6k tokensUpdated 10 days ago
    DevelopmentAuto-check passed
  • Release

    jaemk/self_update

    Prepare a release (bump the crate version, update CHANGELOG.md with a migration guide for breaking changes, regenerate README, commit), or run a pre-release review.

    961 GitHub stars~2.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from murphytrueman/design-system-ops

All 36 skills in this repo
  • Agent Instructions

    murphytrueman/design-system-ops

    Write the AGENTS.md that tells coding agents how to use this design system: where things live, sourced rules, how to check work, what not to do; Claude, Cursor or Copilot pointers on request.

    203 GitHub stars~2.3k tokensUpdated 14 days ago
    Auto-check passed
  • AI Component Description

    murphytrueman/design-system-ops

    Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP.

    203 GitHub stars~4.7k tokensUpdated 14 days ago
    Auto-check passed
  • Codebase Index

    murphytrueman/design-system-ops

    Generate machine-readable index files in .ai/index/ (component inventory, uses/usedBy graph, stats) for AI agents.

    203 GitHub stars~4.7k tokensUpdated 14 days ago
    Auto-check passed
  • Codemod Generator

    murphytrueman/design-system-ops

    Generate tested jscodeshift/postcss codemods for design system migrations: token renames, prop renames or removals, import paths, component swaps.

    203 GitHub stars~4.9k tokensUpdated 14 days ago
    Auto-check passed
  • Component API Validator

    murphytrueman/design-system-ops

    Audit prop APIs across a component library: naming consistency, boolean/default patterns, type coverage, exported types, breaking changes between versions.

    203 GitHub stars~4.3k tokensUpdated 14 days ago
    Auto-check passed
  • Component Decision Tree

    murphytrueman/design-system-ops

    Write "choosing between" pages (docs/choosing/) that route an intent to the right component via narrowing questions; YAML trees on request.

    203 GitHub stars~4.9k tokensUpdated 14 days ago
    Auto-check passed

Questions about Change Communication

What does Change Communication do?

Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact. Change Communication is an agent skill from murphytrueman/design-system-ops. Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact.

When should I use Change Communication?

Change Communication fits situations like: tasks that involve Changelog and release notes; tasks that involve Design systems; tasks that involve Code migrations.

How do I install Change Communication in Claude Code?

Run `npx skills add murphytrueman/design-system-ops --skill change-communication -a claude-code`. Or copy the skill folder (skills/change-communication in murphytrueman/design-system-ops) into .claude/skills/change-communication in your project. Claude Code loads it when a task matches its description.

How do I install Change Communication in Codex?

Run `npx skills add murphytrueman/design-system-ops --skill change-communication -a codex`. Or copy the skill folder (skills/change-communication in murphytrueman/design-system-ops) into .agents/skills/change-communication in your project. Codex loads it when a task matches its description.

Can I use Change Communication in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add murphytrueman/design-system-ops --skill change-communication -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/change-communication, .gemini/skills/change-communication, .github/skills/change-communication and .opencode/skills/change-communication in your project.

What does Change Communication need to run?

Going by SKILL.md and its folder, Change Communication needs the command-line tools its instructions call (npx and git). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Grep, Glob, Bash(cat:*), Bash(ls:*), Bash(git log:*), Bash(git tag:*).

Does Change Communication access the network?

SKILL.md contains no URLs. Its commands use npx and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Change Communication safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Change Communication use?

Change Communication is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Change Communication use?

About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Change Communication?

Skills that share tags, products or a category with Change Communication: Lint Fix (getsentry/sentry, 46k stars), Using Docs Kit (lobehub/lobe-ui, 2.2k stars), Write Biweekly Announcement (razorpay/blade, 656 stars) and Deprecate R Functions and Arguments (tidyverse/dplyr, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Change Communication?

murphytrueman (a GitHub user) maintains it in murphytrueman/design-system-ops, which has 203 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 24, 2026.

Source: murphytrueman/design-system-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.