api-design

Define external API contracts with protocols, pagination, idempotency, and versioning.

42|2|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/proyecto26/system-design-skills --skill api-design-proyecto26
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design
Source: https://github.com/proyecto26/system-design-skills/tree/main/skills/api-design
Command: npx skills add https://github.com/proyecto26/system-design-skills --skill api-design-proyecto26

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill eliminates guesswork in interface design by providing a structured framework for defining request/response shapes, protocol choices, and error handling, ensuring your system's building blocks communicate reliably.

Core Features & Use Cases

  • Protocol Selection: Expert guidance on choosing between REST, gRPC, GraphQL, or streaming based on latency, read/write ratios, and client requirements.
  • Contract Safety: Standardizes idempotency keys, pagination strategies, and error envelopes to prevent common failure modes like double-execution or retry storms.
  • Use Case: When designing a new user-facing service, use this skill to define the API contract, ensuring that your pagination strategy handles large datasets efficiently and your error responses are consistent across all endpoints.

Quick Start

Use the api-design skill to define the request and response contract for a new user profile service including pagination and idempotency requirements.

Frequently Asked Questions about api-design

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

FAQPage Schema
What's the best way to choose between REST, gRPC, and GraphQL for my API design?

API design ensures contract safety by standardizing idempotency keys and error envelopes. This prevents common failure modes like double-execution or retry storms, maintaining reliable communication between distributed services and clients.

How do I handle API pagination strategies for large datasets efficiently?

API design standardizes error envelopes and response shapes to guarantee consistent error handling. This structured framework eliminates guesswork, ensuring your system's building blocks return predictable errors across all endpoints.

When do I need to implement idempotency mechanisms in my API contract?

API design supports scalable system architectures by defining clear communication contracts and versioning policies. This structured approach ensures your external interface handles performance-optimized data access patterns as system load grows.

How do I define API versioning policies for distributed services?

API design applies versioning policies to the communication contract between distributed services and clients. By standardizing request and response shapes with versioning rules, your system maintains backward compatibility while evolving.

Can I use this API design framework for streaming protocols and user-facing services?

API design covers protocol selection including streaming based on client requirements. For new user-facing services, the framework defines the complete API contract including pagination, idempotency, and error handling requirements.