New to Claude Skills? Learn how to install them →

Jjeffallan on GitHub

Java Architect

Free

Streamline enterprise Java development with Spring Boot.

Get this skill

Free · Opens the source repo

What Java Architect does

Java Architect is a skill designed specifically for developers working on enterprise Java applications using Spring Boot 3.x. It provides a structured approach to building, configuring, and debugging cloud-native applications while leveraging the latest features of Java 21 LTS. The skill guides users through various stages of application development, including architecture analysis, domain design, implementation, data layer optimization, security configuration, and quality assurance. Each phase is carefully outlined to ensure best practices are followed, which is crucial for maintaining high standards in enterprise software development.

The skill emphasizes the importance of domain-driven design (DDD) and clean architecture principles, helping developers create robust models and maintain clear domain boundaries. It also addresses common challenges in enterprise applications, such as optimizing JPA queries for performance and implementing secure authentication mechanisms using Spring Security with OAuth2 and JWT. This ensures that applications not only function correctly but are also secure and efficient.

Included within the skill are detailed reference guides for various topics, such as Spring Boot setup, reactive programming with WebFlux, JPA optimization, and testing patterns. These references provide context-sensitive guidance, allowing developers to quickly access the information they need while working on their projects. The skill also enforces best practices, such as externalizing configuration and applying proper exception handling, which are essential for maintaining scalable and maintainable codebases.

Overall, Java Architect is an invaluable resource for developers looking to enhance their skills in enterprise Java development, particularly those focused on Spring Boot and microservices architecture. By following the structured workflows and utilizing the reference materials, users can improve their development process and produce high-quality applications.

When to use it

Use this skill when starting or maintaining enterprise Java applications with Spring Boot, particularly when implementing microservices or reactive programming.

When not to use it

This skill may not be suitable for small-scale applications or projects that do not require the complexities of enterprise-level architecture.

What you can build with it

Setting Up a New Spring Boot Project

Use this skill to guide the initial setup and configuration of a Spring Boot project, ensuring best practices are followed from the start.

Optimizing Database Queries

Invoke the skill to receive specific strategies for optimizing JPA queries and improving database performance in your application.

Implementing Security Features

Utilize the skill to configure Spring Security for your application, including OAuth2 and JWT, to secure your endpoints effectively.

How to install Java Architect

View source

1. Install with the skills CLI

npx skills add jeffallan/claude-skills/java-architect --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by jeffallan

Java Architect

Enterprise Java specialist focused on Spring Boot 3.x, microservices architecture, and cloud-native development using Java 21 LTS.

Core Workflow

  1. Architecture analysis - Review project structure, dependencies, Spring config
  2. Domain design - Create models following DDD and Clean Architecture; verify domain boundaries before proceeding. If boundaries are unclear, resolve ambiguities before moving to implementation.
  3. Implementation - Build services with Spring Boot best practices
  4. Data layer - Optimize JPA queries, implement repositories; run ./mvnw verify -pl <module> to confirm query correctness. If integration tests fail: review Hibernate SQL logs, fix queries or mappings, re-run before proceeding.
  5. Security & config - Apply Spring Security, externalize configuration, add observability; run ./mvnw verify after security changes to confirm filter chain and JWT wiring. If tests fail: check SecurityFilterChain bean order and token validation config, then re-run.
  6. Quality assurance - Run ./mvnw verify (Maven) or ./gradlew check (Gradle) to confirm all tests pass and coverage reaches 85%+ before closing. If coverage is below threshold: identify untested branches via JaCoCo report (target/site/jacoco/index.html), add missing test cases, re-run.

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Spring Bootreferences/spring-boot-setup.mdProject setup, configuration, starters
Reactivereferences/reactive-webflux.mdWebFlux, Project Reactor, R2DBC
Data Accessreferences/jpa-optimization.mdJPA, Hibernate, query tuning
Securityreferences/spring-security.mdOAuth2, JWT, method security
Testingreferences/testing-patterns.mdJUnit 5, TestContainers, Mockito

Constraints

MUST DO

  • Use Java 21 LTS features (records, sealed classes, pattern matching)
  • Apply database migrations (Flyway/Liquibase)
  • Document APIs with OpenAPI/Swagger
  • Use proper exception handling hierarchy
  • Externalize all configuration (never hardcode values)

MUST NOT DO

  • Use deprecated Spring APIs
  • Skip input validation
  • Store sensitive data unencrypted
  • Use blocking code in reactive applications
  • Ignore transaction boundaries

Output Templates

When implementing Java features, provide:

  1. Domain models (entities, DTOs, records)
  2. Service layer (business logic, transactions)
  3. Repository interfaces (Spring Data)
  4. Controller/REST endpoints
  5. Test classes with comprehensive coverage
  6. Brief explanation of architectural decisions

Code Examples

Minimal WebFlux REST Endpoint

@RestController
@RequestMapping("/api/v1/orders")
@RequiredArgsConstructor
public class OrderController {

    private final OrderService orderService;

    @GetMapping("/{id}")
    public Mono<ResponseEntity<OrderDto>> getOrder(@PathVariable UUID id) {
        return orderService.findById(id)
                .map(ResponseEntity::ok)
                .defaultIfEmpty(ResponseEntity.notFound().build());
    }

    @PostMapping
    @ResponseStatus(HttpStatus.CREATED)
    public Mono<OrderDto> createOrder(@Valid @RequestBody CreateOrderRequest request) {
        return orderService.create(request);
    }
}

JPA Repository with Optimized Query

public interface OrderRepository extends JpaRepository<Order, UUID> {

    // Avoid N+1: fetch association in one query
    @Query("SELECT o FROM Order o JOIN FETCH o.items WHERE o.customerId = :customerId")
    List<Order> findByCustomerIdWithItems(@Param("customerId") UUID customerId);

    // Projection to limit fetched columns
    @Query("SELECT new com.example.dto.OrderSummary(o.id, o.status, o.total) FROM Order o WHERE o.status = :status")
    Page<OrderSummary> findSummariesByStatus(@Param("status") OrderStatus status, Pageable pageable);
}

Spring Security OAuth2 JWT Configuration

@Configuration
@EnableMethodSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        return http
                .csrf(AbstractHttpConfigurer::disable)
                .sessionManagement(s -> s.sessionCreationPolicy(STATELESS))
                .authorizeHttpRequests(auth -> auth
                        .requestMatchers("/actuator/health").permitAll()
                        .anyRequest().authenticated())
                .oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults()))
                .build();
    }
}

Knowledge Reference

Spring Boot 3.x, Java 21, Spring WebFlux, Project Reactor, Spring Data JPA, Spring Security, OAuth2/JWT, Hibernate, R2DBC, Spring Cloud, Resilience4j, Micrometer, JUnit 5, TestContainers, Mockito, Maven/Gradle

Documentation

Frequently asked questions about Java Architect

Similar skills