api-designer

Design REST and GraphQL APIs with OpenAPI 3.1 specifications and schemas.

68|6|Updated Apr 16, 2020
One-click install
npx skills add https://github.com/zenobi-us/dotfiles --skill api-designer-zenobi-us
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-designer
Source: https://github.com/zenobi-us/dotfiles/tree/main/devtools/files/opencode/skills/api-designer
Command: npx skills add https://github.com/zenobi-us/dotfiles --skill api-designer-zenobi-us

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solves? Poorly designed APIs lead to integration headaches, performance bottlenecks, and a frustrating developer experience, hindering adoption and scalability.

Core Features & Use Cases

  • Scalable API Architecture: Designs REST and GraphQL APIs with a focus on consistency, performance, and maintainability.
  • Comprehensive Documentation: Generates OpenAPI 3.1 specifications and GraphQL schemas with request/response examples and error codes.
  • Developer Experience Optimization: Prioritizes usability with interactive documentation, SDK generation, and mock servers.
  • Use Case: You need to design a new public API for your service. Use this Skill to define clear resource models, create a comprehensive OpenAPI 3.1 specification, and ensure consistent error handling and authentication patterns, making your API a joy to use.

Quick Start

Use the api-designer skill to design a new REST API for a 'user management' service, focusing on resource definitions and endpoint design.

Frequently Asked Questions about api-designer

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

FAQPage Schema
How do I design a REST API that scales with my application?

REST API design for scalability requires consistent resource naming, versioning strategies, pagination, and caching headers. Use OpenAPI 3.1 specifications to document endpoints, define clear request/response models, implement rate limiting and authentication patterns, and ensure backward compatibility as your API evolves to handle growth.

What's the difference between REST and GraphQL API design?

REST APIs organize data around resource endpoints with fixed response structures; GraphQL APIs let clients query exactly the fields they need. REST suits straightforward CRUD operations with clear versioning; GraphQL excels when clients need flexible data fetching and you want to reduce over-fetching and under-fetching issues.

How do I create comprehensive API documentation that developers will actually use?

Comprehensive API documentation combines an OpenAPI 3.1 specification with request/response examples, error codes, authentication details, and interactive elements like mock servers and SDK generation. Clear naming conventions, consistent error handling patterns, and developer experience optimization turn documentation into a resource developers trust.

Do I need to version my API, and how should I handle backward compatibility?

API versioning prevents breaking existing integrations when you add features or change behavior. Use URL or header-based versioning, document deprecation timelines, maintain multiple versions temporarily, and design endpoints with forward compatibility in mind—avoid removing fields and prefer additive changes to maintain developer trust.

What authentication and rate-limiting patterns should my API implement?

Secure APIs implement authentication (API keys, OAuth 2.0, or JWT) and rate limiting to prevent abuse and ensure fair resource use. Include security headers, error responses that don't leak sensitive data, clear documentation of auth requirements, and rate limit headers so clients understand their quota and throttle gracefully.

How do GraphQL schemas differ from REST endpoint design?

GraphQL schemas define a type system and query interface; REST endpoint design structures resources and HTTP methods. GraphQL schema design focuses on type relationships and resolver efficiency; REST design emphasizes URL structure, HTTP semantics, and stateless request/response cycles.