azure-sdk-for-net: Skill for Claude Code

.github/skills/mitigate-breaking-changes/SKILL.md

mitigate-breaking-changes is a skill for Claude Code, Codex from Azure/azure-sdk-for-net. It costs 60 tokens per session (2,286 once invoked), scanned A, original, MIT.

A guide to preserving compatibility while migrating Azure management SDKs for .NET from older Swagger or AutoRest generation to TypeSpec. SDKs are programming libraries that let applications use Azure services.

In plain words
What is it for?
Use it when handling SDK breaking changes with partial classes, renamed generated types, suppressed code, paging annotations, or changed model hierarchies.
Why use it?
Regenerating an SDK can rename types, change inheritance, or alter available methods, breaking existing applications. These patterns show where to add compatibility adjustments in the SDK or its TypeSpec definitions.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

This is Azure/azure-sdk-for-net's own configuration. It tells Claude Code and Codex how to work on azure-sdk-for-net itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything azure-sdk-for-net configures →

About the project

Azure SDK for .NET is a repository containing the actively developed C# libraries that applications use to work with Azure services. It is for .NET developers building software that connects to Azure storage, management, and other cloud services.

Azure/azure-sdk-for-net · 6,049 stars · on GitHub

Reuse

Borrowing it

Nothing to install: this file belongs to Azure/azure-sdk-for-net. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/Azure/azure-sdk-for-net/main/.github/skills/mitigate-breaking-changes/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/Azure/azure-sdk-for-net

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for mitigate-breaking-changes

README.md
[![agentmods](https://agentmods.dev/badge/skills/azure/azure-sdk-for-net/mitigate-breaking-changes.svg)](https://agentmods.dev/skills/azure/azure-sdk-for-net/mitigate-breaking-changes)
Your own site
<a href="https://agentmods.dev/skills/azure/azure-sdk-for-net/mitigate-breaking-changes"><img src="https://agentmods.dev/badge/skills/azure/azure-sdk-for-net/mitigate-breaking-changes.svg" alt="Measured on agentmods" height="20"></a>
Per session 60 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,286 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00060 $0.02286
Opus 5 $0.00030 $0.01143
Sonnet 5 $0.00012 $0.00457
Haiku 4.5 $0.00006 $0.00229

Measured 2d ago against content hash 29733b5d39aa, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

mitigate-breaking-changes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/skills/mitigate-breaking-changes/SKILL.md · 183 lines

How it starts

The opening of the file, as written. The whole thing — 183 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Skill: mitigate-breaking-changes

Patterns and techniques for mitigating breaking changes when regenerating Azure management-plane .NET SDKs. Use these to preserve backward compatibility in the generated SDK surface.

When Invoked

Trigger phrases: "mitigate breaking changes", "fix breaking change", "customization patterns", "how to keep backward compat", "CodeGenType", "CodeGenSuppress", "markAsPageable", "hierarchyBuilding", "base type change".

SDK-Side Customizations (in SDK repo)

Use Custom/*.cs or Customization/*.cs partial classes (follow the package's existing structure) for .NET-side fixes.

Custom code file organization

Keep custom code types split into separate files:

  • Put each custom type/partial type in its own .cs file.
  • Name the file after the class it contains, for example src/Custom/Models/MyModel.cs for public partial class MyModel.
  • Align the custom code folder structure with the generated code structure, such as using Models/ for model customizations and Extensions/ for extension customizations when those folders exist.
  • Do not group multiple compatibility types in a single broad file such as Compatibility.cs; split them so each file name aligns with the class name.

Partial class (add members, suppress generated members)

// src/Custom/Models/MyModel.cs (or src/Customization/Models/MyModel.cs — follow the package's existing convention)
namespace Azure.ResourceManager.<Service>.Models
{
    public partial class MyModel
    {
        // Add computed properties, rename via [CodeGenMember], etc.
    }
}

[CodeGenType] — Override accessibility or rename a generated type

When a generated type is internal and @@access in client.tsp doesn't work (common for nested/wrapper types), use [CodeGenType] in Custom code to make it public:

// src/Custom/Models/MyPublicModel.cs
using Microsoft.TypeSpec.Generator.Customizations;

namespace Azure.ResourceManager.<Service>.Models
{
    [CodeGenType("OriginalTypeSpecModelName")]
    public partial class MyPublicModel
    {
    }
}

Read the full file on GitHub · 183 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago Changed · -8 tokens per session 29733b5d39aa
  2. 6d ago First seen · 183 lines · 68 tokens per session scan A 72799531e63b

Subscribe to this mod's changes

mitigate-breaking-changes is a skill published in the GitHub repository Azure/azure-sdk-for-net (6,049 stars, last pushed today), licensed MIT. It adds 60 tokens to every session and 2,286 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

csharp-expert

Expert-level C# development with .NET 8+, ASP.NET Core, LINQ, async/await, and enterprise patterns. Use when the user mentions C#, .NET, ASP.NET, enterprise, or Microsoft platforms, or when the task involves Modern C#, Async/Await, LINQ, or ASP.NET Core.

personamanagmentlayer/pcl · 70 tokens

azure-maps-search-dotnet

Azure Maps SDK for .NET. Location-based services including geocoding, routing, rendering, geolocation, and weather. Use for address search, directions, map tiles, IP geolocation, and weather data. Triggers: "Azure Maps", "MapsSearchClient", "MapsRoutingClient", "MapsRenderingClient", "geocoding .NET", "route…

microsoft/skills · 91 tokens

azure-resource-manager-postgresql-dotnet

Azure PostgreSQL Flexible Server SDK for .NET. Database management for PostgreSQL Flexible Server deployments. Use for creating servers, databases, firewall rules, configurations, backups, and high availability. Triggers: "PostgreSQL", "PostgreSqlFlexibleServer", "PostgreSQL Flexible Server", "Azure Database for…

microsoft/skills · 97 tokens

azure-ai-openai-dotnet

Azure OpenAI SDK for .NET. Client library for Azure OpenAI and OpenAI services. Use for chat completions, embeddings, image generation, audio transcription, and assistants. Triggers: "Azure OpenAI", "AzureOpenAIClient", "ChatClient", "chat completions .NET", "GPT-4", "embeddings", "DALL-E", "Whisper", "OpenAI .NET".

microsoft/skills · 92 tokens

azure-mgmt-apicenter-dotnet

Azure API Center SDK for .NET. Centralized API inventory management with governance, versioning, and discovery. Use for creating API services, workspaces, APIs, versions, definitions, environments, deployments, and metadata schemas. Triggers: "API Center", "ApiCenterService", "ApiCenterWorkspace", "ApiCenterApi", "API…

microsoft/skills · 97 tokens

azure-ai-voicelive-dotnet

Azure AI Voice Live SDK for .NET. Build real-time voice AI applications with bidirectional WebSocket communication. Use for voice assistants, conversational AI, real-time speech-to-speech, and voice-enabled chatbots. Triggers: "voice live", "real-time voice", "VoiceLiveClient", "VoiceLiveSession", "voice assistant…

microsoft/skills · 92 tokens