Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
microsoft avatar

Release Note Generation

  • 112 installs
  • 137k repo stars
  • Updated July 28, 2026
  • microsoft/powertoys

PowerToys skill generating release notes from GitHub milestones or commit ranges.

About

PowerToys release note generation toolkit. Pulls merged PRs from GitHub milestones or specified commit ranges, categorizes changes by area, and drafts release notes suitable for GitHub releases and user-facing changelogs. Supports summarizing milestone PRs, generating changelog entries, and preparing release documentation for PowerToys maintainers. Automates the tedious aggregation of contributor PRs into readable release summaries with consistent formatting.

  • Release notes from GitHub milestone PRs or commit ranges
  • Categorizes changes by PowerToys feature area
  • Drafts GitHub release and changelog content
  • Automates PR aggregation for release preparation
  • Toolkit for maintainers preparing PowerToys releases

Release Note Generation by the numbers

  • 112 all-time installs (skills.sh)
  • Ranked #107 of 257 Release Management skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

release-note-generation capabilities & compatibility

Capabilities
aggregate milestone prs · draft release notes · categorize changes
Works with
github
Use cases
documentation
From the docs

What release-note-generation says it does

Toolkit for generating PowerToys release notes from GitHub milestone PRs or commit ranges.
SKILL.md
npx skills add https://github.com/microsoft/powertoys --skill release-note-generation

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs112
repo stars137k
Security audit2 / 3 scanners passed
Last updatedJuly 28, 2026
Repositorymicrosoft/powertoys

How do I generate PowerToys release notes for a milestone?

Generate PowerToys release notes from GitHub milestone PRs or commit ranges for changelog and release preparation.

Who is it for?

PowerToys maintainers preparing releases, changelogs, or milestone summaries.

Skip if: Non-PowerToys projects or runtime code changes.

When should I use this skill?

User asks to create release notes, summarize milestone PRs, or generate changelog.

What you get

Drafted release notes categorizing merged PRs for GitHub release publication.

Files

SKILL.mdMarkdownGitHub ↗

Release Note Generation Skill

Generate professional release notes for PowerToys milestones by collecting merged PRs, summarizing each PR with the local CLI agent, grouping by label, and producing user-facing summaries.

Output Directory

All generated artifacts are placed under Generated Files/ReleaseNotes/ at the repository root (gitignored).

Generated Files/ReleaseNotes/
├── milestone_prs.json           # Raw PR data from GitHub
├── sorted_prs.csv               # Sorted PR list with Copilot summaries
├── prs_with_milestone.csv       # Milestone assignment tracking
├── grouped_csv/                 # PRs grouped by label (one CSV per label)
├── grouped_md/                  # Generated markdown summaries per label
└── v{VERSION}-release-notes.md  # Final consolidated release notes

When to Use This Skill

  • Generate release notes for a milestone
  • Summarize PRs merged in a release
  • Generate per-PR review summaries locally for release-notes copy
  • Assign milestones to PRs missing them
  • Collect PRs between two commits/tags
  • Update README.md for a new version
  • Prepare GitHub release assets (download installers/symbols + compute hashes)

Prerequisites

  • GitHub CLI (`gh`) installed and authenticated — The collection script uses gh pr view and gh api graphql to fetch PR metadata and co-author information. Run gh auth status to verify; if not logged in, run gh auth login first. See Step 1.0.0 for details.
  • MCP Server: github-mcp-server installed (used to fetch PR diffs/files for the local-agent review step)
  • For prepare-release-assets.ps1 only: Azure CLI authenticated against the Microsoft tenant (az login) with the azure-devops extension; access to the microsoft/Dart ADO project

Required Variables

⚠️ Before starting, confirm {{ReleaseVersion}} with the user. If not provided, ASK: "What release version are we generating notes for? (e.g., 0.98)"

VariableDescriptionExample
{{ReleaseVersion}}Target release version0.98

Workflow Overview

┌────────────────────────────────┐
│ 1.0 Verify gh auth + MemberList │
└────────────────────────────────┘
              ↓
┌────────────────────────────────┐
│ 1.1 Collect PRs (stable range) │
└────────────────────────────────┘
              ↓
┌────────────────────────────────┐
│ 1.2 Assign Milestones           │
└────────────────────────────────┘
              ↓
┌────────────────────────────────┐
│ 2.1–2.4 Label PRs (auto+human)  │
└────────────────────────────────┘
              ↓
┌────────────────────────────────┐
│ 3.1 Local-agent PR summaries    │
│ (writes CopilotSummary)         │
└────────────────────────────────┘
              ↓
┌────────────────────────────────┐
│ 3.2 (Optional) Refresh PR data  │
└────────────────────────────────┘
              ↓
┌────────────────────────────────┐
│ 3.3 Group by label              │
│ (grouped_csv)                   │
└────────────────────────────────┘
              ↓
┌────────────────────────────────┐
│ 4.1 Summarize (grouped_md)      │
└────────────────────────────────┘
              ↓
┌────────────────────────────────┐
│ 4.2 Final notes (v{VERSION}.md) │
└────────────────────────────────┘
StepActionDetails
1.0Verify prerequisitesgh auth status must pass; generate MemberList.md
1.1Collect PRsFrom previous release tag on stable branch → sorted_prs.csv
1.2Assign MilestonesEnsure all PRs have correct milestone
2.1–2.4Label PRsAuto-suggest + human label low-confidence
3.1–3.3Reviews & GroupingLocal agent summarizes each PR diff into CopilotSummary → (optional refresh) → group by label
4.1–4.2Summaries & FinalGenerate grouped summaries, then consolidate

Detailed workflow docs

Do not read all steps at once—only read the step you are executing.

  • Step 1: Collection & Milestones
  • Step 2: Labeling PRs
  • Step 3: Reviews & Grouping
  • Step 4: Summarization

Available Scripts

ScriptPurpose
dump-prs-since-commit.ps1Fetch PRs between commits/tags
group-prs-by-label.ps1Group PRs into CSVs
collect-or-apply-milestones.ps1Assign milestones
diff_prs.ps1Incremental PR diff
prepare-release-assets.ps1Download installers + symbols from an ADO build, compute SHA256, emit the "Installer Hashes" markdown table for the GitHub release page

References

  • Sample Output - Example summary formatting
  • Detailed Instructions - Legacy full documentation

Conventions

  • Terminal usage: Disabled by default; only run scripts when user explicitly requests
  • Batch generation: Generate ALL grouped_md files in one pass, then human reviews
  • PR order: Preserve order from sorted_prs.csv in all outputs
  • Label filtering: Keeps Product-*, Area-*, GitHub*, *Plugin, Issue-*

Troubleshooting

IssueSolution
gh command not foundInstall GitHub CLI and add to PATH
No PRs returnedVerify milestone title matches exactly
Empty CopilotSummary for many PRsRun Step 3.1 (local-agent summaries). Do not use mcp_github_request_copilot_review from a CLI/coding agent — the GitHub API rejects bot-initiated review requests, so the column will stay empty.
Many unlabeled PRsReturn to labeling step before grouping
prepare-release-assets.ps1 fails with "Failed to acquire ADO access token"Run az login and ensure you have access to the microsoft/Dart ADO project

Related skills

FAQ

What sources can I use?

GitHub milestone PRs or specified commit ranges.

What output format?

Release notes suitable for GitHub releases and user-facing changelogs.

Are PRs categorized?

Yes. Changes are grouped by PowerToys feature area.

Is Release Note Generation safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.