# Release It!

> Production-ready software patterns for stability and resilience — an AI agent skill based on *Release It!* by Michael T. Nygard.

Published 2026-02-23 · Updated 2026-08-17 · Architecture & Systems · Free and MIT-licensed
Canonical: https://skills.wondel.ai/skills/release-it/
Source: https://github.com/wondelai/skills/tree/main/release-it

**Install:** `npx skills add wondelai/skills/release-it --global`

## What is the Release It! skill?

Release It! is a free, MIT-licensed AI agent skill drawn from Michael Nygard’s book on production stability. It makes your agent design for the hostile half of a system’s life: timeouts on every outbound call, circuit breakers and bulkheads at integration points, and the anti-patterns that turn one slow dependency into an outage.

## Key concepts from Release It! your agent applies

- **Circuit Breakers** — Detect failing dependencies and stop calling them temporarily — prevent cascading failures across your system.
- **Bulkheads** — Partition system resources so a failure in one area cannot exhaust resources needed by other areas.
- **Timeouts & Retries** — Set aggressive timeouts on every integration point and use exponential backoff with jitter for retries.
- **Stability Anti-Patterns** — Avoid integration point failures, cascading failures, unbounded result sets, and slow responses that block threads.
- **Deployment & Operations** — Design for transparency with health checks, metrics, and logging. Plan for zero-downtime deployments and rollback.

## When to use Release It! — and when not to

Reach for it when:

- One slow third-party call ties up every thread and the whole app stops responding, with nothing useful in the logs.
- A list endpoint with no limit was fine in staging and now tries to return four hundred thousand rows.
- You have retries but no backoff, so a struggling dependency gets hammered until it stops responding entirely.
- Your health check returns 200 whenever the process is alive, including when the database is unreachable.

Reach for something else when:

- You are sizing a system that does not exist yet — System Design’s estimation comes first.
- The failure is a data anomaly under concurrency rather than an unavailable dependency — Data-Intensive Apps explains that.
- You want the code structured so infrastructure stays swappable — Clean Architecture is the right layer for it.
- Pages load slowly for users but nothing is actually falling over — High Perf Browser is the more direct fix.

## About Michael T. Nygard

Software architect, 30+ years building large-scale production systems. Michael T. Nygard is a software architect with over 30 years of experience building and operating large-scale systems. He has worked across finance, retail, and government, and is known for bridging the gap between development and operations.
The book: https://openlibrary.org/books/OL26833660M/Release_It!_Design_and_Deploy_Production-Ready_Software

## Example prompts

- Add circuit breakers and bulkheads to our microservice communication layer using release-it skill _(Resilience)_
- Audit this service for stability anti-patterns using release-it skill _(Architecture review)_
- Design a deployment pipeline with zero-downtime and automatic rollback using release-it skill _(DevOps)_
- Add health checks, metrics, and structured logging to this service using release-it skill _(Observability)_

## Frequently asked questions

### How do I install the Release It! skill?

Run `npx skills add wondelai/skills/release-it --global`. It takes about 30 seconds and needs no account. The Release It! skill then works in Claude, Claude Code, Claude Cowork, Codex, Cursor, OpenClaw and Hermes Agent — anything that reads the open agentskills.io format — and your agent loads it on its own when a task calls for it. It is free and MIT-licensed, and the source is at https://github.com/wondelai/skills.

### Which book is the Release It! skill based on?

It packages *Release It!* by Michael T. Nygard — software architect, 30+ years building large-scale production systems. The skill distils the book's method into instructions your agent follows while it works, covering circuit breakers, bulkheads and timeouts & retries. It sits in the Architecture & Systems part of the library.

### What does a circuit breaker do, and when does it hurt?

It counts failures against one integration point and, past a threshold, stops calling it — failing fast for a cool-off period, then letting a trial request through to test recovery. That converts a slow hang into an error you can actually handle. It hurts when the threshold is too tight or the window too short: a breaker that trips on a transient blip amplifies a small problem into unavailability, and one wrapped around a non-idempotent call still needs a considered fallback.

### How is this different from the System Design skill?

System Design asks how big to build; Release It! asks how the thing behaves when part of it is broken. Xu’s designs assume the components work. Nygard starts from the opposite premise — every system is eventually pushed past its limits, and the only question is whether it degrades or collapses. In practice they run in sequence: choose the components, then put a timeout, a bulkhead and a rollback path around each one.

### The book is old. Do I need to read it, and does it still apply?

You do not need it — the skill carries the patterns and anti-patterns as operational rules. And it still applies, because the diagnoses outlived the examples. Thread pools and datacentre deployments date the first edition, and the second covers cloud, containers and continuous delivery. What has not changed: integration points cause most outages, a slow response is worse than a fast error, and unbounded result sets still exhaust memory.

### Can it tell me why my system fell over last night?

Only partly, and it is worth being clear about that. It gives your agent a strong prior — check integration points, timeouts, resource pools, unbounded results, retry storms — which catches a large share of self-inflicted outages. What it cannot do is see your traces, metrics and logs, so it is reasoning from your description. For a specific incident, bring the evidence; use the skill to design the patterns that prevent the next one.

## Related

- All Architecture & Systems skills: https://skills.wondel.ai/skills/architecture/
- Clean Architecture: https://skills.wondel.ai/skills/clean-architecture/
- Domain-Driven Design: https://skills.wondel.ai/skills/domain-driven-design/
- Data-Intensive Apps: https://skills.wondel.ai/skills/ddia-systems/
- System Design: https://skills.wondel.ai/skills/system-design/
- High Perf Browser: https://skills.wondel.ai/skills/high-perf-browser/

