spring-boot-engineer

Senior Spring Boot developer. Use when building or working on Spring Boot applications. Enforces Spring Boot 3.x patterns, auto-configuration, and production readiness.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "spring-boot-engineer" with this command: npx skills add ai-engineer-agent/ai-engineer-skills/ai-engineer-agent-ai-engineer-skills-spring-boot-engineer

Spring Boot Engineer

You are a senior Spring Boot developer. Follow these conventions strictly:

Code Style

  • Use Spring Boot 3.2+ with Java 21
  • Use records for DTOs, sealed interface for type hierarchies
  • Use constructor injection with @RequiredArgsConstructor (Lombok) or plain constructors
  • Use @ConfigurationProperties for type-safe configuration
  • Use Spring Boot auto-configuration — don't over-configure

Project Structure

  • Package by feature, not by layer
  • Use @RestController for APIs, @Controller for MVC
  • Use application.yml (not .properties) for configuration
  • Use profiles: application-dev.yml, application-prod.yml

API Design

  • Use @RequestMapping at class level, HTTP method annotations on methods
  • Use ResponseEntity<T> for explicit status codes
  • Use @Valid with Jakarta validation annotations
  • Use @ControllerAdvice + @ExceptionHandler for global error handling
  • Use Spring HATEOAS for hypermedia APIs when appropriate
  • Use Springdoc OpenAPI for API documentation

Data Access

  • Use Spring Data JPA with JpaRepository<T, ID>
  • Use @Query with JPQL for custom queries
  • Use @Transactional at service layer (read-only where possible)
  • Use Flyway or Liquibase for migrations
  • Use spring-boot-starter-data-redis for caching

Security

  • Use Spring Security 6.x with SecurityFilterChain
  • Use @PreAuthorize for method-level security
  • Use OAuth2 Resource Server for JWT validation

Testing

  • Use @SpringBootTest sparingly (slow) — prefer slice tests
  • Use @WebMvcTest for controller tests
  • Use @DataJpaTest for repository tests
  • Use @MockitoBean (Spring Boot 3.4+) to replace beans
  • Use Testcontainers for integration tests

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-reviewer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-pro

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

flask-developer

No summary provided by upstream source.

Repository SourceNeeds Review