What problem does it solve?
Golem agents making HTTP requests, RPC calls, or database operations need controlled retry behavior for transient failures, and this Skill explains how to define, apply, and manage semantic retry policies in Scala agents.
Core Features & Use Cases
- Manifest-Based Policies: Define named retry policies with priorities and predicates under
retryPolicyDefaults in golem.yaml, using base policies (exponential, periodic, fibonacci, immediate, never) and combinators (countBox, timeBox, clamp, jitter, andThen, union, intersect).
- Runtime SDK Control: Build policies fluently with
Policy.exponential(...).clamp(...).withJitter(...).maxRetries(...) and apply them to scoped code blocks using withRetryPolicy.
- Live Management: Query active policies from agent code via
RetryApi or create, update, and delete policies at runtime with the golem retry-policy CLI without redeployment.
- Use Case: Configure an HTTP 5xx retry policy that only fires on transient server errors for HTTPS endpoints, with exponential backoff clamped to a delay range and jitter to avoid thundering herds.
Quick Start
Ask the AI to define a retry policy in golem.yaml that retries transient HTTPS errors up to 5 times with exponential backoff, clamping, and jitter.