api-design

Guide extend-only API design for NuGet packages and distributed systems.

1|Updated Feb 16, 2026
One-click install
npx skills add https://github.com/bbsbot/mac-md-win --skill api-design-bbsbot
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design
Source: https://github.com/bbsbot/mac-md-win/tree/main/.claude/skills/dotnet/skills/csharp-api-design
Command: npx skills add https://github.com/bbsbot/mac-md-win --skill api-design-bbsbot

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the critical challenge of designing and maintaining stable, compatible public APIs for software libraries and distributed systems, minimizing upgrade friction for users.

Core Features & Use Cases

  • Extend-Only Design: Enforces principles to ensure backward and forward compatibility by only adding new features, never removing or breaking existing ones.
  • API Change Management: Provides clear guidelines on safe and unsafe API modifications, including deprecation strategies.
  • Wire Compatibility: Details how to evolve serialized data formats for distributed systems to support rolling upgrades.
  • Use Case: When developing a new version of a widely used NuGet package, this Skill helps ensure that existing applications using the previous version will continue to function without modification, allowing users to upgrade at their own pace.

Quick Start

Use the api-design skill to review a pull request for potential breaking API changes.

Frequently Asked Questions about api-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I maintain backward compatibility when versioning a NuGet package?

To maintain backward compatibility during NuGet package versioning, apply extend-only principles by only adding new features and never removing or breaking existing API surface area. This allows users to upgrade at their own pace without modification.

What is extend-only design in public API development?

Extend-only design in public API development is a principle ensuring backward and forward compatibility by exclusively adding new features rather than removing or modifying existing ones. It provides clear guidelines on safe API modifications and deprecation strategies.

How do I ensure wire compatibility for serialized data in distributed systems?

Ensure wire compatibility for serialized data in distributed systems by evolving schema-based serialization formats safely. This technique supports rolling upgrades across distributed system components without breaking existing communication protocols.

Can I use automated API approval testing to catch breaking changes in a pull request?

Yes, you can use automated API approval testing to review a pull request for potential breaking API changes. This testing approach validates that modifications adhere to safe extension patterns and encapsulation rules for robust software evolution.

What is the best way to deprecate an obsolete API method without breaking consumers?

The best way to deprecate an obsolete API method without breaking consumers is to follow safe extend-only API change management guidelines. This strategy maintains binary compatibility while signaling upcoming removals through structured deprecation paths.