api-design-principles

Guide RESTful and GraphQL API design with patterns and best practices.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/EverHouse/everclubapp --skill api-design-principles-everhouse
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design-principles
Source: https://github.com/EverHouse/everclubapp/tree/main/.agents/skills/api-design-principles
Command: npx skills add https://github.com/EverHouse/everclubapp --skill api-design-principles-everhouse

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve?

This Skill provides comprehensive guidance and best practices for designing robust and developer-friendly REST and GraphQL APIs, ensuring consistency, scalability, and maintainability.

Core Features & Use Cases

  • API Design Principles: Covers RESTful resource-oriented architecture, HTTP method semantics, and GraphQL schema-first development.
  • Design Patterns: Offers practical patterns for resource collection design, pagination, filtering, error handling, and HATEOAS for REST, and schema design, resolver patterns, and DataLoader for GraphQL.
  • Best Practices & Pitfalls: Details common mistakes and essential guidelines for both API paradigms.
  • Use Case: A team is about to design a new microservice API. They can use this Skill to establish clear design standards, choose the right patterns, and avoid common pitfalls, leading to a more successful and maintainable API.

Quick Start

Use the api-design-principles skill to review the best practices for designing RESTful API endpoints.

Frequently Asked Questions about api-design-principles

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

FAQPage Schema
What are the best practices for RESTful API resource-oriented architecture and HTTP semantics?

RESTful API best practices involve using resource-oriented architecture with proper HTTP method semantics for intuitive endpoints. This approach covers resource collection design, pagination, filtering, error handling, versioning, and HATEOAS to ensure scalable and maintainable interfaces.

How do I design a GraphQL schema and prevent the N+1 problem?

GraphQL schema design uses a schema-first development approach with defined resolver patterns. To prevent the N+1 problem, implement DataLoader patterns for batching requests, ensuring efficient data fetching and maintaining consistent API performance.

Should I choose REST or GraphQL for my new microservice API architecture?

Choosing between REST and GraphQL depends on your architecture needs. REST uses resource-oriented HTTP semantics, while GraphQL offers schema-first development and resolver patterns. Evaluate your data fetching requirements and client flexibility needs to decide.

How do I handle API pagination, filtering, and error handling in Python?

API pagination, filtering, and error handling in Python use practical design patterns for resource collections. Implement standard HTTP status codes for errors and cursor or offset pagination techniques to manage large datasets efficiently.

What are common API design mistakes and pitfalls to avoid during development?

Common API design mistakes include improper HTTP method usage, inconsistent error handling, neglecting pagination, and ignoring the N+1 problem in GraphQL. Following established best practices prevents these pitfalls and ensures developer experience.

Do I need prior software architecture knowledge to establish API design standards?

Establishing API design standards requires understanding software architecture principles like resource-oriented design and HTTP semantics. Teams use these guidelines to choose appropriate patterns, avoid pitfalls, and build maintainable microservice APIs.