mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-03 09:46:54 +02:00
<!-- 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" />
89 lines
4.2 KiB
Markdown
89 lines
4.2 KiB
Markdown
# 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, “That’s exactly what I need” or “Yes, that’s 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](./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
|
||
|
||
```markdown
|
||
# 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
|
||
...
|
||
```
|