Java Architect
Use when building, configuring, or debugging enterprise Java applications with Spring Boot 3.x, microservices, or reactive programming.
Before & after
Same prompt, same agent — the only difference is the skill.
Spring Boot is pretty flexible, so there are a few ways you could approach this. WebFlux gives you reactive programming, which is good for handling a lot of concurrent connections. For OAuth2, you'll want to use Spring Security. JWT is commonly used for stateless authentication. You'd need to set up a SecurityFilterChain or WebSecurityConfig class to handle the JWT validation. For the WebFlux endpoint, you'd create a RestController and use Mono or Flux for the response types, depending on whether you're returning a single item or a stream. You'll probably want to use Spring Data R2DBC if you need database access with WebFlux. Testing is important — make sure you test both the authentication and the business logic. There are examples in the Spring Boot documentation, and there are a few different libraries you could use for JWT handling.
SPRING BOOT 3.x WEBFLUX + OAUTH2/JWT ENDPOINT
SECURITY CONFIG (SecurityConfig.java)
→ @Configuration class with @EnableReactiveMethodSecurity
→ SecurityWebFilterChain bean: permit OPTIONS + /login; require JWT on all others
→ JwtDecoder bean: Decode RS256 tokens from issuer (Auth0, Okta, etc.)
→ ReactiveAuthenticationManager: Extract issuer claim ("iss") + scope validation
JWT VALIDATION FILTER
→ Extract Bearer token from Authorization header
→ Decode + verify signature + check expiration
→ Build SecurityContext with authorities (scopes as roles)
→ Return Mono<Void> or error if invalid
RESTFUL ENDPOINT (ApiController.java)
@PostMapping("/api/data")
public Mono<ResponseEntity<DataResponse>> createData(
@RequestBody DataRequest req,
@AuthenticationPrincipal Mono<JwtAuthenticationToken> auth
) {
return auth
.switchIfEmpty(Mono.error(new UnauthorizedException()))
.flatMap(token -> validateScope(token, "write:data"))
.flatMap(token -> repository.save(req).map(ResponseEntity::ok))
.onErrorResume(InvalidTokenException.class, e -> Mono.just(ResponseEntity.status(401).build()));
}
TESTING (WebTestClient)
→ Test 1: Missing token → 401 Unauthorized
→ Test 2: Invalid signature → 401 Unauthorized
→ Test 3: Expired token → 401 Unauthorized
→ Test 4: Valid token + correct scope → 200 + response body
→ Test 5: Valid token + insufficient scope → 403 Forbidden
DEPLOYMENT NOTES
→ Token secret/JWK URL set via environment (not hardcoded)
→ CORS headers configured (if frontend is cross-origin)
→ Actuator endpoints secured (only /health + /ready exposed)
COMMON TRAP: Using Mono.fromCallable() on blocking JWT library → kills reactive benefits. Use reactive-native JWT decoder instead.About this skill
name: java-architect description: Use when Use when building, configuring, or debugging enterprise Java applications with Spring Boot 3.x, microservices, or reactive programming.
Java Architect
Use when building, configuring, or debugging enterprise Java applications with Spring Boot 3.x, microservices, or reactive programming. Invoke to implement WebFlux endpoints, optimize JPA queries and database performance, configure Spring Security with OAuth2/JWT, or resolve authentication issues and async processing challenges in cloud-native Spring applications.
What you get
- Public GitHub repo
- the skills/java-architect folder with SKILL.md and references.
Customize your output
- Fork the repo and extend the skill's reference files for your own stack conventions.
Example output
Activates on a matching request (e.g. building or reviewing Java Architect code) and can chain with other skills in the pack.
Best for
Full-stack developers and engineering teams using Claude Code.
SKILL.md preview
---
name: java-architect
description: Use this skill when building, configuring, or debugging enterprise Java applications built on Spring Boot 3.x, microservices, or reactive programming.
version: 1.0.0
category: Development / Languages
author: AgentVolt
license: proprietary
tags:
- development
- languages
---
# Java Architect
Covers building and debugging enterprise Java systems on Spring Boot 3.x: reactive endpoints, JPA performance, security configuration, and async processing.
## When to use
- Implementing WebFlux reactive endpoints or debugging backpressure issues
… (sign up to view the full skill)More development skills
View all Development skills →SQL Pro
Optimizes SQL queries, designs database schemas, and troubleshoots performance issues.
Csharp Developer
Use when building C# applications with .NET 8+, ASP.NET Core APIs, or Blazor web apps.
Rust Engineer
Writes, reviews, and debugs idiomatic Rust code with memory safety and zero-cost abstractions.
PHP Pro
Use when building PHP applications with modern PHP 8.3+ features, Laravel, or Symfony frameworks.