Skip to main content
skill CX Codex

thinking-margin-of-safety — Claude Code skill

Makes the agent add a buffer to capacity, timeouts and schedule estimates, scaled by leftover uncertainty and the cost of a breach instead of the optimistic edge.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a claude-code
Open on GitHub

What thinking-margin-of-safety does

The skill kicks in when you ask the agent to size capacity, a connection pool, queue depth, storage or an SLA under load uncertainty, or to commit on a timeline or budget. It starts with a bare point estimate in explicit units and a confidence label. Then it names the uncertainty drivers and what a miss would cost: downtime, a delayed launch, lost data.

Margins follow bands: about 1.2–1.5× for well-known low-consequence cases, 1.5–2× for reversible work with unknowns, 2–3× for a new domain with irreversible consequences. Where a breach could cause ruin, the buffered number must keep even the worst plausible miss above the failure threshold. If that buffer is unaffordable, redesign: shed load, degrade, stage the rollout.

Output is a short block: base estimate, drivers, threshold, multiplier, final commitment, a ruin check and a monitor metric with triggers. The skill also pushes back on padding. It tells the agent not to inflate a limit that can be retuned instantly at no cost, and not to guess when the real number is cheap to measure. A multiplier with no stated breach cost is just habit.

What it helps with

  • size service capacity when peak traffic is still unknown
  • set timeouts and pool sizes with dependency variance in mind
  • defend a project timeline against an optimistic estimate
  • tell a real margin from reflexive over-provisioning
  • decide when to measure first and when to buffer outright

Example prompts for the agent

  • Size the capacity for a new API: how many RPS can it take with an unclear traffic profile? Apply a margin and give me the failure threshold
  • How many weeks should the database migration get if some dependencies are unverified? Add a buffer using the margin of safety skill
  • Check my connection pool math and tell me whether the buffer is bloated, plus which metric would show it

How to install thinking-margin-of-safety

1Skills CLI (Vercel)

npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a claude-code

2Manually: put the files in place

~/.claude/skills/thinking-margin-of-safety/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/thinking-margin-of-safety/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about thinking-margin-of-safety

How do I install thinking-margin-of-safety in Claude Code?

Run npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a claude-code. The skill lands in ~/.claude/skills/thinking-margin-of-safety/SKILL.md.

What does thinking-margin-of-safety do?

It has the agent commit a buffered number whose size follows residual uncertainty and breach cost. You get the final figure, the failure threshold and a metric that would reveal a thin or excessive margin.

When does this skill get in the way?

When a breach is caught at once and fixed for near-zero cost (fast auto-scaling, a live-tunable limit), or when the buffer costs more than the expected breach. Then the skill says to measure the real number rather than pad it.

Source text

SKILL.md · MIT
---
name: thinking-margin-of-safety
description: When provisioning, setting a limit, or committing an estimate under uncertainty, size a buffer to residual error and the cost of breach—not to the optimistic edge.
disable-model-invocation: true
---

# Margin of Safety

Core rule: commit a buffered number when residual uncertainty plus breach cost can cause ruin or costly failure. Margin covers estimation error; it is not free slack for laziness.

## When to Use

- Capacity, timeouts, pool sizes, queue depths, storage, or SLA numbers under load uncertainty
- Timeline or budget commitments where underestimation is costly
- Architecture headroom when scaling or recovery is slow
- Any public or production commitment where being wrong has asymmetric downside

## When NOT to Use

- Breach is detected immediately and fixed near-zero cost (fast auto-scale, live-tunable limit)—static fat buffers waste resources
- `cost(buffer) > P(breach) × cost(breach)`—right-size or measure instead of maxing out
- Uncertainty is eliminable by measurement or lookup—get the real number first
- Stopping-criterion / search budget problems—use bounded rationality, not padding
- Fully known parameters and low stakes where edge optimization is the goal

## Procedure

1. **Point estimate without padding.** State the base requirement in explicit units (RPS, weeks, GB, ms) and confidence (high / medium / low).
2. **Uncertainty and breach cost.** List drivers (spike, growth, unknowns, dependency variance). State what fails if undershot: outage, missed launch, data loss, reputation—and whether failure is recoverable or ruinous.
3. **Size the buffer.** Multiply or add margin to residual uncertainty and stakes—not to vanity. Typical bands (adjust with evidence):
   - Well-known, low consequence: ~1.2–1.5×
   - Familiar with unknowns / reversible: ~1.5–2×
   - New domain, external deps, SLA, irreversible: ~2–3×
   Cap or cut when buffer cost exceeds expected breach cost.
4. **Ruin constraint.** If a breach can cause irreversible harm, size so the worst plausible miss still stays above the failure threshold; if that buffer is unaffordable, change the design (shed load, degrade, stage) rather than pretend precision.
5. **Strongest countercase.** Challenge both under-buffering ("we will scale later") and over-buffering (idle cost, complexity). Prefer measure-then-trim when history exists.
6. **Commit and monitor.** Publish the buffered commitment, the failure threshold, and the metric that would prove margin excessive or thin. Stop when the number is set and monitorable.

## Output

```text
Base estimate: … (units, confidence)
Uncertainty drivers: …
Breach cost / failure threshold: …
Margin applied: …× (or absolute buffer …)
Buffered commitment: …
Ruin check: pass | redesign needed
Cost of margin vs expected breach cost: …
Monitor: metric … ; thin if … ; excessive if …
```

## Verification

- **Falsify:** If the buffered number equals the optimistic point estimate, no margin was applied—or if margin was added with zero stated breach cost, it is cargo-cult padding.
- **Stop:** Once commitment, threshold, and monitor exist, stop stacking multipliers without new uncertainty evidence.
- **Over-application guard:** Do not pad when adjustment is free and instant, or when the real number is cheaply measurable. Do not confuse search-stopping with capacity buffers.

© tjboudreaux · MIT · tjboudreaux/cc-thinking-skills

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set28

thinking-cynefin Sorts a problem into a Cynefin domain by cause and effect, then names the response mode: runbook, analysis, probe or stabilize. Useful when a method keeps failing. CX Codex +1 567installs thinking-bounded-rationality A skill that halts a search at the first option clearing a threshold you set beforehand, instead of comparing forever. CX Codex +1 563installs thinking-model-combination A skill that sequences 2–3 mental models with named roles when one model leaves a blind spot. Built for multi-domain decisions. CX Codex +1 563installs thinking-thought-experiment A skill for when a real test is too rare, large or irreversible: the agent runs one counterfactual with an isolated variable and bounds what the result implies. CX Codex +1 560installs thinking-map-territory The skill makes the agent check live code or data whenever a doc, test, metric or assumption disagrees with observed behavior. CX Codex +1 559installs thinking-effectuation A skill for decisions under genuine uncertainty: inventory your means, then take one step inside an affordable-loss cap. Useful when forecasts can't be trusted. CX Codex +1 556installs thinking-kepner-tregoe A skill for narrowing a defect with IS/IS-NOT analysis and for picking between options with MUST screening, weighted WANTs and downside checks. CX Codex +1 557installs thinking-lindy-effect A skill that turns a technology's age into an argument for the proven option. Useful when choosing a language, framework or database for the long run. CX Codex +1 553installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor