From garage
Use when creating or modifying REST endpoints, controllers, DTOs, or error handling in Java Spring services - response envelopes, pagination, Problem Details, package layout.
How this skill is triggered — by the user, by Claude, or both
Slash command
/garage:spring-apiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- **Envelope**: for new house-style APIs, `{data, meta{requestId, timestamp, traceId}}`; cursor pagination fields live in `meta`. Preserve an established public contract unless a migration is approved.
{data, meta{requestId, timestamp, traceId}}; cursor pagination fields live in meta. Preserve an established public contract unless a migration is approved.errors[] array and traceId; preserve an established error contract unless migration is approved./api/v1/payment-links when it uses path versioning).api/, application/, domain/, and infrastructure/ have real responsibilities; do not add empty layers to a simpler module.RestClient for synchronous Spring Framework 6.1+ code, WebClient for an existing reactive stack, and do not add a second client stack merely to modernize. Use .formatted() only when the detected Java version supports it and it matches local conventions.pageSize + 1 to compute hasMore.Full style guide with snippets: references/api-conventions.md (read before scaffolding a new endpoint; reuse existing request/response models before defining new ones).
Use @WebMvcTest when controller contract behavior changed and Testcontainers when persistence behavior changed. Add only the layers needed to prove the change.
npx claudepluginhub omexit/claude-skills-pack --plugin garageSpring Boot coding conventions: REST controller design, service layer, dependency injection, configuration, DTO patterns, exception handling, and Bean Validation. Apply on any Spring Boot project. Works alongside spring-boot-plugin:spring-data-jpa for persistence and java-foundation:java-conventions for domain objects. Use this skill to: - Structure REST endpoints with @RestController, proper HTTP semantics, and DTO mapping. - Enforce constructor injection and @ConfigurationProperties over @Value on fields. - Write @Service classes with transactional boundaries at the right layer. - Handle errors consistently with @RestControllerAdvice and ProblemDetail (RFC 9457). Do NOT use this skill for: - JPA entity and repository patterns — see spring-boot-plugin:spring-data-jpa. - Spring Security configuration — see the security phase injection in stack.md. - Build tool configuration — see java-foundation:build-tooling.
Implements Spring Boot 4 REST API patterns for controllers, validation with Bean Validation 3.1, ProblemDetail exceptions (RFC 9457), API versioning, WebFlux endpoints, Jackson 3 serialization, CORS, and @HttpExchange clients.
Provides REST API standards for Spring Boot covering URL design, HTTP methods, DTOs, validation, error handling, pagination, and security headers. Use when creating or reviewing endpoints.