api-and-interface-design

Standardize REST and GraphQL API design and documentation for Go architectures.

Updated Apr 19, 2026
One-click install
npx skills add https://github.com/dmarins/sdd --skill api-and-interface-design-dmarins
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-and-interface-design
Source: https://github.com/dmarins/sdd/tree/main/skills/api-and-interface-design
Command: npx skills add https://github.com/dmarins/sdd --skill api-and-interface-design-dmarins

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill addresses the complexity of designing stable interfaces and APIs, preventing common pitfalls like breaking changes, inconsistent error handling, and poor developer experience.

Core Features & Use Cases

  • Contract-First Design: Provides a framework for defining interfaces before implementation to ensure system stability.
  • Standardized Error Handling: Offers patterns for consistent API error responses across services.
  • Use Case: Use this when architecting new REST endpoints or defining Go service interfaces to ensure that your system remains maintainable and easy for other developers to consume.

Quick Start

Ask the AI to review your current API contract against the principles of Hyrum Law and the provided interface design patterns.

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 API design and when do I need it for my Go services?

Contract-first API design defines interfaces before implementation to prevent breaking changes and coupling. You need it when architecting new REST endpoints or defining internal Go service module contracts to ensure system maintainability and stable consumption.

How do I standardize API error handling across REST and GraphQL endpoints?

Standardize API error handling by applying consistent error semantics and boundary validation patterns across your REST and GraphQL services. This ensures uniform response structures, minimizing inconsistent error handling pitfalls and improving overall developer experience.

How do I design backward-compatible APIs and prevent breaking changes?

Design backward-compatible APIs by reviewing contracts against Hyrum's Law and applying interface design patterns. This standardizes documentation and evolution, ensuring stable, scalable, and robust interfaces that minimize breaking changes and system coupling.

Can I use this approach for internal module contracts in Go-based architectures?

Yes, this approach works for internal module contracts in Go-based architectures. It standardizes the design and documentation of internal interfaces, applying boundary validation and consistent error semantics to minimize coupling between internal services.

What is the best way to review an existing API contract for stability risks?

The best way to review an existing API contract is to evaluate it against Hyrum's Law and established interface design patterns. This identifies implicit dependencies, standardizes error semantics, and ensures backward-compatible evolution to minimize breaking changes.