What problem does it solve?
This Skill addresses the critical challenge of designing and maintaining public APIs that remain stable, compatible, and easy for consumers to use over time, preventing breaking changes and reducing upgrade friction.
Core Features & Use Cases
- Extend-Only Design: Enforces principles to only add to APIs, never remove or break existing functionality.
- Compatibility Management: Covers API (source), binary, and wire compatibility for NuGet packages and distributed systems.
- Versioning Strategies: Provides guidance on semantic versioning and deprecation patterns.
- API Approval Testing: Integrates tools like ApiApprover and Verify to catch breaking changes automatically.
- Wire Format Evolution: Details safe patterns for evolving data formats in distributed systems.
- Use Case: When developing a new version of a widely used .NET library, this skill ensures that existing applications using the previous version will continue to function without modification, while new features are introduced seamlessly.
Quick Start
Use the api-design skill to review a proposed change to the public API of the OrderProcessor class to ensure it follows extend-only principles.