mcpbeat Sign in

Bump Mgmt Base Version Agent Skill

Bump the http-client-csharp base dependency version in http-client-csharp-mgmt. Updates emitter (npm) and generator (NuGet) references, rebuilds, and regenerates test projects.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
6033
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Azure/azure-sdk-for-net --skill bump-mgmt-base-version

The instruction itself

14 sections, as written by the author

Skill: bump-mgmt-base-version

Bump the base http-client-csharp dependency used by the management-plane generator (http-client-csharp-mgmt). This updates both the npm emitter dependency and the NuGet generator dependency, then rebuilds and regenerates test projects.

When Invoked

Trigger phrases: "bump mgmt base version", "update http-client-csharp in mgmt", "bump generator version", "update mgmt dependency".

Instructions

1. Determine the target version

Read the latest version of @azure-typespec/http-client-csharp from:

eng/azure-typespec-http-client-csharp-emitter-package.json

Look at the dependencies["@azure-typespec/http-client-csharp"] value. This is the target version.

2. Identify current versions

Check the current versions in these two files:

| File | Field | Purpose |

|------|-------|---------|

| eng/packages/http-client-csharp-mgmt/package.json | dependencies["@azure-typespec/http-client-csharp"] | Emitter npm dependency |

| eng/centralpackagemanagement/Directory.Generation.Packages.props | <AzureGeneratorVersion> | Generator NuGet dependency (used by Azure.Generator.Management.csproj via <PackageReference Include="Azure.Generator" />) |

If both already match the target version, no update is needed — inform the user and stop.

3. Update version references

Update both files to the target version:

  • eng/packages/http-client-csharp-mgmt/package.json: Change the @azure-typespec/http-client-csharp version in dependencies.
  • eng/centralpackagemanagement/Directory.Generation.Packages.props: Change the <AzureGeneratorVersion> value.

4. Run npm install

cd eng/packages/http-client-csharp-mgmt
npm install

This updates package-lock.json to resolve the new dependency version.

5. Build the emitter

cd eng/packages/http-client-csharp-mgmt
npm run build:emitter

If TypeScript compilation fails, examine the errors — they likely indicate breaking API changes in the base @azure-typespec/http-client-csharp package. Fix the emitter source code under eng/packages/http-client-csharp-mgmt/emitter/ accordingly.

6. Lint and format the emitter

cd eng/packages/http-client-csharp-mgmt
npm run lint
npm run prettier

If lint or prettier checks fail, fix with:

npm run lint:fix
npm run prettier:fix

These checks are required to pass CI. Always run them after any emitter code changes.

7. Build the generator

cd eng/packages/http-client-csharp-mgmt
npm run build:generator

This runs dotnet build ./generator. The Azure.Generator.Management project references the Azure.Generator NuGet package, whose version is controlled by AzureGeneratorVersion in eng/centralpackagemanagement/Directory.Generation.Packages.props.

If C# compilation fails, examine the errors — they likely indicate breaking API changes in the Azure.Generator package. Fix the generator source code under eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/ accordingly.

8. Regenerate test projects

pwsh eng/packages/http-client-csharp-mgmt/eng/scripts/Generate.ps1

This script:

  • Rebuilds the emitter and generator (via Refresh-Mgmt-Build)
  • Regenerates the Mgmt-TypeSpec test project under generator/TestProjects/Local/Mgmt-TypeSpec/
  • Builds the regenerated test project to verify correctness

If regeneration produces file changes, they must be included in the commit.

9. Refresh the Emitter Version Dashboard

pwsh doc/GeneratorVersions/Emitter_Version_Dashboard.ps1

This regenerates doc/GeneratorVersions/Emitter_Version_Dashboard.md so the documented dependency chain matches the updated package.json versions. The updated dashboard file must be included in the commit.

10. Verify

  • Run git status to see all modified files
  • Ensure package.json, package-lock.json, Directory.Generation.Packages.props, Emitter_Version_Dashboard.md, and any regenerated test project files are included
  • All changes should be committed together

Key Files Reference

| File | Role |

|------|------|

| eng/azure-typespec-http-client-csharp-emitter-package.json | Source of truth for latest base version |

| eng/packages/http-client-csharp-mgmt/package.json | Mgmt emitter npm dependencies |

| eng/packages/http-client-csharp-mgmt/package-lock.json | Resolved npm dependency tree |

| eng/centralpackagemanagement/Directory.Generation.Packages.props | NuGet version properties (AzureGeneratorVersion) |

| eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Azure.Generator.Management.csproj | Generator project referencing Azure.Generator |

| eng/packages/http-client-csharp-mgmt/eng/scripts/Generate.ps1 | Test project regeneration script |

| eng/packages/http-client-csharp-mgmt/eng/scripts/Generation.psm1 | Build and generation helper functions |

| doc/GeneratorVersions/Emitter_Version_Dashboard.ps1 | Script to regenerate the version dashboard |

| doc/GeneratorVersions/Emitter_Version_Dashboard.md | Emitter dependency version dashboard |

Other skills for the same job

different authors, same section of the catalogue
MCP Builder
by anthropics
vendor ×13

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

30k tokens scripts
Changelog Generator
by frostant
×9

Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.

774 tokens
Finishing A Development Branch
by ZhanlinCui
×7

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

1k tokens
MCP Builder
by JayZeeDesign
×7

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

37k tokens scripts
Vercel React Native Skills
by vercel-labs
vendor ×6

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

39k tokens
Vercel React Best Practices
by ratacat
×5

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

34k tokens
Next Best Practices
by vercel-labs
vendor ×4

Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling

20k tokens
Using Git Worktrees
by ZhanlinCui
×4

Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification

1k tokens

How to use it

Copy the folder

Take azure/bump-mgmt-base-version from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npm. Without those the skill loads but fails at the first command.