What problem does it solve?
This Skill helps developers design and maintain stable, compatible public APIs for software libraries and distributed systems, minimizing breaking changes for users.
Core Features & Use Cases
- Extend-Only Design: Enforces principles to only add to APIs, never remove or break existing functionality.
- Compatibility Management: Addresses API (source), binary, and wire compatibility.
- Versioning Strategies: Guides on semantic versioning and deprecation patterns.
- API Approval Testing: Integrates with tools like
ApiApprover and Verify to catch breaking changes automatically.
- Wire Format Evolution: Provides patterns for safely evolving data formats in distributed systems.
- Use Case: When introducing a new feature to a widely used NuGet package, this Skill ensures the change doesn't break existing applications that depend on the older version.
Quick Start
Use the api-design skill to review the proposed changes for the OrderProcessor class to ensure they follow extend-only principles.