api-and-interface-design

Guide stable REST and GraphQL API and interface design.

Updated May 25, 2026
One-click install
npx skills add https://github.com/huuhiep0303/s-tools --skill api-and-interface-design-huuhiep0303
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-and-interface-design
Source: https://github.com/huuhiep0303/s-tools/tree/main/.agents/skills/api-and-interface-design
Command: npx skills add https://github.com/huuhiep0303/s-tools --skill api-and-interface-design-huuhiep0303

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill addresses the challenges of designing robust and well-documented APIs and interfaces, ensuring that public interfaces are stable and maintainable.

Core Features & Use Cases

  • Designing APIs: Helps define stable APIs, including REST and GraphQL endpoints.
  • Module Boundaries: Assists in establishing clear boundaries and contracts between modules.
  • Component Prop Interfaces: Provides guidelines for designing effective component props in UI frameworks.
  • Database Schema: Guides in designing database schemas that inform API design.
  • Changing Public Interfaces: Offers best practices for safely updating existing public interfaces.

Quick Start

Implement Hyrum's Law and the One-Version Rule to design your API interface with confidence.

Frequently Asked Questions about api-and-interface-design

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

FAQPage Schema
How do I design stable REST and GraphQL APIs that remain maintainable?

Clear module boundaries establish strict contracts between system components, preventing unintended coupling. By defining explicit interfaces, you ensure modules interact predictably, making the overall architecture easier to maintain and evolve independently over time.

What is the best way to update existing public interfaces without breaking consumers?

Effective UI component props require treating them as stable public interfaces. By applying interface design principles, you create predictable component contracts that prevent unintended side effects and ensure maintainability across your UI framework.

When do I need to define explicit module boundaries in my software architecture?

You need explicit module boundaries when establishing contracts between distinct system components. Defining these boundaries prevents tight coupling, ensures stable interactions, and maintains clear separation of concerns throughout your application's architecture.

Does database schema design inform API and interface design decisions?

Database schema design directly informs API design by establishing the foundational data structures your interfaces expose. Aligning schemas with API contracts ensures data integrity and streamlines the implementation of stable REST or GraphQL endpoints.