release-note-generation

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Release Note Generation Skill

发布说明生成Skill

Generate professional release notes for PowerToys milestones by collecting merged PRs, requesting Copilot code reviews, grouping by label, and producing user-facing summaries.
通过收集已合并的PR、请求Copilot代码评审、按标签分组并生成面向用户的摘要,为PowerToys里程碑生成专业的发布说明。

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
所有生成的工件都将放置在仓库根目录下的
Generated Files/ReleaseNotes/
中(已加入git忽略)。
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

何时使用此Skill

  • Generate release notes for a milestone
  • Summarize PRs merged in a release
  • Request Copilot reviews for milestone PRs
  • Assign milestones to PRs missing them
  • Collect PRs between two commits/tags
  • Update README.md for a new version
  • 为里程碑生成发布说明
  • 汇总版本中已合并的PR
  • 请求Copilot对里程碑PR进行评审
  • 为缺失里程碑的PR分配里程碑
  • 收集两次提交/标签之间的PR
  • 为新版本更新README.md

Prerequisites

前置条件

  • GitHub CLI (
    gh
    ) installed and authenticated
  • MCP Server: github-mcp-server installed
  • GitHub Copilot code review enabled for the org/repo
  • 已安装并完成身份验证的GitHub CLI (
    gh
    )
  • 已安装MCP Server:github-mcp-server
  • 组织/仓库已启用GitHub Copilot代码评审

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 version
0.98
⚠️ 开始前,请与用户确认
{{ReleaseVersion}}
。如果未提供,请询问:“我们要为哪个版本生成发布说明?(例如:0.98)”
变量说明示例
{{ReleaseVersion}}
目标发布版本
0.98

Workflow Overview

工作流概述

┌────────────────────────────────┐
│ 1.1 Collect PRs (stable range) │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 1.2 Assign Milestones           │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 2.1–2.4 Label PRs (auto+human)  │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 3.1 Request Reviews (Copilot)  │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 3.2 Refresh PR data             │
│ (CopilotSummary)                │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 3.3 Group by label              │
│ (grouped_csv)                   │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 4.1 Summarize (grouped_md)      │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 4.2 Final notes (v{VERSION}.md) │
└────────────────────────────────┘
StepActionDetails
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 & GroupingRequest Copilot reviews → refresh → group by label
4.1–4.2Summaries & FinalGenerate grouped summaries, then consolidate
┌────────────────────────────────┐
│ 1.1 Collect PRs (stable range) │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 1.2 Assign Milestones           │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 2.1–2.4 Label PRs (auto+human)  │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 3.1 Request Reviews (Copilot)  │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 3.2 Refresh PR data             │
│ (CopilotSummary)                │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 3.3 Group by label              │
│ (grouped_csv)                   │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 4.1 Summarize (grouped_md)      │
└────────────────────────────────┘
┌────────────────────────────────┐
│ 4.2 Final notes (v{VERSION}.md) │
└────────────────────────────────┘
步骤操作详情
1.1收集PR
stable
分支的上一个版本标签获取 → 生成
sorted_prs.csv
1.2分配里程碑确保所有PR都有正确的里程碑
2.1–2.4标注PR标签自动建议 + 人工标注低置信度PR
3.1–3.3评审与分组请求Copilot评审 → 刷新数据 → 按标签分组
4.1–4.2摘要与最终输出生成分组摘要,然后合并为最终版本

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
不要一次性阅读所有步骤——只阅读当前正在执行的步骤。
  • 步骤1:收集与里程碑分配
  • 步骤2:PR标签标注
  • 步骤3:评审与分组
  • 步骤4:摘要生成

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
脚本用途
dump-prs-since-commit.ps1获取两次提交/标签之间的PR
group-prs-by-label.ps1将PR分组为CSV文件
collect-or-apply-milestones.ps1分配里程碑
diff_prs.ps1增量PR差异对比

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-*
  • 终端使用:默认禁用;仅在用户明确要求时运行脚本
  • 批量生成:一次性生成所有grouped_md文件,再由人工评审
  • PR顺序:在所有输出中保留
    sorted_prs.csv
    中的PR顺序
  • 标签过滤:保留
    Product-*
    Area-*
    GitHub*
    *Plugin
    Issue-*
    标签

Troubleshooting

故障排除

IssueSolution
gh
command not found
Install GitHub CLI and add to PATH
No PRs returnedVerify milestone title matches exactly
Empty CopilotSummaryRequest Copilot reviews first, then re-run dump
Many unlabeled PRsReturn to labeling step before grouping
问题解决方案
gh
命令未找到
安装GitHub CLI并添加到PATH
未返回任何PR确认里程碑标题完全匹配
CopilotSummary为空先请求Copilot评审,然后重新运行dump脚本
大量未标注标签的PR在分组前返回标签标注步骤