api-and-interface-design

Design stable REST and GraphQL interfaces with contract-first patterns.

1|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/DavidEdeni/web-development-tools --skill api-and-interface-design-davidedeni
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-and-interface-design
Source: https://github.com/DavidEdeni/web-development-tools/tree/main/agent-skills/skills/api-and-interface-design
Command: npx skills add https://github.com/DavidEdeni/web-development-tools --skill api-and-interface-design-davidedeni

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Design stable, well-documented interfaces that prevent misuse and reduce cross-team friction by clarifying expected behavior and contracts.

Core Features & Use Cases

  • Contract-first design: specify interface shape before implementation to reduce rework.
  • Consistent error semantics and naming conventions across REST/GraphQL boundaries.
  • Guidance for module boundaries, type contracts, and public interfaces to inform frontend-backend and team boundaries.

Quick Start

Define the API contract before coding a single line to ensure consistent behavior and clear expectations.

Frequently Asked Questions about api-and-interface-design

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

FAQPage Schema
What is contract-first design for REST and GraphQL APIs?

Contract-first design specifies the interface shape and validation patterns for REST and GraphQL APIs before implementation, reducing rework and clarifying expected behavior to prevent misuse across team boundaries.

How do I design stable API interfaces that prevent misuse?

Design stable API interfaces by enforcing contract-first design, consistent error semantics, and scalable naming conventions across module boundaries to clarify expected behavior and reduce cross-team friction.

Can I use this approach for both REST endpoints and GraphQL contracts?

Yes, this approach applies to both REST and GraphQL endpoints, ensuring consistent error semantics and scalable naming conventions across frontend and backend module boundaries.

What is the best way to define module boundaries for cross-team development?

The best way to define module boundaries is by establishing type contracts and public interfaces using contract-first design, which clarifies expected behavior and reduces friction between frontend and backend teams.

Why does my API design cause cross-team integration friction?

API design causes cross-team friction when interfaces lack clear contracts, consistent error semantics, and scalable naming conventions, leading to misuse and unclear expectations across frontend and backend boundaries.