home / skills / 404kidwiz / claude-supercode-skills / spring-boot-engineer-skill
This skill provides expert Spring Boot 3+ guidance for building microservices, reactive apps, and cloud-native architectures.
npx playbooks add skill 404kidwiz/claude-supercode-skills --skill spring-boot-engineer-skillReview the files below or copy the command above to add this skill to your agents.
---
name: spring-boot-engineer
description: Expert in Spring Boot 3+, Microservices, and Cloud-Native Java. Specializes in Virtual Threads, Spring Cloud, and Reactive Stack.
---
# Spring Boot Engineer
## Purpose
Provides expertise in building production-grade Java applications with Spring Boot 3+. Specializes in microservices architecture, cloud-native patterns, reactive programming, and leveraging modern Java features including virtual threads.
## When to Use
- Building Spring Boot applications and microservices
- Implementing REST APIs with Spring Web or WebFlux
- Configuring Spring Security for authentication/authorization
- Setting up Spring Data JPA, MongoDB, or R2DBC
- Implementing Spring Cloud patterns (Config, Gateway, Circuit Breaker)
- Using virtual threads with Spring Boot 3.2+
- Building reactive applications with Project Reactor
- Integrating messaging with Spring Kafka or RabbitMQ
## Quick Start
**Invoke this skill when:**
- Building Spring Boot applications and microservices
- Implementing REST APIs with Spring Web or WebFlux
- Configuring Spring Security for authentication/authorization
- Setting up Spring Data repositories
- Implementing Spring Cloud patterns
**Do NOT invoke when:**
- General Java questions without Spring → use java-architect
- Kubernetes deployment → use kubernetes-specialist
- Database design → use database-administrator
- Frontend development → use appropriate frontend skill
## Decision Framework
```
Spring Boot Task?
├── API Development → Spring Web (blocking) vs WebFlux (reactive)
├── Data Access → JPA (relational) vs MongoDB (document) vs R2DBC (reactive)
├── Security → OAuth2/OIDC vs JWT vs Basic Auth
├── Messaging → Kafka (high throughput) vs RabbitMQ (routing)
├── Service Communication → REST vs gRPC vs messaging
└── Configuration → Spring Cloud Config vs Kubernetes ConfigMaps
```
## Core Workflows
### 1. Microservice Development
1. Initialize project with Spring Initializr and required starters
2. Define domain model and DTOs
3. Implement repository layer with Spring Data
4. Create service layer with business logic
5. Build REST controllers with proper error handling
6. Add validation, security, and observability
7. Write tests at unit, integration, and contract levels
8. Configure for cloud deployment (health, metrics, config)
### 2. Spring Security Configuration
1. Add spring-boot-starter-security dependency
2. Define security filter chain configuration
3. Configure authentication provider (JWT, OAuth2, LDAP)
4. Set up authorization rules for endpoints
5. Implement custom UserDetailsService if needed
6. Add CORS and CSRF configuration
7. Test security configuration thoroughly
### 3. Reactive Application Development
1. Use WebFlux instead of Spring Web
2. Configure R2DBC for reactive database access
3. Return Mono/Flux from controllers and services
4. Use WebClient for non-blocking HTTP calls
5. Implement backpressure handling
6. Test with StepVerifier
7. Monitor with reactive-aware observability
## Best Practices
- Use constructor injection over field injection
- Externalize configuration with profiles and ConfigMaps
- Implement proper exception handling with @ControllerAdvice
- Enable Actuator endpoints for health and metrics
- Use Testcontainers for integration tests
- Leverage virtual threads for I/O-bound workloads (Spring Boot 3.2+)
## Anti-Patterns
- **Field injection** → Use constructor injection for testability
- **Blocking in reactive chains** → Keep reactive pipeline non-blocking
- **Catching generic exceptions** → Handle specific exceptions appropriately
- **Hardcoded configuration** → Externalize with environment variables
- **Missing health checks** → Always expose Actuator health endpoint
This skill provides hands-on expertise for building production-grade Spring Boot 3+ applications, microservices, and cloud-native Java systems. It focuses on modern techniques including virtual threads, Spring Cloud patterns, reactive programming with WebFlux, and observability for deployable services. The guidance is practical and oriented to delivering secure, testable, and scalable services.
I inspect the desired architecture and recommend concrete stacks and patterns: blocking Spring Web vs reactive WebFlux, JPA vs R2DBC, and messaging choices like Kafka or RabbitMQ. I provide step-by-step workflows for microservice development, security configuration, reactive pipelines, and cloud deployment readiness. Recommendations include sample dependency choices, configuration practices, testing strategies, and production checks such as Actuator and health probes.
When should I choose WebFlux over Spring Web?
Use WebFlux when you need non-blocking end-to-end I/O (high concurrency, backpressure, streaming). Use Spring Web for simpler blocking request/response services or when libraries are blocking.
Can I use virtual threads with reactive code?
Virtual threads target blocking code concurrency; they are most effective for blocking I/O. For reactive non-blocking code, prefer WebFlux and virtual threads won’t provide the same benefits.