api-design-principles

Design REST and GraphQL APIs with resource-oriented naming and HTTP semantics.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/Jhabbig/Habbig --skill api-design-principles-jhabbig
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design-principles
Source: https://github.com/Jhabbig/Habbig/tree/main/.claude/plugins/wshobson/backend-development/skills/api-design-principles
Command: npx skills add https://github.com/Jhabbig/Habbig --skill api-design-principles-jhabbig

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill helps you design APIs that are easier for developers to understand, integrate with, and maintain over time by applying proven REST and GraphQL conventions.

Core Features & Use Cases

  • REST Design Guidance: Shapes resource-oriented endpoints, HTTP method usage, pagination, filtering, error formats, and versioning strategies.
  • GraphQL Design Guidance: Helps define schemas, mutations, resolver patterns, DataLoader usage, and pagination approaches that scale.
  • Use Case: Use it when planning a new service API, reviewing an existing specification, or standardizing how your team documents and evolves interfaces.

Quick Start

Ask the api-design-principles skill to review your API and produce a versioned, resource-oriented REST or GraphQL design with pagination, filtering, and consistent error handling.

Frequently Asked Questions about api-design-principles

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

FAQPage Schema
How do I design REST API pagination, filtering, and error handling?

Design REST APIs by applying resource-oriented naming, correct HTTP semantics, structured responses, and consistent error handling to ensure endpoints are easy to use, maintain, and evolve over time.

What is the best way to avoid N+1 queries in GraphQL schemas?

To avoid N+1 queries in GraphQL, define scalable schemas, efficient mutations, resolver patterns, and apply DataLoader usage to support scalable clients and prevent performance bottlenecks.

How do I plan a versioning and deprecation strategy for production APIs?

Plan API versioning and deprecation by applying REST and GraphQL conventions during endpoint planning, ensuring interfaces maintain backward compatibility and evolve cleanly for production services.

Does this approach support standardizing both REST and GraphQL API specifications?

Yes, this standardizes both REST and GraphQL API specifications by applying consistent conventions for schema organization, resource naming, and HTTP semantics across your team's documentation and reviews.

When should I use GraphQL patterns instead of REST for new endpoint planning?

Choose GraphQL patterns when needing scalable clients and complex queries, while using REST for resource-oriented endpoints; both require structured responses, correct HTTP semantics, and clear versioning strategies.