thinking-margin-of-safety — скилл для Claude Code
Заставляет агента закладывать буфер в ёмкость, таймауты и оценки сроков, считая его от остаточной неопределённости и цены сбоя, а не от оптимистичного края.
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a claude-codeЧто делает thinking-margin-of-safety
Скилл включается, когда вы просите агента посчитать ёмкость, пул соединений, глубину очереди, хранилище или SLA под нагрузкой, а также сроки и бюджет проекта. Агент сначала называет базовую оценку в явных единицах и с пометкой уверенности. Потом перечисляет источники неопределённости и цену промаха: простой, сорванный запуск, потеря данных.
Буфер он подбирает по полосам: примерно 1.2–1.5× для хорошо знакомого и дешёвого по последствиям, 1.5–2× для обратимого с неизвестными, 2–3× для новой области и необратимых последствий. Если ошибка может нанести необратимый урон, скилл требует, чтобы даже худший промах оставался выше порога отказа, а при нехватке ресурсов советует менять схему — сбрасывать нагрузку, деградировать, разбивать на этапы.
На выходе получается блок с базовой оценкой, драйверами, порогом отказа, применённым множителем, итоговым числом, проверкой на необратимость и метрикой мониторинга. Есть и обратная сторона: скилл прямо запрещает набивать запас там, где предел меняется мгновенно и бесплатно или где настоящее число можно просто измерить. Без реального числа сбоя любой множитель превращается в ритуал, и скилл это ловит.
Какие задачи решает
- заложить буфер в ёмкость сервиса, когда пиковая нагрузка неизвестна
- посчитать таймауты и размеры пулов с поправкой на разброс зависимостей
- защитить сроки проекта от оптимистичной оценки
- отличить настоящий запас от привычки набивать всё с тройным запасом
- решить, когда сначала измерить, а когда сразу брать с запасом
Примеры запросов агенту
- Прикинь ёмкость нового API: сколько RPS выдержит при неясном профиле трафика, посчитай запас и порог отказа
- Сколько недель заложить на миграцию на новую БД, если часть зависимостей ещё не проверена? Добавь буфер по правилам margin of safety
- Проверь мой расчёт пула соединений и скажи, не раздут ли буфер и какие метрики покажут, что он лишний
Как установить thinking-margin-of-safety
1Через Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a claude-code2Вручную: положить файлы
~/.claude/skills/thinking-margin-of-safety/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/thinking-margin-of-safety/
1Через Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a codex2Вручную: положить файлы
.agents/skills/thinking-margin-of-safety/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a cursor2Вручную: положить файлы
.cursor/skills/thinking-margin-of-safety/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install tjboudreaux/cc-thinking-skills thinking-margin-of-safety2Вручную: положить файлы
.github/skills/thinking-margin-of-safety/SKILL.md1Через Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a gemini-cli2Командой платформы
gemini skills install https://github.com/tjboudreaux/cc-thinking-skills --path skills/thinking-margin-of-safetyВручную: положить файлы
.devin/skills/thinking-margin-of-safety/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о thinking-margin-of-safety
Как установить thinking-margin-of-safety в Claude Code?
Выполните npx skills add tjboudreaux/cc-thinking-skills --skill thinking-margin-of-safety -a claude-code. Скилл появится в ~/.claude/skills/thinking-margin-of-safety/SKILL.md.
Что делает thinking-margin-of-safety?
Учит агента добавлять к оценке буфер, размер которого зависит от остаточной неопределённости и цены сбоя. На выходе — итоговое число, порог отказа и метрика, по которой видно, тонок запас или чрезмерен.
Когда этот скилл только мешает?
Если превышение предела ловится сразу и правится бесплатно (быстрый автоскейл, живая настройка лимита) или если стоимость буфера выше ожидаемого ущерба от сбоя. В таких случаях скилл велит измерить реальное число вместо запаса.
Исходный текст
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