Publish a GitHub release for the C# MCP SDK after a prepare-release PR has been merged. Refreshes release notes to include any PRs merged since preparation, warns about version or breaking change impacts from late-arriving PRs, and creates a draft GitHub release. Use when asked to publish a release, finalize a release, create release notes, or complete a release after the prepare-release PR has been merged.
Create a GitHub release for the modelcontextprotocol/csharp-sdk repository after a prepare-release PR has been merged. This skill refreshes the release notes to include any PRs merged between the preparation branch point and the merge, warns about changes that affect the version or breaking change assessment, and creates a draft GitHub release.
Safety: This skill only creates and updates draft releases. It must never publish a release. If the user asks to publish, decline and instruct them to publish manually through the GitHub UI.
Work through each step sequentially. Present findings at each step and get user confirmation before proceeding.
The user may provide:
1.1.0) — search for a merged PR titled Release v{version}Release v in the title and ask the user to selectVerify the PR is merged. Extract:
src/Directory.Build.props at the merge commit to confirm <VersionPrefix>. The tag is v{VersionPrefix}.gh release list (most recent published release — exclude drafts with --exclude-drafts).Compare the PRs included in the original prepare-release PR description with the full set of PRs now merged in the commit range. Use the SemVer assessment guide (owned by the bump-version skill) to evaluate the impact of any new PRs against the version that was committed during preparation.
#NNN references in release notes sections).If new PRs exist, warn the user with details for each new PR:
⚠️ New PRs merged since release preparation:
- #NNN — Title (@author) — [impact assessment]
For each new PR, assess and flag impacts:
If any new PRs have version-level or breaking change impacts, strongly recommend that the user either:
The user must explicitly choose an option before proceeding.
Re-categorize all PRs in the commit range (including any new ones from Step 3). See the categorization guide for detailed guidance.
Co-authored-by trailers from all commits in each PR.Verify that all C# code samples in the package README files compile against the current SDK at the merge commit. Follow the README validation guide for the full procedure.
csharp-fenced code blocks from README.md and src/PACKAGE.mdtests/ReadmeSnippetValidation/Present each section for user review:
Highlight any changes from the prepare-release draft (new entries, reordered entries, updated descriptions) so the user can see what's different.
Every release must have a preamble — a short paragraph summarizing the release theme that appears before the first ## heading. The preamble is not optional. The preamble may mention the presence of breaking changes as part of the theme summary, but the versioning documentation link belongs under the Breaking Changes heading (see template), not in the preamble.
Extract the draft preamble from the prepare-release PR description and present it alongside a freshly drafted alternative (accounting for any new PRs).
Present both options and let the user choose one, edit one, or enter their own text or markdown.
Follow references/formatting.md when composing and updating the release body.
Display release metadata for user review:
v1.1.0)After confirmation:
gh release create --draft (always --draft)When the user requests revisions after the initial creation, always rewrite the complete body as a file — never perform in-place string replacements. See references/formatting.md.
Co-authored-by trailers to determine whether @Copilot should be a co-author; if still unclear, use @Copilot as primary authorOmit empty sections. The preamble is always required — it is not inside a section heading.
[Preamble — REQUIRED. Summarize the release theme.]
## Breaking Changes
Refer to the [C# SDK Versioning](https://csharp.sdk.modelcontextprotocol.io/versioning.html) documentation for details on versioning and breaking change policies.
1. **Description #PR**
* Detail of the break
* Migration guidance
## What's Changed
* Description #PR by @author (co-authored by @user1 @Copilot)
## Documentation Updates
* Description #PR by @author (co-authored by @user1 @Copilot)
## Test Improvements
* Description #PR by @author (co-authored by @user1 @Copilot)
## Repository Infrastructure Updates
* Description #PR by @author (co-authored by @user1 @Copilot)
## Acknowledgements
* @user made their first contribution in #PR
* @user submitted issue #1234 (resolved by #5678)
* @user1 @user2 @user3 reviewed pull requests
**Full Changelog**: https://github.com/modelcontextprotocol/csharp-sdk/compare/previous-tag...new-tag