/resilience-retry
Use when adding retries, backoff, or concurrency protection to Spring Boot 3 / Spring Framework 6 services. Covers Spring Retry or Resilience4j selection, proxy behavior, and transaction limits.
$ npx -y skills add rrezartprebreza/spring-boot-skills --skill resilience-retry --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/resilience-retry
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when adding retries, backoff, or concurrency protection to Spring Boot 3 / Spring Framework 6 services. Covers Spring Retry or Resilience4j selection, proxy behavior, and transaction limits.
SKILL.md
resilience-retry.SKILL.mdname: resilience-retry
description: >
Use when adding retries, backoff, or concurrency protection to Spring Boot 3 / Spring Framework 6
services. Covers Spring Retry or Resilience4j selection, proxy behavior, and transaction limits.
Resilience and Retry (Boot 3)
Boot 3 does not have Spring Framework 7 core resilience annotations. Choose Spring Retry for simple imperative retry or Resilience4j when you also need circuit breakers, rate limiting, or bulkheads. Keep the dependency and configuration explicit.
@Configuration
@EnableRetry
class RetryConfig { }
@Service
class PaymentClient {
@Retryable(
retryFor = ConnectException.class,
maxAttempts = 4,
backoff = @Backoff(delay = 200, multiplier = 2.0, maxDelay = 2000))
PaymentResult charge(ChargeRequest request) { ... }
@Recover
PaymentResult recover(ConnectException error, ChargeRequest request) { ... }
}Spring Retry's `maxAttempts` includes the initial call. Resilience4j is preferable when retry must be composed with a circuit breaker or bulkhead. Both approaches are proxy-based: self invocation bypasses advice, and retrying a method inside a rollback-only transaction does not create a fresh transaction for each attempt.
Gotchas
- Agent uses Framework 7 `@EnableResilientMethods` - Boot 3 needs Spring Retry or Resilience4j.
- Agent confuses `maxAttempts` with retry count - Spring Retry includes the initial call.
- Agent adds `@Recover` to Resilience4j - recovery must be modeled with a fallback or caller handling.
- Agent retries a self-invoked method - call through a Spring proxy.
- Agent retries inside a transaction expecting a fresh transaction - move retry outside the transactional bean.
- Agent retries non-idempotent writes without an idempotency key - protect payment and command operations.
Read more
name: resilience-retry description: > Use when adding retries, backoff, or concurrency protection to Spring Boot 3 / Spring Framework 6 services. Covers Spring Retry or Resilience4j selection, proxy behavior, and transaction limits.
Resilience and Retry (Boot 3)
Boot 3 does not have Spring Framework 7 core resilience annotations. Choose Spring Retry for simple imperative retry or Resilience4j when you also need circuit breakers, rate limiting, or bulkheads. Keep the dependency and configuration explicit.
@Configuration
@EnableRetry
class RetryConfig { }
@Service
class PaymentClient {
@Retryable(
retryFor = ConnectException.class,
maxAttempts = 4,
backoff = @Backoff(delay = 200, multiplier = 2.0, maxDelay = 2000))
PaymentResult charge(ChargeRequest request) { ... }
@Recover
PaymentResult recover(ConnectException error, ChargeRequest request) { ... }
}Spring Retry's `maxAttempts` includes the initial call. Resilience4j is preferable when retry must be composed with a circuit breaker or bulkhead. Both approaches are proxy-based: self invocation bypasses advice, and retrying a method inside a rollback-only transaction does not create a fresh transaction for each attempt.
Gotchas
- Agent uses Framework 7 `@EnableResilientMethods` - Boot 3 needs Spring Retry or Resilience4j.
- Agent confuses `maxAttempts` with retry count - Spring Retry includes the initial call.
- Agent adds `@Recover` to Resilience4j - recovery must be modeled with a fallback or caller handling.
- Agent retries a self-invoked method - call through a Spring proxy.
- Agent retries inside a transaction expecting a fresh transaction - move retry outside the transactional bean.
- Agent retries non-idempotent writes without an idempotency key - protect payment and command operations.
Production-grade Claude Code and Codex skills for Spring Boot developers
Other skills on spring-boot-skills.
- /ai-observability
Use when adding monitoring, metrics, logging, or tracing to Spring AI or LLM integration code. Covers token tracking, latency measurement, cost estimation, and prompt/response logging. Use when user mentions AI monitoring, token costs, or LLM observability.
Open skill - /api-versioning
Use when versioning Spring MVC or WebFlux APIs in Spring Boot 3 / Spring Framework 6. Covers explicit URL, header, and media-type strategies, compatibility rules, and deprecation handling.
Open skill - /domain-driven-design
Use when working with domain models, aggregates, value objects, domain events, or repositories in a DDD-style project. Ensures rich domain model over anemic CRUD.
Open skill - /flyway-migrations
Use when creating database migrations, schema changes, seed data, or any SQL that modifies database structure. Covers Flyway naming conventions, versioning, and safe migration patterns.
Open skill - /hateoas
Use when adding hypermedia links to REST responses, building self-describing APIs, or implementing Spring HATEOAS. Use when you see EntityModel, CollectionModel, or RepresentationModel in the project.
Open skill - /hexagonal-architecture
Use when the project follows hexagonal (ports & adapters) architecture. Prevents domain code from depending on Spring or JPA. Use when you see packages like domain/, application/, infrastructure/, or adapters/ in the project structure.
Open skill

