New to Claude Skills? Learn how to install them →

remix-run on GitHub

Prepare Release Notes

Free

Streamline your React Router release note process.

Get this skill

Free · Opens the source repo

What Prepare Release Notes does

The Prepare Release Notes skill is designed to assist developers working with React Router in creating polished and standardized release notes. This tool automates the preparation of change files, ensuring that they adhere to a consistent format and style. By following a structured workflow, users can efficiently review and normalize pending change files before running versioning scripts. This includes removing unnecessary semantic commit prefixes, enforcing the use of imperative tense, and ensuring that bullet points are clear and concise.

The skill guides users through a series of steps that begin with inspecting the local state of the repository. It provides commands for checking the status of files and locating pending change files within the project. Once the files are identified, the skill focuses on normalizing their content, emphasizing clarity and user-facing language. This is particularly useful for teams that need to maintain a high standard of documentation as part of their release process.

Additionally, the skill evaluates whether a manual whats-changed.md file is necessary for the release. This file serves as a narrative context that can enhance the understanding of significant changes, especially for new features or complex behavior modifications. By determining when this file is needed, the skill helps avoid unnecessary documentation for minor fixes or internal changes, thus streamlining the release process.

Overall, the Prepare Release Notes skill is an essential tool for developers who want to ensure their release notes are well-organized, informative, and maintain a professional standard. It is particularly beneficial for teams using React Router who frequently manage multiple changes and need a reliable method for documenting their releases effectively.

When to use it

Use this skill when preparing release notes for React Router updates, especially when multiple changes are pending.

When not to use it

This tool may not be suitable for projects outside of React Router or for simple releases that do not require detailed documentation.

What you can build with it

Preparing for a Major Release

When planning a major release of React Router, this skill helps in organizing and normalizing all pending changes.

Streamlining Documentation Process

Use this skill to automate the documentation of changes, ensuring all release notes follow a consistent format.

Adding Context to Complex Changes

When introducing new features or significant changes, leverage the skill to create a comprehensive `whats-changed.md` file.

How to install Prepare Release Notes

View source

1. Install with the skills CLI

npx skills add remix-run/react-router/prepare-release-notes --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by remix-run

Prepare Release Notes

Polish pending React Router change files and add manual release notes only when the release needs narrative context beyond the generated change lists.

Workflow

  1. Inspect local state:
git status --short
find packages -path '*/.changes/*.md' -not -name README.md -not -name .gitkeep -print | sort
  1. Read every pending change file. Do not edit generated changelogs or released notes directly.

  2. Normalize each change file:

    • Remove feat:, feat(...), fix:, and fix(...) semantic-commit prefixes from prose
    • Use present or imperative tense for the first line and top-level release bullets: prefer Add, Fix, Remove, Support, Stabilize, Preserve, Update, Avoid, Prevent, Throw, Warn, Expose
    • Nested detail bullets can stay explanatory when they expand on the parent bullet; do not rewrite them solely to force present or imperative tense
    • Remove terminal sentence periods from bullet items because release generation appends PR/commit links after the first bullet line
    • Remove terminal sentence periods from nested bullet items too, unless the punctuation is part of code, a URL, an abbreviation, a version number, or another token where removing it would be wrong
    • If one bullet contains multiple sentences, split it into a shorter parent bullet plus nested bullet items
    • Keep the first line concise and user-facing; use nested bullets for details or migration notes
  3. Review whether scripts/changes/whats-changed.md is needed:

    • Read CHANGELOG.md examples or references/whats-changed.md when uncertain
    • Add scripts/changes/whats-changed.md only for features, future flag stabilizations, unstable flags, migration guidance, breaking bug fixes, or complex behavior that needs long-form text or examples
    • Do not add it for ordinary bug fixes, dependency cleanup, internal refactors, or release bullets that are already clear
    • If adding it, write the body only; the release script adds ### What's Changed when missing
  4. Validate:

pnpm changes:validate
pnpm changes:preview

Use changes:preview to inspect the generated root release notes and confirm the PR/commit link placement, section ordering, and any manual What's Changed placement. If dependencies are missing or the command is too expensive for the context, state what was skipped.

Change File Style

Single-line entries should read well with an auto-appended PR link:

Fix `href()` to stringify and URL-encode param values like `generatePath()`

Use nested bullets for additional sentences:

Fix route ranking for dynamic parameters with static extension suffixes

- Identify `/:name.xml` as a dynamic segment instead of a static segment
- Preserve static route priority for paths like `/sitemap.xml`

Avoid semantic commit prefixes:

Add support for nub as a package manager

not:

feat: add support for nub as a package manager.

What's Changed Guidance

Use scripts/changes/whats-changed.md for release-level narrative, not package-specific bullets. Good candidates include:

  • A new user-facing API or feature that benefits from example code
  • Stabilization or renaming of unstable APIs/flags, especially when adopters must migrate
  • A stable future flag that changes behavior and needs adoption guidance
  • A breaking bug fix or adapter/runtime behavior change that may require deployment checks
  • A cluster of related changes whose combined effect matters more than the individual bullet list

Keep the tone direct and practical. Prefer headings under the generated ### What's Changed section:

#### Feature Name

Explain what changed, who it affects, and how to adopt it.

```ts
// Optional short example
```

Do not duplicate every bullet from Minor/Patch/Unstable Changes. Let generated change files carry ordinary PR-level details.

See references/whats-changed.md for examples distilled from the existing changelog.

Frequently asked questions about Prepare Release Notes

Similar skills