seed-rate-limit-backoff

Wrap HTTP calls with exponential backoff and jitter for rate limits.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/JBODE-mhhs/Zeus2.0-public --skill seed-rate-limit-backoff
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: seed-rate-limit-backoff
Source: https://github.com/JBODE-mhhs/Zeus2.0-public/tree/main/community/seeds/seed-rate-limit-backoff
Command: npx skills add https://github.com/JBODE-mhhs/Zeus2.0-public --skill seed-rate-limit-backoff

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Rate-limited HTTP calls commonly suffer from naive retries that waste time, miss Retry-After hints, or blow up resources with unbounded attempts. This skill provides a canonical backoff-with-jitter pattern to make retries efficient and safe.

Core Features & Use Cases

  • Verify retryability: distinguish between transient and permanent errors and retry only when appropriate.
  • Honor Retry-After: respect server hints to pause before retrying.
  • Exponential backoff with full jitter: space retries to avoid thundering herds and ensure stability.
  • Cap retries and total elapsed time: prevent endless loops and runaway requests.
  • Reference implementation: includes a TypeScript sample illustrating the pattern in production-grade code.

Quick Start

Wrap a failing HTTP call with the withBackoff helper to implement resilient retries.

Frequently Asked Questions about seed-rate-limit-backoff

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

FAQPage Schema
How do I handle HTTP 429 rate limit errors in TypeScript?

Handle HTTP 429 rate limit errors by wrapping your API calls in an exponential backoff function. This pattern pauses retries based on server Retry-After hints, applies jitter to prevent thundering herds, and safely caps total retry attempts.

What is exponential backoff with jitter and when should I use it?

Exponential backoff with jitter is a retry strategy that spaces out delayed HTTP requests using random intervals. Use it when calling APIs that return transient 5xx errors or rate limits to ensure system stability and avoid overwhelming the server.

How do I retry transient 5xx API errors without wasting resources?

Retry transient 5xx API errors safely by implementing a cap-based backoff pattern. This verifies retryability before attempting another request, respects Retry-After headers, and prevents endless loops or runaway resource consumption.

Does this backoff pattern work with any HTTP API?

This backoff pattern works with any HTTP API that returns 429 rate limit or transient 5xx errors. It specifically honors Retry-After headers when present and includes a testable reference implementation written in TypeScript.

Why do naive API retries cause thundering herds and how do I prevent them?

Naive API retries cause thundering herds by firing simultaneous requests without delays. Prevent them by applying full jitter to your exponential backoff strategy, which randomizes retry intervals and spaces out client requests efficiently.

How do I implement a cap on total elapsed time for HTTP retries?

Implement a cap on total elapsed time for HTTP retries by configuring maximum retry attempts alongside a total timeout threshold. This prevents endless loops and runaway requests during extended transient failures or strict rate limits.