Files
PowerToys/.github/skills/release-note-generation/references/step4-summarization.md
Kai Tao d28f312b81 Copilot Skills: Release note generation skill should also quote co-authors (#45819)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request

Release note generation skill add support for quoting co-authors

<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist

- [ ] Closes: #xxx
<!-- - [ ] Closes: #yyy (add separate lines for additional resolved
issues) -->
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx

<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments

<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed

Result may vary because of uncertainty of LLM, while I can get this
result during my tests

<img width="696" height="147" alt="image"
src="https://github.com/user-attachments/assets/9d20670f-b9fb-4630-b6b4-f94c2a5d2284"
/>
2026-03-04 16:40:08 +08:00

4.2 KiB
Raw Blame History

Step 4: Summaries and Final Release Notes

4.0 To-do

  • 4.1 Generate Summary Markdown (Agent Mode)
  • 4.2 Produce Final Release Notes File

4.1 Generate Summary Markdown (Agent Mode)

For each CSV in Generated Files/ReleaseNotes/grouped_csv/, create a markdown file in Generated Files/ReleaseNotes/grouped_md/.

⚠️ IMPORTANT: Generate ALL markdown files first. Do NOT pause between files or ask for feedback during generation. Complete the entire batch, then human reviews afterwards.

Structure per file

1. Bullet list - one concise, user-facing line per PR:

  • Use the “Verb-ed + Scenario + Impact” sentence structure—make readers think, “Thats exactly what I need” or “Yes, thats an awesome fix.”; The "impact" can be end-user focused (written to convey user excitement) or technical (performance/stability) when user-facing impact is minimal.
  • If nothing special on impact or unclear impact, mark as needing human summary
  • Source from Title, Body, and CopilotSummary (prefer CopilotSummary when available)
  • The NeedThanks column contains a comma-separated list of external contributor usernames who should be thanked (empty = no thanks needed, all authors are core team). For each non-empty NeedThanks value, append thanks for every listed contributor: Thanks [@user1](https://github.com/user1)! for a single contributor, or Thanks [@user1](https://github.com/user1) and [@user2](https://github.com/user2)! for two, or Thanks [@user1](https://github.com/user1), [@user2](https://github.com/user2), and [@user3](https://github.com/user3)! for three or more.
  • Do NOT include PR numbers in bullet lines
  • Do NOT mention “security” or “privacy” issues, since these are not known and could be leveraged by attackers in earlier versions. Instead, describe the user-facing scenario, usage, or impact.
  • If confidence < 70%, write: Human Summary Needed: <PR full link>

See SampleOutput.md for examples of well-written bullet summaries.

2. Three-column table (same PR order):

  • Column 1: Concise summary (same as bullet)
  • Column 2: PR link [#ID](URL)
  • Column 3: Confidence level (High/Medium/Low)

Review Process (AFTER all files generated)

  • Human reviews each grouped_md/*.md file and requests rewrites as needed
  • Human may say "rewrite Product-X" or "combine these bullets"—apply changes to that specific file
  • Do NOT interrupt generation to ask for feedback

4.2 Produce Final Release Notes File

Once all grouped_md/*.md files are reviewed and approved, consolidate into a single release notes file.

Output: Generated Files/ReleaseNotes/v{{ReleaseVersion}}-release-notes.md

Structure

1. Highlights section (top):

  • 8-12 bullets covering the most user-visible features and impactful fixes
  • Pattern: **Module**: brief description
  • Avoid internal refactors; focus on what users will notice

2. Module sections (alphabetical order):

  • One section per product (Advanced Paste, Awake, Command Palette, etc.)
  • Migrate bullet summaries from the approved grouped_md/Product-*.md files
  • One section 'Development' for all the rest summaries from the approved grouped_md/Area-*.md files
  • Re-review E2E, group release improvements by section, and move the most important items to the top of each section. Some items in the Development section may overlap and should be moved to the Module section where more applicable.

Example Final Structure

# PowerToys v{{ReleaseVersion}} Release Notes

## Highlights

- **Command Palette**: Added theme customization and drag-and-drop support
- **Advanced Paste**: Image input for AI, color detection in clipboard history
- **FancyZones**: New CLI tool for command-line layout management
...

---

## Advanced Paste

- Wrapped paste option lists in a single ScrollViewer in [#5678](https://github.com/microsoft/PowerToys/pull/5678)
- Added image input handling for AI-powered transformations in [#5679](https://github.com/microsoft/PowerToys/pull/5679)
...

## Awake

- Fixed timed mode expiration in [#5680](https://github.com/microsoft/PowerToys/pull/5680) by [@daverayment](https://github.com/daverayment)
...

---

## Development
...