AI Agent and SKILL for What's New gen from Release Notes#36863
AI Agent and SKILL for What's New gen from Release Notes#36863wadepickett wants to merge 13 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a GitHub Copilot agent + supporting skill to automate generating “What’s New in ASP.NET Core” include content from dotnet/core preview release notes, including incremental/delta updates.
Changes:
- Added a new agent that orchestrates reading release notes, diffing against existing includes, generating new include files, and wiring
[!INCLUDE]directives into the What’s New article. - Added a skill that defines standardized include-file content rules (headings,
<xref:>usage, link formats, phrasing, exclusions) and a validation checklist.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
.github/agents/whats-new-from-release-notes.agent.md |
New agent prompt for end-to-end “What’s New” generation/update workflow. |
.github/skills/whats-new-include-content-rules/SKILL.md |
New skill defining include-file formatting/content rules and validation checklist. |
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fix formatting of code block for OpenAPI version update. Removed hidden character
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…/dotnet/AspNetCore.Docs into wadepickett/36862AiAgentWhatsNew
tdykstra
left a comment
There was a problem hiding this comment.
Looks great, I'm anxious to see what it generates!
| Before creating any files, you MUST: | ||
|
|
||
| 1. **Read the source release notes** from `dotnet/core` at the specified branch: | ||
| `release-notes/{VERSION}/preview/{PREVIEW}/aspnetcore.md` |
There was a problem hiding this comment.
should version here be major version as in subsequent lines?
| * **Wrong**: `` `AddOpenApi()` `` | ||
| * **Correct**: `<xref:Microsoft.Extensions.DependencyInjection.OpenApiServiceCollectionExtensions.AddOpenApi%2A>` | ||
| * **Wrong**: `` `BadHttpRequestException` `` | ||
| * **Correct**: `<xref:Microsoft.AspNetCore.Http.BadHttpRequestException>` | ||
| * When referencing an API type or method, always use `<xref:fully.qualified.name>` |
There was a problem hiding this comment.
If the Api is new, xref format won't work, You could have them link to the source code instead.
There was a problem hiding this comment.
Great point. I wonder if it is capable of testing first for the xref and if that does not work, fall back to the source code and make an comment to update to xref later as the api becomes available.
meaghanlewis
left a comment
There was a problem hiding this comment.
This looks great @wadepickett! I left a few suggestions and questions for you to consider.
|
|
||
| ### Links — use relative paths for Microsoft Learn | ||
|
|
||
| * **Wrong**: `[Breaking changes in .NET]([/dotnet/core/compatibility/breaking-changes](https://learn.microsoft.com/dotnet/core/compatibility/breaking-changes))` |
There was a problem hiding this comment.
| * **Wrong**: `[Breaking changes in .NET]([/dotnet/core/compatibility/breaking-changes](https://learn.microsoft.com/dotnet/core/compatibility/breaking-changes))` | |
| * **Wrong**: `[Breaking changes in .NET](https://learn.microsoft.com/dotnet/core/compatibility/breaking-changes)` |
There was a problem hiding this comment.
Is this what you meant here instead?
There was a problem hiding this comment.
I provided an example of what not to do , because it kept trying to do it that way during testing.
|
|
||
| ### Phrasing and style (lessons from reviewer feedback) | ||
|
|
||
| * Use **"For more information, see [link text](url)."** — not em-dash + "see … for details." |
There was a problem hiding this comment.
| * Use **"For more information, see [link text](url)."** — not em-dash + "see … for details." | |
| * Use **"For more information, see [link text](url)."**, not "see [link text](url) for details." |
There was a problem hiding this comment.
This better follows the style of the other list items in this section. Also, I don't understand the em-dash part of this sentence. An example could help.
There was a problem hiding this comment.
I goofed this up. Basically it was trying to say, don't use an em-dash. It should have had a wrong example using a em-dash and then a correct example not using it. Thanks for pointing it out. I need to fix.
| Before reading any files, resolve the following parameters. If the invoker | ||
| provided explicit values, use them. Otherwise, auto-discover. | ||
|
|
||
| | Parameter | Required | Default | Description | |
There was a problem hiding this comment.
Should the same table from the inputs section be here as well?
|
|
||
| - [ ] The What's New article `ms.date` is set to today's date | ||
| - [ ] All `[!INCLUDE]` directives are correctly placed with blank lines around them | ||
| - [ ] Section mapping matches the table above |
There was a problem hiding this comment.
Can you specify or link to the section that has the table instead of using above.
Adding suggestions from MeaghanLewis Co-authored-by: Meaghan Osagie (Lewis) <moneikmarie@gmail.com>
Fixes #36862
Overview for Reviewers
This PR adds two files that work together to automate generating the "What's New in ASP.NET Core" article content from .NET preview release notes:
Agent:
whats-new-from-release-notes.agent.mddotnet/coredotnet/AspNetCore.Docs[!INCLUDE]directives into the correct sections of the What's New articleSkill:
whats-new-include-content-rules/SKILL.md-preview{N}suffix)<xref:>API reference format.github/agents/whats-new-from-release-notes.agent.md.github/skills/whats-new-include-content-rules/SKILL.mdIn short: The agent decides what to do and when. The skill decides how the content should look. They are separated so the content rules can be reused independently (e.g., by a human author or a different agent) without re-implementing the orchestration logic.
Agent workflow
dotnet/core, reads the current What's New article, lists existing include files, compares source vs. existing, and reports the delta (new / updated / already covered).[!INCLUDE]directives in the correct product-area sections, updatesms.date, preserves the Breaking Changes section.Key content rules encoded in the skill
-preview{N}<xref:fully.qualified.name>for API references — not backtick inline codeInternal previews