api-designer

Design REST, GraphQL, and gRPC API contracts with versioning and error formats.

Updated Apr 4, 2026
One-click install
npx skills add https://github.com/asalhamed/dev-agents --skill api-designer-asalhamed
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-designer
Source: https://github.com/asalhamed/dev-agents/tree/main/api-designer
Command: npx skills add https://github.com/asalhamed/dev-agents --skill api-designer-asalhamed

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

API design is often ad-hoc and brittle when domain contracts are not translated into stable, versioned surfaces. This Skill provides a contract-first approach to translate domain models into REST, GraphQL, and gRPC API contracts with consistent error handling, pagination, and developer experience.

Core Features & Use Cases

  • Generate API contracts from architected domain models, including aggregates, events, and value objects.
  • Enforce consistent naming conventions, pagination strategies, and backward-compatible versioning across REST, GraphQL, and gRPC.
  • Use Case: When a new domain module is introduced, create a ready-to-implement API surface for frontend and backend teams.

Quick Start

Instantiate a v1 API contract from a domain module by following the contract-first guidelines.

Frequently Asked Questions about api-designer

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

FAQPage Schema
How do I design API contracts for REST, GraphQL, and gRPC?

API contracts are designed by translating domain models into stable, versioned surfaces with consistent naming conventions, pagination strategies, and error formats. This contract-first approach ensures frontend and backend teams receive a ready-to-implement API surface.

What is the best way to enforce consistent error handling across API endpoints?

Enforcing consistent error handling requires applying RFC 7807 error formats across your API contracts. This standardizes error responses so frontend and backend teams can reliably parse and handle failures across integrations.

How do I version REST APIs while maintaining backward compatibility for frontend teams?

Versioning REST APIs for backward compatibility involves applying contract-first guidelines when translating domain aggregates into API surfaces. This enforces consistent naming and pagination strategies, ensuring stable endpoints for consumption.

When do I need contract-first API design for my domain models?

Contract-first API design is needed when translating architected domain models, including aggregates, events, and value objects, into stable API surfaces. It prevents ad-hoc endpoints by enforcing versioning and documentation practices.

Does this approach support generating both GraphQL and gRPC contracts from the same domain module?

Yes, this approach supports generating both GraphQL and gRPC contracts from the same domain module. It translates domain contracts from architects into stable API surfaces, enforcing consistent pagination and error formats across scenarios.