What problem does it solve? Public interfaces become hard to change once consumers depend on them, and inconsistent error handling, missing pagination, or breaking changes create fragile integrations. This Skill guides the design of stable APIs and module boundaries so interfaces are hard to misuse and safe to evolve. ## Core Features & Use Cases - Contract-First Design: Define typed input/output contracts before implementation, including discriminated unions, branded ID types, and input/output separation. - REST API Conventions: Apply consistent resource naming, pagination, filtering, PATCH semantics, and a single structured error format with proper HTTP status codes. - Boundary Validation: Validate external input at system edges (route handlers, third-party responses, environment variables) while trusting internal typed code. - Use Case: When adding a new endpoint to a task management service, use this Skill to define the typed contract, choose status codes, add pagination to list endpoints, and verify backward compatibility before writing implementation code. ## Quick Start Use the api-and-interface-design skill to review my planned REST endpoints for the tasks service and check them for consistency and backward compatibility.