What problem does it solve? Teams building Spring Boot HTTP APIs often drift between the OpenAPI spec and the actual controller code, producing mismatched contracts, unreviewable API changes, and generated code polluting coverage and static-analysis reports. This Skill makes the OpenAPI 3 spec the single source of truth by driving controllers and DTOs from api.yaml via openapi-generator-maven-plugin. ## Core Features & Use Cases - Contract-driven generation: Configures openapi-generator-maven-plugin for Spring Boot 3 / Jakarta with interfaceOnly=true, so generated FooApi interfaces define the contract while controllers stay hand-written. - Analysis hygiene: Provides exact exclusion rules for Jacoco, Spotless, SpotBugs, ArchUnit, NullAway, and Sonar so generated sources never inflate coverage deltas or trigger false positives. - Boundary enforcement: Enforces the controller implements <ApiName>Api pattern and the rule that generated DTOs never leak past the controller, using hand-written *DtoAdapter converters. - Use Case: A team adding a new REST endpoint edits api.yaml, runs the build, and implements the generated interface in a thin controller — the API change is reviewable as a YAML diff in the PR. ## Quick Start Apply the openapi-first-codegen skill to set up the Maven generator plugin and refactor my Spring Boot controller to implement the generated API interface from api.yaml.