api-design

Design stable public APIs for NuGet packages using extend-only principles.

10|Updated Jan 28, 2026
One-click install
npx skills add https://github.com/AGIBuild/Agibuild.Fulora --skill api-design-agibuild
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design
Source: https://github.com/AGIBuild/Agibuild.Fulora/tree/main/.cursor/skills/csharp-api-design
Command: npx skills add https://github.com/AGIBuild/Agibuild.Fulora --skill api-design-agibuild

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers design and maintain public APIs that are stable, compatible, and easy for consumers to use and upgrade, preventing breaking changes and reducing friction.

Core Features & Use Cases

  • API Compatibility: Ensures source, binary, and wire compatibility across versions.
  • Extend-Only Design: Guides users to add new features without breaking existing functionality.
  • Versioning Strategies: Implements semantic versioning and deprecation patterns.
  • Use Case: When designing a new NuGet package, use this Skill to ensure its public API follows best practices for naming, parameter ordering, and return types, making it robust for future iterations.

Quick Start

Use the api-design skill to review the proposed changes for the WidgetService public API.

Frequently Asked Questions about api-design

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

FAQPage Schema
How do I prevent breaking changes in a NuGet package API?

To prevent breaking changes in a NuGet package API, apply extend-only design principles that ensure source, binary, and wire compatibility. This approach adds new features without altering existing functionality, keeping consumer upgrades smooth.

What is the best way to version a public API to maintain compatibility?

The best way to version a public API for compatibility is to implement semantic versioning alongside strict deprecation patterns. This signals changes clearly to consumers and manages transitions without forcing immediate breaks in distributed systems.

How does extend-only API design work for distributed systems?

Extend-only API design works by adding new endpoints, parameters, or types without modifying or removing existing ones. This preserves wire and source compatibility across distributed systems, ensuring existing clients continue functioning uninterrupted.

How do I manage API deprecation patterns without breaking existing consumers?

Manage API deprecation by marking old methods or parameters as obsolete while introducing replacements. Following strict deprecation patterns provides consumers a transition window, minimizing friction and avoiding sudden breaking changes.

Can automated API approval testing catch source and binary compatibility issues?

Yes, automated API approval testing catches source and binary compatibility issues by reviewing public API surface changes. It enforces extend-only principles, validating naming conventions and parameter ordering before release.

What naming conventions and parameter ordering should public API design follow?

Public API design should follow consistent naming conventions and stable parameter ordering to prevent breaking changes. Keeping mandatory parameters first and appending new ones at the end maintains source compatibility across versions.