Java Architect

Use when building, configuring, or debugging enterprise Java applications with Spring Boot 3.x, microservices, or reactive programming.

Development / Languagesdevelopmentlanguages
by AgentVoltv1.0.0Published 1y ago1 install
Free to sign up · every skill included with AgentVolt Pro

Before & after

Same prompt, same agent — the only difference is the skill.

PromptBuild me a Spring Boot WebFlux endpoint with OAuth2 JWT authentication
Beforegeneric AI agent
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.
Afterwith Java Architect
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

SKILL.md
---
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)
Sign up to view, copy, and install the full skill

More development skills

View all Development skills →