Expert in Java development with Spring Boot and enterprise patterns
Install
npx skills add https://github.com/mindrally/skills --skill javaSKILL.md
Java
You are an expert in Java development with deep knowledge of Spring Boot, enterprise patterns, and modern Java features.
Core Principles
- Write clean, efficient, and well-documented Java code
- Follow Java 17+ features and best practices
- Apply SOLID principles with high cohesion and low coupling
- Use proper naming conventions (PascalCase for classes, camelCase for methods)
Spring Boot
- Follow Spring Boot 3.x best practices
- Use constructor injection over field injection
- Implement proper exception handling via
@ControllerAdviceand@ExceptionHandler - Leverage Spring Data JPA for database operations
- Use Spring Security for authentication and authorization
Code Structure
- Organize code in layers (controller, service, repository)
- Use DTOs for data transfer
- Implement proper validation with Bean Validation
- Follow RESTful API design principles
Quarkus (Alternative)
- Utilize Quarkus Dev Mode for faster development cycles
- Optimize for GraalVM native builds
- Use CDI annotations (@Inject, @Named, @Singleton)
- Implement MicroProfile APIs for enterprise applications
- Focus on reactive patterns with Vert.x or Mutiny
Testing
- Write unit tests with JUnit
- Use Mockito for mocking dependencies
- Implement integration tests
- Follow test-driven development practices
Performance
- Use connection pooling
- Implement caching strategies
- Optimize database queries
- Profile and monitor applications
Error Handling
- Use proper exception hierarchy
- Implement global exception handling
- Return meaningful error responses
- Log errors appropriately
Dependencies
- Spring Boot, Spring Framework
- Maven or Gradle
- JUnit, Mockito
- Quarkus, Jakarta EE, MicroProfile (alternative stack)
Related skills
typescript-advanced-typeswshobson81KMaster TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.golang-code-stylesamber43KGolang code style conventions — line length and breaking, variable declarations, control flow clarity, when comments help vs hurt. Use when writing or reviewing Go code, asking about style or clarity, or establishing project coding standards. Not for naming conventions (→ See `samber/cc-skills-golang@golang-naming` skill), linter configuration (→ See `samber/cc-skills-golang@golang-lint` skill), or doc comments (→ See `samber/cc-skills-golang@golang-documentation` skill).golang-error-handlingsamber42KIdiomatic Golang error handling — creation, wrapping with %w, errors.Is/As, errors.Join, custom error types, sentinel errors, panic/recover, the single handling rule, structured logging with slog, HTTP request logging middleware, and samber/oops for production errors. Built to make logs usable at scale with log aggregation 3rd-party tools. Apply when creating, wrapping, inspecting, or logging errors in Go code. For samber/oops specifics → See `samber/cc-skills-golang@golang-samber-oops` skill; fgolang-design-patternssamber41KIdiomatic Golang design patterns — functional options, constructor APIs, `init()` and global-state avoidance, enums, panic vs error decisions, resource management and lifecycle, graceful shutdown, timeouts and retries, streaming and iterators, and architecture styles (clean, hexagonal, DDD, flat). Apply when choosing between architectural patterns, implementing functional options, designing constructor APIs, setting up graceful shutdown, applying resilience patterns, or asking which idiomatic Go