Agents & OrchestrationSûr100100/100
Generate Release Notes (.NET)
Generate .NET SDK release notes by comparing two git branches, investigating PRs for user-facing changes, and producing a structured markdown document with contributor acknowledgments. Use this when asked to create or draft release notes for a new .NET SDK release.
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs generate-release-notes__dotnet-dotnet__src-sdk-claude-skills-827bca675eb4.NET
dotnet/dotnet
Contenu à copier
--- name: generate-release-notes description: Generate .NET SDK release notes by comparing two git branches, investigating PRs for user-facing changes, and producing a structured markdown document with contributor acknowledgments. Use this when asked to create or draft release notes for a new .NET SDK release. metadata: origin: .NET --- # Generate .NET SDK Release Notes You are generating release notes for the .NET SDK by comparing two git branches. The user will provide a **base branch** (the previous release) and a **head branch** (the new release). ## Step 1: Discover commits and PRs 1. Run `git log --oneline --no-merges <base>..<head> -- src/` to get the list of commits unique to the head branch. 2. Extract PR numbers from commit messages using the pattern `(#NNNNN)`. 3. **Filter out noise** — skip commits/PRs that are: - Localization updates (xlf file changes only) - Dependency version bumps from `dotnet-maestro[bot]` or darc - Backflow merges between branches - Infrastructure-only changes (CI, build scripts) unless they affect user-facing behavior 4. Record the remaining PR numbers as candidates for investigation. ## Step 2: Investigate each PR For each candidate PR, fetch the PR details from `dotnet/sdk` on GitHub: - **Title and description**: Understand what the PR does. - **Author and `author_association`**: Record whether the author is `MEMBER`, `CONTRIBUTOR`, or `NONE`. - `MEMBER` = Microsoft employee or org member (has maintainer/contributor access) - `CONTRIBUTOR` = has previously had a PR merged but is not a member - `NONE` = first-time or external contributor - **Labels**: Use area labels to help categorize. - **Linked issues**: Follow linked issues in the PR body for specs, documentation, or upstream context. Determine if the PR is **user-facing** — does it change CLI behavior, add new commands/options, add analyzers, change MSBuild properties/targets, or otherwise affect how developers use the SDK? Skip PRs that are purely internal refactoring, test-only changes, or infrastructure fixes with no user-visible impact. ## Step 3: Organize into sections Group the user-facing changes into these four major sections: ### 1. CLI command improvements Group by the specific `dotnet` command affected (`dotnet run`, `dotnet test`, `dotnet watch`, `dotnet format`, `dotnet build`, etc.). Each command gets its own `###` subsection. Multiple related changes to the same command should be grouped under `####` sub-headings within that command's section. ### 2. Code analyzers List new or changed analyzers in a table format: ```markdown | Analyzer ID | Description | PR | |-------------|-------------|-----| | [CAXXXX](docs-link) | Short description | [#NNNNN](pr-link) | ``` ### 3. MSBuild SDK properties and targets New or changed MSBuild properties, items, or targets that expose new SDK capabilities. Include XML examples showing usage. ### 4. Other changes Infrastructural, niche, or cross-cutting changes that don't fit the above categories but are still user-visible (e.g., encoding changes, verbosity changes). ## Step 4: Write feature descriptions For each feature, write a concise description that includes: - **What changed**: A clear explanation of the new behavior. - **Why it matters**: The user scenario or pain point this addresses. - **How to use it**: Code examples, CLI invocations, or MSBuild XML snippets as appropriate. - **Links**: Link to the PR, and if available, link to specs (check `documentation/specs/` in the repo), linked issues, or documentation. ## Step 5: Contributor acknowledgments ### Inline thanks For each listed feature where the PR author's `author_association` is NOT `MEMBER` (i.e., the contributor does not have maintainer/contributor org access to the SDK repo), add a thank-you line in that feature's section: ```markdown Thank you to [@username](https://github.com/username) for this community contribution! ``` ### Community contributors section At the bottom of the document, add a `## Community contributors` section listing ALL non-member commit authors from the branch diff (not just featured PR authors). To build this list: 1. Run `git log --no-merges --format="%an|%ae" <base>..<head> -- src/` to get all commit authors. 2. For each unique author, look up their GitHub username (from noreply email or by fetching the commit from GitHub). 3. Check their `author_association` on a PR they authored in `dotnet/sdk` — exclude `MEMBER` authors. 4. Also exclude bots (`dotnet-maestro[bot]`, `github-actions[bot]`, `Copilot`). 5. List the remaining community contributors alphabetically by GitHub username. ## Step 6: Final document structure ```markdown # .NET SDK in .NET <version> - Release Notes <Intro paragraph> <Table of contents with nested bullets> ## CLI command improvements ### `dotnet <command>`: Feature title ... ## Code analyzers ### New analyzers | table | ## New .NET SDK capabilities ### Feature title ... ## Other changes ### Feature title ... ## Community contributors - [@username](link) ... .NET SDK updates in .NET <version>: - [What's new in .NET <version>](docs-link) documentation ``` ## Output Create the release notes as a markdown file at `documentation/release-notes/` in the repo. Commit it on a new branch named `dev/<user>/release-notes-<version>`.
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Generate Release Notes (.NET)
Localization updates (xlf file changes only)
Dependency version bumps from `dotnet-maestro[bot]` or darc
Backflow merges between branches
Infrastructure-only changes (CI, build scripts) unless they affect user-facing behavior
Comment utiliser Generate Release Notes (.NET)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Generate Release Notes (.NET)
Dis simplement à ton agent quelque chose comme :
Applique le skill generate-release-notes__dotnet-dotnet__src-sdk-claude-skills-827bca675eb4 à cette tâche
Utilise generate-release-notes__dotnet-dotnet__src-sdk-claude-skills-827bca675eb4 pour améliorer cette implémentation
Passe en revue ce sujet avec generate-release-notes__dotnet-dotnet__src-sdk-claude-skills-827bca675eb4
Skills liés à Generate Release Notes (.NET)
Acceleration (Microsoft)
Compare synthetic acceleration options and clearly separate scenario value from forecast commitments.Account Overview (Microsoft)
Create a synthetic Acme account overview and identify evidence that merits seller attention.Acroform Writer (Microsoft)
Use this skill whenever the user wants values written INTO an existing PDF form that lives in the connected SharePoint knowledge source — filling out, completing, populating, or submitting a fillable PDF (application, intake sheet, contract, government form) from data they supply, a spreadsheet row, or the conversation. Triggers include "fill out the job application form", "complete the intake form for [person]", "populate our standard NDA template", and "make this ready to send / non-editable" (flatten). The source form should be found via knowledge search; only ask the user to upload it if knowledge search turns up nothing plausible. different task), and do NOT use it on scanned/image-only PDFs that have no real fillable fields — those need OCR or manual overlay instead, which this skill explicitly detects and reports rather than silently failing.