What problem does it solve? When multiple adapters (Redis vs Infinispan, Postgres vs Oracle) implement the same port interface, there is no guarantee they behave identically, so swapping providers in production can silently change business behaviour. This Skill solves that by defining one abstract contract test suite (a TCK) per port that every adapter must pass. ## Core Features & Use Cases - Abstract TCK per port: All behavioural assertions live once in an abstract contract class that speaks only the port's language, with no vendor SDK imports. - Thin per-adapter subclasses: Each adapter supplies only an instance, typically backed by Testcontainers for real backends, with in-memory adapters running in Surefire and real I/O adapters in Failsafe. - Composite adapter verification: The composite adapter gets its own contract subclass plus failure-isolation, ordering, and broadcast tests. - Build enforcement: An ArchUnit rule fails the build when any class ending in Adapter lacks a matching ContractTest. - Use Case: You add a new Datadog metrics adapter alongside the existing Prometheus one. Instead of copying tests, you write a five-line subclass of MetricsPortContract and instantly inherit the full behavioural specification. ## Quick Start Ask the AI to apply the adapter-contract-tests skill to generate an abstract contract test for your port interface and a Testcontainers-backed subclass for each adapter implementation.