What problem does it solve? Teams duplicating the same code across multiple services face maintenance drift and inconsistent behavior. This Skill guides the extraction of shared code into a versioned Spring Boot library or starter that consumers can depend on without surprises. ## Core Features & Use Cases - Auto-configuration patterns: Build starters where every bean is @ConditionalOnMissingBean and guarded by @ConditionalOnClass, so consumers can override any default. - Minimal public API surface: Enforce interfaces and records in an api/ package with package-private implementations in internal/, optionally sealed via JPMS. - Versioning and deprecation policy: Apply SemVer, a two-minor-release deprecation window, and wire-compatibility rules for DTOs and configuration keys. - Use Case: Three services each contain a near-identical client for an internal Foo API. Use this Skill to extract a foo-spring-boot-starter with auto-configuration, IDE configuration metadata, and ApplicationContextRunner tests proving the lego-brick contract. ## Quick Start Apply the sdk-publishing skill to turn this duplicated module into a Spring Boot starter with auto-configuration and a semantic versioning policy.