Aaron Stannard built this for .NET developers who need to think carefully about public API surface area and versioning. It walks you through the three types of compatibility (binary, source, and wire format) and helps you catch breaking changes before they ship to NuGet. The skill shines during PR reviews and when you're planning migrations for distributed systems where wire format matters. It's opinionated in a good way, the kind of guidance that comes from shipping real libraries and dealing with the consequences of bad breaking changes. If you maintain anything with external consumers, this will save you from angry GitHub issues six months down the line.

skills.sh installs
690
GitHub stars
1.3K
last updated
Aug 21, 2026

Install

$ npx -y skills add aaronontheweb/dotnet-skills --skill api-design --agent claude-code

Installs into .claude/skills of the current project.

Files

Public API Design and Compatibility

When to Use This Skill

Use this skill when:

  • Designing public APIs for NuGet packages or libraries
  • Making changes to existing public APIs
  • Planning wire format changes for distributed systems
  • Implementing versioning strategies
  • Reviewing pull requests for breaking changes

The Three Types of Compatibility

TypeDefinitionScope
API/SourceCode compiles against newer versionPublic method signatures, types
BinaryCompiled code runs against newer versionAssembly layout, method tokens
WireSerialized data readable by other versionsNetwork protocols, persistence formats

Breaking any of these creates upgrade friction for users.


Extend-Only Design

The foundation of stable APIs: never remove or modify, only extend.

Three Pillars

  1. Previous functionality is immutable - Once released, behavior and signatures are locked
  2. New functionality through new constructs - Add overloads, new types, opt-in features
  3. Removal only after deprecation period - Years, not releases

Benefits

Sponsors

Details

Repository
github.com/aaronontheweb/dotnet-skills
Categories
Backend & APIs, Design & UI/UX, .NET & C#
First seen
Jun 3, 2026

More from aaronontheweb/dotnet-skills

All 34
1mindrally avatarviewcomfy-api-rulesmindrally/skillsExpert guidance for integrating ViewComfy API into web applications using Python and FastAPI686skills.sh installs
2bellopushon avatarwhatsapp-cloud-apibellopushon/whatsapp-cloud-apiwhatsapp cloud api684skills.sh installs
3sickn33 avatarpostgresqlsickn33/antigravity-awesome-skillspostgresql664skills.sh installs
4patternsdev avatarproxy-patternpatternsdev/skillsTeaches the proxy pattern for intercepting object operations. Use when you need validation, logging, formatting, or access control on property access, assignmen627skills.sh installs
5aj-geddes avataraws-lambda-functionsaj-geddes/useful-ai-promptsCreate and deploy serverless functions using AWS Lambda with event sources, permissions, layers, and environment configuration. Use for event-driven computing w619skills.sh installs
6sickn33 avatarbackend-development-feature-developmentsickn33/antigravity-awesome-skillsbackend development feature development615skills.sh installs