Agent Skills: Create Changesets

Create user-focused changesets (changelog entries) for semver bumps, release notes, breaking changes, and docs; prefer impact and code examples over implementation detail

UncategorizedID: reactive/data-client/changeset

Repository

reactiveLicense: Apache-2.0
2,02999

Install this agent skill to your local

pnpm dlx add-skill https://github.com/reactive/data-client/tree/HEAD/.cursor/skills/changeset

Skill Files

Browse the full folder contents for changeset.

Download Skill

Loading file tree…

.cursor/skills/changeset/SKILL.md

Skill Metadata

Name
changeset
Description
Create user-focused changesets (changelog entries) for semver bumps, release notes, breaking changes, and docs; prefer impact and code examples over implementation detail

Create Changesets

Overview

Generate changesets, update documentation, draft blog entries, and update skills for user-facing changes.

Steps

  1. Analyze changes

    • Compare current branch to master to identify modified packages
    • Group changes by impact type (feature, fix, breaking)
    • Identify transitive dependencies that expose the change
    • Check for modified skills in .cursor/skills/ and packages/*/.cursor/skills/
  2. Determine affected packages

    • Include directly modified packages
    • Add transitive dependents when interfaces/behaviors are exposed:
      • @data-client/endpoint → also select @data-client/rest, @data-client/graphql
      • @data-client/core or @data-client/normalizr → also select @data-client/react, @data-client/vue
  3. Run changesets

    • Run yarn changeset once per distinct change
    • Select all affected packages (direct + transitive)
    • Choose appropriate version bump (patch/minor/major)
      • For packages under 1.0, use minor for breaking changes
    • When writing the markdown body, follow Changeset body quality below (user-visible outcome, code examples when helpful, no internal implementation narrative)
  4. Update documentation

    • Update primary docs in docs/ for any changed public APIs
    • Search for all usages of changed APIs across docs/, packages/*/README.md, and root README.md
    • Update all found references to reflect new behavior, signatures, or deprecations
    • For new exports: add to relevant API reference pages
  5. Update release blog

    • Find the latest draft blog post in website/blog/ (has draft: true in frontmatter)
    • Add the change following @website/blog/.cursor/rules/blog-posts.mdc:
      • Place in appropriate conceptual category section
      • Include code example if applicable
      • Link to PR/commit and relevant docs
      • For breaking changes: add to summary's Breaking Changes section with anchor link
  6. Update skills

    • If code changes affect workflows described in existing skills, update those skills to match
    • If new APIs or patterns are introduced that agents should know about, add them to the relevant skill
    • Skill changes don't need changesets — they are development tooling, not published packages

Writing perspective

All user-facing text (changesets, blog entries, docs) should be written from the library user's point of view. Answer: what did the user see go wrong, and what works for them now? Avoid internal names (conditional types, branch names, helper types like SoftPathArgs, file paths, PR numbers) unless the audience is maintainers reading a technical appendix — changeset bodies are for consumers reading the changelog.

Changeset body quality

  1. Lead with impact — One short title line, then 1–3 sentences on behavior: errors gone, typings improved, new capability, migration note.
  2. User vocabulary — Name public APIs (RestEndpoint, resource(), hook names). Do not explain how the fix was implemented.
  3. When to add code — Prefer a minimal example when the change is TypeScript-only or subtle: show the pattern that was broken and now works (subclass, extend, option object). Skip examples for trivial renames or obvious one-line fixes.
  4. Examples — Realistic imports and types; omit unrelated options. For fixes, you can show one “now types correctly” snippet instead of a long before/after if the before state was “TypeScript error on …”.
  5. Breaking changes — Still say what the user must do; use Before/After sections with code when the migration is non-obvious.

Changeset format

  • First line: Action verb ("Add", "Fix", "Update", "Remove")
  • Breaking: Prefix with BREAKING CHANGE: or BREAKING:
  • Body: User outcome first; implementation almost never belongs here
  • New exports: Use "New exports:" with a bullet list

Code examples in changesets

  • Fixes: Optional // Before: / // After: comments in one block, or two small blocks — keep them copy-paste plausible
  • Breaking changes: Use #### Before and #### After headers with complete snippets
  • Multiple scenarios: Short intro line per scenario, or separate fenced blocks with a one-line label above each

Markdown Formatting

Follow @.cursor/rules/markdown-formatting.mdc for all markdown content.