Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pluginagentmarketplace avatar

Java Microservices

  • 456 installs
  • 40 repo stars
  • Updated January 5, 2026
  • pluginagentmarketplace/custom-plugin-java

java-microservices is an agent skill that architects Spring Boot microservices with REST/gRPC APIs, config, discovery, messaging, and container-ready deployment for developers building distributed Java backends.

About

java-microservices is an agent skill in pluginagentmarketplace/custom-plugin-java that guides coding agents through Spring Boot microservice architecture decisions. It covers service boundary design, REST and gRPC API contracts, centralized configuration, service discovery, asynchronous messaging, resilience patterns such as circuit breakers and retries, and container-ready deployment units for Kubernetes or Docker hosts. Developers reach for java-microservices when scaffolding a new Java backend, splitting a monolith, or when agents must propose inter-service communication and observability hooks instead of single-module CRUD apps. The skill fits teams standardizing on Spring Boot who need consistent patterns for config servers, registry clients, and fault-tolerant integrations. Catalog metadata records 402 installs. Use it during service design reviews, API gateway planning, and Dockerfile-ready module layout before implementation spreads inconsistent packages across repositories. Agents can propose package layouts, health-check endpoints, and observability hooks so each service remains independently deployable without hidden coupling across Spring Boot modules.

  • Service boundary and domain modeling
  • Spring Boot service scaffolding
  • Inter-service HTTP and messaging
  • Configuration and health endpoints
  • Resilience: retries, circuit breakers, timeouts

Java Microservices by the numbers

  • 456 all-time installs (skills.sh)
  • +7 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #12 of 89 Java & JVM skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pluginagentmarketplace/custom-plugin-java --skill java-microservices

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs456
repo stars40
Last updatedJanuary 5, 2026
Repositorypluginagentmarketplace/custom-plugin-java

How do you architect Spring Boot microservices?

Architect Spring Boot microservices with service boundaries, REST/gRPC APIs, config, discovery, messaging, resilience patterns, and container-ready deployment units.

Who is it for?

Java backend developers designing Spring Boot microservices who need agents to propose service boundaries, APIs, and resilience patterns consistently.

Skip if: Teams building single-module Spring MVC apps with no distributed services should skip java-microservices.

When should I use this skill?

User designs Spring Boot microservices, splits a monolith, or asks for REST/gRPC service boundaries and container deployment layout.

What you get

Service boundary map, API contracts, config and discovery setup, messaging wiring, and container-ready Spring Boot deployment units.

  • Microservice boundary design
  • REST/gRPC API contracts
  • Container-ready service modules

By the numbers

  • 402 catalog installs for skill:pluginagentmarketplace/custom-plugin-java#java-microservices

Files

SKILL.mdMarkdownGitHub ↗

Java Microservices Skill

Build production microservices with Spring Cloud and distributed system patterns.

Overview

This skill covers microservices architecture with Spring Cloud including service discovery, API gateway, circuit breakers, event-driven communication, and distributed tracing.

When to Use This Skill

Use when you need to:

  • Design microservices architecture
  • Implement service-to-service communication
  • Configure resilience patterns
  • Set up event-driven messaging
  • Add distributed tracing

Topics Covered

Spring Cloud Components

  • Config Server (centralized config)
  • Service Discovery (Eureka, Consul)
  • API Gateway (Spring Cloud Gateway)
  • Load Balancing (Spring Cloud LoadBalancer)

Resilience Patterns

  • Circuit Breaker (Resilience4j)
  • Retry with backoff
  • Bulkhead isolation
  • Rate limiting

Event-Driven Architecture

  • Apache Kafka integration
  • Spring Cloud Stream
  • Saga pattern
  • Event sourcing basics

Observability

  • Distributed tracing (Micrometer)
  • Metrics (Prometheus)
  • Log correlation

Quick Reference

// Saga with Choreography
@Component
public class OrderSagaListener {

    @KafkaListener(topics = "order.created")
    public void handleOrderCreated(OrderCreatedEvent event) {
        inventoryService.reserve(event.getItems());
    }

    @KafkaListener(topics = "payment.failed")
    public void handlePaymentFailed(PaymentFailedEvent event) {
        // Compensating transaction
        inventoryService.release(event.getOrderId());
        orderService.cancel(event.getOrderId());
    }
}

// Circuit Breaker Configuration
@Configuration
public class ResilienceConfig {

    @Bean
    public Customizer<Resilience4JCircuitBreakerFactory> cbCustomizer() {
        return factory -> factory.configureDefault(id ->
            new Resilience4JConfigBuilder(id)
                .circuitBreakerConfig(CircuitBreakerConfig.custom()
                    .failureRateThreshold(50)
                    .waitDurationInOpenState(Duration.ofSeconds(30))
                    .slidingWindowSize(10)
                    .build())
                .build());
    }
}

// API Gateway Routes
@Configuration
public class GatewayConfig {

    @Bean
    public RouteLocator routes(RouteLocatorBuilder builder) {
        return builder.routes()
            .route("orders", r -> r
                .path("/api/orders/**")
                .filters(f -> f
                    .stripPrefix(1)
                    .circuitBreaker(c -> c.setName("order-cb"))
                    .retry(retry -> retry.setRetries(3)))
                .uri("lb://order-service"))
            .build();
    }
}

Observability Configuration

management:
  tracing:
    sampling:
      probability: 1.0
  endpoints:
    web:
      exposure:
        include: health,info,metrics,prometheus

logging:
  pattern:
    level: "%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"

Common Patterns

Saga Pattern

Order → Inventory → Payment → (Success | Compensate)

Circuit Breaker States

CLOSED → (failures exceed threshold) → OPEN
OPEN → (wait duration) → HALF_OPEN
HALF_OPEN → (success) → CLOSED
HALF_OPEN → (failure) → OPEN

Troubleshooting

Common Issues

ProblemCauseSolution
Cascade failureNo circuit breakerAdd Resilience4j
Message lostNo ackEnable manual ack
Inconsistent dataNo compensationImplement saga
Service not foundDiscovery delayTune heartbeat

Debug Checklist

□ Trace request (traceId)
□ Check circuit breaker state
□ Verify Kafka consumer lag
□ Review gateway routes
□ Monitor retry counts

Usage

Skill("java-microservices")

Related Skills

  • java-spring-boot - Spring Cloud
  • java-docker - Containerization

Related skills

How it compares

Pick java-microservices over generic Java skills when the deliverable is distributed Spring Boot architecture, not a single REST controller.

FAQ

What stack does java-microservices target?

java-microservices targets Spring Boot microservices with REST and gRPC APIs, centralized configuration, service discovery, messaging, resilience patterns, and container-ready deployment units for distributed Java backends that must scale independently across teams, environments,

When should agents load java-microservices?

Agents should load java-microservices when users design distributed Java backends, split monoliths, or plan Spring Boot modules that need discovery, messaging, circuit breakers, and Docker-ready deployment boundaries before writing service code, integration tests, or Kubernetes d

Java & JVMbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.