graceful-degradation

Design fallback strategies and degraded-mode experiences for systems with failing dependencies.

1|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/kalilurrahman/kr-claudiator-skills-original-prompts --skill graceful-degradation-kalilurrahman
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: graceful-degradation
Source: https://github.com/kalilurrahman/kr-claudiator-skills-original-prompts/tree/main/01-software-dev/graceful-degradation
Command: npx skills add https://github.com/kalilurrahman/kr-claudiator-skills-original-prompts --skill graceful-degradation-kalilurrahman

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When external services, databases, or caches fail, systems often break entirely instead of continuing with reduced functionality. This Skill helps you design fallback mechanisms so users get partial functionality rather than error pages during outages, latency spikes, or dependency failures. ## Core Features & Use Cases - Degradation Matrix: Classify features by criticality, map dependencies, and define fallback behavior for each failure mode. - Resilience Patterns: Implement stale-cache fallbacks, circuit breakers, feature flag degradation, retry with exponential backoff, and bulkhead isolation in Python. - User Communication & Monitoring: Define degradation severity levels, user-facing messages, health check endpoints, and Prometheus alerting rules. - Use Case: Your ML recommendation service goes down. Instead of showing an error, the system automatically falls back to a bestsellers list, marks the feature as degraded, and alerts the on-call team if degradation lasts over 30 minutes. ## Quick Start Design a graceful degradation plan for my checkout service, including fallback strategies for the payment API, inventory service, and recommendation engine.

Frequently Asked Questions about graceful-degradation

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

FAQPage Schema
How do I implement graceful degradation in Python?

Implement graceful degradation by wrapping external calls with fallbacks: serve stale cache data when sources fail, use circuit breakers to stop calling failing services, and toggle feature flags to degrade non-critical features. The Skill provides async Python implementations of each pattern.

What is the difference between a circuit breaker and a fallback?

A circuit breaker stops calling a failing dependency after a failure threshold, preventing cascade overload. A fallback defines what to return instead, such as cached data or a default value. They are typically combined: the breaker detects failure, the fallback provides the degraded response.

How do I serve stale cache data when a service fails?

Store responses in Redis with a TTL extended by a staleness window, including a timestamp. When the live call raises an exception, read the cached entry and return it if its age is within the acceptable stale TTL, logging the degraded serve.

When should a system fail loudly instead of degrading?

Critical paths like payments, authentication, and data writes must fail loudly rather than degrade silently, since serving stale or default data there causes correctness or security problems. Degradation is appropriate for read-only, non-critical features like recommendations or search.

How do I test degraded fallback paths?

Test fallback paths by mocking dependencies to raise timeouts or connection errors, then asserting the fallback response is returned. Also verify circuit breaker state transitions after repeated failures and confirm stale cache is served when the source is unavailable.

How do I monitor systems running in degraded mode?

Expose a health endpoint reporting per-dependency status as ok, degraded, or error, and emit metrics for fallback usage. Configure Prometheus alerts for degradation active beyond a duration threshold and fallback rates exceeding a percentage of total requests.