modelcontextprotocol/csharp-sdk · Archived

bump-version

Assess and bump the SDK version using Semantic Versioning 2.0.0.

First seen Jun 19, 2026

Installation

$ npx skills add modelcontextprotocol/csharp-sdk --skill bump-version

Summary

  • Assess and bump the SDK version using Semantic Versioning 2.0.0.
  • Evaluates queued changes to recommend PATCH/MINOR/MAJOR, updates src/Directory.Build.props, and creates a pull request.
  • Owns the SemVer assessment logic shared by prepare-release and publish-release.
  • Use when asked to bump the version, assess the version, or determine what the next version should be.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from modelcontextprotocol/csharp-sdk.

npx skills add modelcontextprotocol/csharp-sdk

Browse all from modelcontextprotocol/csharp-sdk

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 4.4K
License LICENSE
Default branch main
Open issues 123
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

CompatibilityRequires gh CLI with repo access for creating branches and pull requests. GitHub API access for PR details when performing SemVer-informed assessment.

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,119 B
  • docs SUMMARY.md 386 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Bump Version

Assess and bump the SDK version in src/Directory.Build.props to prepare for the next release. This skill owns the Semantic Versioning 2.0.0 assessment logic — the [SemVer assessment guide](references/semver-assessment.md) is the single source of truth for version assessment criteria used across the release workflow by both the prepare-release and publish-release skills.

Use the shared [release branch reference](../shared-resources/release-branches.md) for branch roles, previous-release lookup rules, and release work-branch naming.

Note: For comprehensive release preparation — including ApiCompat/ApiDiff, documentation review, and release notes — use the prepare-release skill, which incorporates version assessment as part of its broader workflow.

Process

Step 1: Read Current Version and Previous Release

Read src/Directory.Build.props on the current branch and extract:

  • <VersionPrefix> — the MAJOR.MINOR.PATCH version
  • <VersionSuffix> — the prerelease suffix, when present

The candidate version is {VersionPrefix} plus -{VersionSuffix} when the suffix is present (for example, 2.0.0-preview.1). Display the current candidate version to the user.

Determine the previous release tag from gh release list — the highest semver among published releases that are ancestors of the target commit, not the most recently published by date. Draft releases must be ignored — they represent a pending release that has not yet shipped. Use --exclude-drafts or filter to only published releases when querying. The lookup is branch-aware: from a release/{MAJOR}.x branch, restrict candidates to tags matching v{MAJOR}.*; from main, there is no MAJOR filter. See [release-branches.md](../shared-resources/release-branches.md#previous-release-tag-lookup) for details, including why date ordering picks the wrong tag.

Step 2: Assess and Determine Next Version

If the user provided a target version in their prompt, use it directly. Otherwise, determine the next version using one of two approaches:

SemVer-Informed Assessment (Preferred)

When context about queued changes is available or can be gathered, assess the version following the [SemVer assessment guide](references/semver-assessment.md):

  1. Get the list of PRs merged between the previous release tag and the target commit (typically HEAD).
  2. Classify the release level:

- MAJOR — if any confirmed breaking changes (API or behavioral), excluding [Experimental] APIs - MINOR — if new public APIs, features, or obsoletion warnings are present - PATCH — otherwise

  1. Compute the recommended version from the previous release tag (see the assessment guide for increment rules).
  2. Compare against the current version in Directory.Build.props and flag any discrepancy.
  3. Present the assessment with a summary table and rationale, then get user confirmation.

Default Suggestion (Fallback)

When a quick bump is needed without full change analysis, suggest based on the candidate version:

  • Stable candidate — suggest the next minor version:

- Current 1.0.0 → suggest 1.1.0 - Current 1.2.3 → suggest 1.3.0

  • Prerelease candidate — if the suffix starts with an identifier such as preview. or rc. followed by an integer, suggest incrementing the trailing integer:

- Current 2.0.0-preview.1 → suggest 2.0.0-preview.2 - Current 2.0.0-rc.1 → suggest 2.0.0-rc.2

Present the suggestion and let the user confirm or provide an alternative.

Parse the confirmed version into its VersionPrefix and VersionSuffix components. Stable versions have no suffix.

Step 3: Create Pull Request

  1. Create a new branch named bump-version-to-{version} (e.g. bump-version-to-1.1.0) from the current branch
  2. Update src/Directory.Build.props:

- Set <VersionPrefix> to the confirmed stable component - Set <VersionSuffix> for prerelease versions, or clear it for stable versions; add the element if it is missing - Update <PackageValidationBaselineVersion> if the MAJOR version has changed

  1. Commit with message: Bump version to {version}
  2. Push the branch and create a pull request:

- Title: Bump version to {version} - Label: infrastructure - Base: the current branch (which, for a servicing branch like release/1.x, is that servicing branch — not main)

Step 4: Confirm

Display the pull request URL to the user.