What problem does it solve? Public APIs in NuGet packages and distributed systems break consumers when signatures change, members are removed, or wire formats evolve unsafely. This Skill guides you to design APIs that stay source, binary, and wire compatible across versions. ## Core Features & Use Cases - Extend-Only API Design: Enforces rules for adding overloads, optional parameters, and new types without breaking existing callers, including deprecation patterns with [Obsolete]. - Naming, Parameters, and Return Types: Provides conventions for type suffixes, async naming, parameter ordering with CancellationToken last, and choosing between IReadOnlyList, IAsyncEnumerable, and ValueTask. - Wire Compatibility and Versioning: Covers safe serialization evolution, enum strategies, semantic versioning, and API approval testing with PublicApiGenerator. - Use Case: When reviewing a pull request that changes a public method signature, use this Skill to identify the breaking change and produce a safe alternative such as a new overload plus an [Obsolete] attribute. ## Quick Start Ask the assistant to review your public API changes for breaking changes and suggest extend-only alternatives following this Skill's guidelines.