
Prepare Release Notes
FreeStreamline your React Router release note process.
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 source1. Install with the skills CLI
npx skills add remix-run/react-router/prepare-release-notes --agent claude-code2. 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-runPrepare 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
- Inspect local state:
git status --short
find packages -path '*/.changes/*.md' -not -name README.md -not -name .gitkeep -print | sort
-
Read every pending change file. Do not edit generated changelogs or released notes directly.
-
Normalize each change file:
- Remove
feat:,feat(...),fix:, andfix(...)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
- Remove
-
Review whether
scripts/changes/whats-changed.mdis needed:- Read
CHANGELOG.mdexamples orreferences/whats-changed.mdwhen uncertain - Add
scripts/changes/whats-changed.mdonly 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 Changedwhen missing
- Read
-
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
Markdown to HTML Conversion
Efficiently convert Markdown documents to HTML.
Code Tour
Create structured walkthroughs for codebases.
Acquire Codebase Knowledge
Streamline onboarding with comprehensive codebase documentation.
Documentation & Modernization
Streamline codebase documentation and modernization planning.
Azure Resource Visualizer
Generate architecture diagrams for Azure resources.
CLAUDE.md Improver
Optimize your CLAUDE.md files for better project context.
