api-design-and-evolution

Design API contracts prioritizing domain semantics and consumer jobs.

40|6|Updated Jul 11, 2026
One-click install
npx skills add https://github.com/magnus919/agent-skills --skill api-design-and-evolution
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design-and-evolution
Source: https://github.com/magnus919/agent-skills/tree/main/api-design-and-evolution
Command: npx skills add https://github.com/magnus919/agent-skills --skill api-design-and-evolution

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill addresses the challenge of designing APIs that are robust, maintainable, and easy for consumers to integrate with, preventing common pitfalls like unwritten assumptions and breaking changes.

Core Features & Use Cases

  • Contract-First Design: Guides the creation of API briefs and contracts that prioritize consumer jobs and domain semantics over implementation details.
  • Evolution & Compatibility: Provides frameworks for assessing breaking changes, planning deprecations, and managing migrations with clear evidence.
  • Multi-Protocol Support: Offers guidance for REST, GraphQL, RPC, events, webhooks, and streaming interfaces.

Quick Start

Use the api-design-and-evolution skill to design an API contract for creating and listing invoices including retry and migration behavior.

Frequently Asked Questions about api-design-and-evolution

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

FAQPage Schema
How do I design an API contract that prevents breaking changes for consumers?

Design API contracts by prioritizing consumer jobs and domain semantics over implementation details to prevent breaking changes. This approach ensures durable, maintainable interfaces by making assumptions explicit and documenting failure modes.

What is the best way to plan API deprecations and migrations?

Plan API deprecations and migrations using evolution frameworks that assess breaking changes and provide clear evidence for compatibility. This ensures durable consumer-focused contracts while managing transitions smoothly across REST, GraphQL, or event interfaces.

Does this approach work for both REST and event-driven webhook interfaces?

Yes, this approach works for REST, GraphQL, RPC, events, webhooks, and streaming interfaces. It applies contract-first design and compatibility assessments across the full lifecycle of multiple protocols to satisfy consumer requirements.

How do I document explicit failure modes for an API?

Document explicit failure modes by creating API briefs and contracts that prioritize consumer jobs and domain semantics. This contract-first approach ensures robust, maintainable interfaces by satisfying requirements for clear compatibility assessments and durable documentation.

When do I need contract-first API design instead of implementation-first?

You need contract-first API design when building consumer-facing interfaces that require robust integration and durable documentation. It prevents unwritten assumptions and breaking changes by guiding the creation of contracts focused on consumer jobs and domain semantics.

Can I use this method to design an API for creating and listing invoices with retry behavior?

Yes, you can use this method to design an API contract for creating and listing invoices including retry and migration behavior. It guides the creation of durable, consumer-focused contracts that explicitly define failure modes and compatibility.