release-it

Design resilient production systems using stability patterns, capacity planning, and chaos engineering.

Updated Jul 23, 2025
One-click install
npx skills add https://github.com/derrik-fleming/dotfiles --skill release-it-derrik-fleming
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: release-it
Source: https://github.com/derrik-fleming/dotfiles/tree/main/private_dot_agents/skills/release-it
Command: npx skills add https://github.com/derrik-fleming/dotfiles --skill release-it-derrik-fleming

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Production systems fail in ways that testing never reveals: cascading failures, blocked threads, unbounded queries, and botched deployments. This Skill provides a structured framework based on Michael Nygard's Release It! to design, deploy, and operate software that survives real production conditions. ## Core Features & Use Cases - Stability Patterns & Anti-Patterns: Apply circuit breakers, bulkheads, timeouts, and retry-with-backoff while avoiding integration point failures, cascading failures, and slow-response traps. - Capacity & Deployment Guidance: Plan load/stress/soak testing, size connection and thread pools, and implement zero-downtime strategies like blue-green, canary, and feature flags. - Observability & Chaos Engineering: Design health checks, RED/USE metrics, SLOs with error budgets, and controlled failure-injection experiments with blast radius controls. - Use Case: When investigating a production outage caused by a slow downstream dependency, use this Skill to diagnose the missing timeout and absent circuit breaker, then score the system 0-10 against production-readiness criteria with concrete fixes. ## Quick Start Ask the assistant to review your service architecture for production readiness using the Release It framework and list the gaps preventing a 10/10 score.

Frequently Asked Questions about release-it

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

FAQPage Schema
How do I prevent cascading failures between microservices?▼

Cascading failures are stopped by combining circuit breakers, timeouts, and bulkheads. Set connect and read timeouts on every outbound call, trip a circuit breaker after a failure threshold, and isolate thread or connection pools per dependency so one failing service cannot drain shared resources.

What is the difference between blue-green and canary deployments?▼

Blue-green maintains two full environments and switches the router for instant rollout and rollback, but doubles infrastructure cost. Canary routes a small traffic percentage to the new version with automated metric evaluation, minimizing blast radius at lower cost but requiring traffic-splitting tooling.

How do I size a database connection pool correctly?▼

Measure actual concurrent active connections under peak load and set the pool to the p99 value plus 20-30% headroom. Also configure checkout timeouts, maximum connection lifetime, and validation queries, and never size the pool equal to the database's maximum connections.

Should I alert on CPU usage or error rates?▼

Alert on user-facing symptoms like error rate, latency, and availability rather than causes like CPU usage. High CPU can be harmless while users suffer errors at low CPU; symptom-based alerts tied to SLO burn rate reduce noise and alert fatigue.

Is it safe to run chaos engineering experiments in production?▼

Yes, when done with minimal blast radius, steady-state hypotheses, emergency stop mechanisms, and authorization. Start in staging, graduate to a small canary population, run during business hours, and use dedicated tooling like Gremlin, Litmus, or AWS FIS rather than ad-hoc commands.

Why are slow responses worse than fast failures?▼

Slow responses block threads and exhaust pools while appearing healthy, so circuit breakers never trip and failures cascade across callers. Fast failures release resources immediately, trigger breakers, and produce visible, actionable errors instead of silent system-wide stalls.