integration-resilience-engineer

Design resilient integration policies for Kotlin and Spring services.

14|1|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/Kotlin/kotlin-backend-agent-skills --skill integration-resilience-engineer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: integration-resilience-engineer
Source: https://github.com/Kotlin/kotlin-backend-agent-skills/tree/main/.agents/skills/integration-resilience-engineer
Command: npx skills add https://github.com/Kotlin/kotlin-backend-agent-skills --skill integration-resilience-engineer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Design resilient integrations across HTTP, messaging, and scheduled tasks for Kotlin + Spring services, ensuring predictable behavior under failures, timeouts, and high load.

Core Features & Use Cases

  • Define timeout budgets, retries, and idempotency guarantees for external calls.
  • Implement circuit breakers, bulkheads, and DLQ handling to prevent cascading failures.
  • Instrument observability with metrics and traces to detect degradation and drive safe degradation paths.
  • Use Case: When connecting to flaky external systems, apply the policy to ensure retries do not overwhelm downstream services.

Quick Start

Define a concrete resilience policy for a Kotlin + Spring integration and apply it to a sample HTTP call with timeouts and retries.

Frequently Asked Questions about integration-resilience-engineer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent cascading failures when integrating Kotlin Spring services with flaky external systems?

Prevent cascading failures in Kotlin Spring services by designing a resilient integration policy that enforces timeout budgets, circuit breakers, bulkheads, and DLQ handling. This stops retries from overwhelming downstream services during outages.

What is the best way to configure timeout budgets and retries for HTTP and messaging in Spring?

The best way to configure timeout budgets and retries is to define a single resilience policy governing HTTP calls, message delivery, and scheduled tasks. This policy specifies retry strategies, idempotency guarantees, and timeout limits across all integration points.

How does a dead letter queue work with idempotency guarantees for message delivery?

A dead letter queue works with idempotency by capturing messages that fail after exhausting retries, ensuring they are not reprocessed upon redelivery. The policy deduplicates messages to prevent duplicate side effects in downstream systems.

When do I need circuit breakers and bulkheads for scheduled tasks and external calls?

You need circuit breakers and bulkheads when external calls or scheduled tasks face high load or flaky behavior. They isolate failures and prevent cascading issues by stopping traffic to unhealthy services and limiting concurrent executions.

Can I use this resilience policy for both HTTP integrations and periodic jobs in Kotlin?

Yes, you can apply this resilience policy to both HTTP integrations and periodic jobs in Kotlin. It governs external calls, message delivery, and scheduled tasks, enforcing timeouts, retries, deduplication, and observability uniformly across all pathways.

Why do retries sometimes overwhelm downstream services and cause degradation?

Retries overwhelm downstream services when they lack proper timeout budgets and circuit breaking. Without a DLQ and safe retry strategies, continuous retry attempts during an outage amplify traffic, causing cascading failures and system degradation.