
Write Release Notes
FreeGenerate clear and engaging release notes from GitHub data.
Free · Opens the source repo
What Write Release Notes does
The Write Release Notes skill automates the process of creating polished release notes for software projects by fetching live data from GitHub. It retrieves release metadata and linked pull request (PR) details, synthesizing them into a cohesive narrative that communicates changes effectively. This skill is particularly useful for developers and project managers who need to keep users informed about new features, bug fixes, and improvements in a format that is both informative and engaging.
To use the skill, simply run the bundled script with the desired version tag, and it will gather all relevant information. The output includes categorized changes based on conventional commit prefixes or labels, ensuring that users can quickly understand what has been added or fixed. The generated release notes are structured to highlight key changes, provide a summary of new features, and acknowledge contributors, all while maintaining an enthusiastic tone that resonates with users.
This skill is ideal for teams looking to streamline their release documentation process, allowing them to focus on development while ensuring that release notes are generated consistently and accurately. By automating the compilation of changes, it helps maintain a clear communication channel with users, enhancing their experience and understanding of the product's evolution.
However, it is important to note that the skill is best suited for projects that utilize GitHub for version control and have a structured PR process. If your project does not follow these practices, the skill may not be as effective in generating meaningful release notes.
When to use it
Use this skill when preparing release notes for a new version of your software, especially if you have multiple PRs to summarize.
When not to use it
Avoid using this skill for projects that do not use GitHub or lack a structured PR process, as it relies on specific GitHub data.
What you can build with it
Generating Release Notes for a New Version
When preparing to release v1.0.0, run the skill to automatically compile and format the release notes from recent PRs.
Summarizing Changes for Stakeholders
Use the skill to create a clear summary of changes for stakeholders who need to understand the latest updates without diving into technical details.
Documenting Bug Fixes and Features
After merging several PRs, utilize the skill to document what has been fixed and added in a user-friendly format.
How to install Write Release Notes
View source1. Install with the skills CLI
npx skills add tailcallhq/forgecode/write-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 tailcallhqWrite Release Notes
Generate clear, informative, and enthusiastic release notes by pulling live data from GitHub and synthesizing every PR into a cohesive narrative.
Workflow
1. Fetch Release Data
Run the bundled script to pull the release metadata and all linked PR details in one shot:
bash .forge/skills/write-release-notes/scripts/fetch-release-data.sh <version> [owner/repo]
<version>: The release tag (e.g.v1.32.0)[owner/repo]: Optional. Defaults to the current repo detected viagh repo view.
The script outputs two sections:
### RELEASE METADATA ###— tag name, publish date, release name, raw body### PR DETAILS ###— one JSON object per PR with:number,title,body,labels,author,mergedAt,url
2. Categorize Changes
Group PRs by their conventional commit prefix or label:
| Category | Prefixes / Labels |
|---|---|
| Features | feat, type: feature |
| Bug Fixes | fix, type: fix |
| Performance | perf |
| Refactors | refactor |
| Maintenance | chore, docs, ci, build, deps |
Dependency bumps (e.g. Dependabot PRs) go into Maintenance. Skip PRs with error: "not found".
3. Write the Release Notes
Produce a Markdown document with the following structure. Keep the tone informative and enthusiastic — explain what changed and why it matters, without resorting to marketing fluff.
# [Product Name] [Version] — [Descriptive Tagline]
> One-sentence summary of what this release focuses on.
## What's New
[2-4 sentence narrative covering the biggest features and fixes.
Describe what changed and what users can now do. Use active voice. Be factual but upbeat.]
## Highlights
### [Feature/Fix Category]
**[PR Title rephrased as a clear description of the change]**
[1-2 sentences expanding on the PR description. Explain what changed and what users can now do differently.
If the PR body has useful context, distill it. If empty, infer from the title.]
[Repeat for each significant PR — skip pure chores/dep bumps unless noteworthy]
## Bug Fixes & Reliability
[Bullet list of fixes, each with a brief impact statement]
## Under the Hood
[Brief paragraph or bullet list covering refactors, maintenance, and dep updates —
keep it light, acknowledge the work without boring the reader]
## Contributors
A huge thank you to everyone who made this release happen: [list @handles — exclude bots like @dependabot]
---
**Full changelog**: [GitHub Release link]
4. Tone & Style Guidelines
- Lead with what changed: "You can now..." or "Forge now..." beats "We added..."
- Be specific: Name the feature and describe what it does, not just the category
- Be informative, not marketty: Avoid vague adjectives like "seamless", "smarter", "blazing", "powerful", "rock-solid". Instead, state the concrete fact (e.g. "editor no longer spawns a git process on every keystroke" beats "blazing-fast editor")
- Enthusiasm through substance: Let the actual improvement speak for itself. Use active, direct language.
- Short paragraphs: Max 3 sentences per block
- Skip internal jargon: Translate crate names and internal concepts into plain language
- Celebrate contributors: Name them by handle
- Tagline formula:
[Version] — [Factual Theme Description](e.g. "v1.32.0 — Terminal Context, File Drop Support, Windows Performance") - No implementation details: Do not mention internal module names, struct names, function names, crate names, or how something was implemented. Focus purely on what the user experiences or gains.
- No PR/issue references: Do not include PR numbers, issue numbers, or links to GitHub PRs/issues in the release notes. Focus on the changes themselves, not their tracking identifiers.
5. Contributors Filter
Only include external contributors in the Contributors section — exclude the core team:
@tusharmath@amitksingh1490@laststylebender14- Bots (e.g.
@dependabot)
If no external contributors exist, omit the Contributors section entirely.
6. Validate Length
After writing the release notes, run the bundled validation script to confirm the output is under 2000 characters:
echo "<release notes>" | bash .forge/skills/write-release-notes/scripts/validate-release-notes.sh
If it prints FAIL, trim the draft and re-run until it prints PASS:
- Remove the Under the Hood section first
- Consolidate Bug Fixes into a shorter bullet list
- Shorten individual PR descriptions to one tight sentence
- Remove the least impactful Highlights entries
7. Output
Print the final release notes directly in the chat. Do not write to a file unless the user explicitly asks.
Notes
- The script handles ANSI color codes injected by
ghCLI automatically. - PRs not found (closed without merge, private, etc.) are silently skipped.
- If the release has no linked PRs in its body, fall back to listing commits between tags:
gh api repos/<owner>/<repo>/compare/<prev_tag>...<version> --jq '.commits[].commit.message'
Frequently asked questions about Write 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.
