Install any skill in seconds. Free to start, no credit card required.
Get Started Free →SRE patterns for production service reliability: SLOs, error budgets, postmortems, and incident response. Use when defining reliability targets, writing postmortems, implementing SLO alerting, or establishing on-call practices. NOT for initial service development (use scaffolding skills instead).
.claude/skills/aiskillstore-operating-production-services/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-22 | ✓→✗ | ▼ Worse | 73% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 15% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 29% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 53% | 0% |
Production reliability patterns: measure what matters, learn from failures, improve systematically.
| Need | Go To | |------|-------| | Define reliability targets | SLOs & Error Budgets | | Write incident report | Postmortem Templates | | Set up SLO alerting | references/slo-alerting.md |
SLA (Contract) → SLO (Target) → SLI (Measurement)promql# Availability: successful requests / total requests sum(rate(http_requests_total{status!~"5.."}[28d])) / sum(rate(http_requests_total[28d])) # Latency: requests below threshold / total requests sum(rate(http_request_duration_seconds_bucket{le="0.5"}[28d])) / sum(rate(http_request_duration_seconds_count[28d]))
| SLO % | Downtime/Month | Downtime/Year | |-------|----------------|---------------| | 99% | 7.2 hours | 3.65 days | | 99.9% | 43 minutes | 8.76 hours | | 99.95% | 22 minutes | 4.38 hours | | 99.99% | 4.3 minutes | 52 minutes |
Don't aim for 100%. Each nine costs exponentially more.
Error Budget = 1 - SLO TargetExample: 99.9% SLO = 0.1% error budget = 43 minutes/month
Policy: | Budget Remaining | Action | |------------------|--------| | > 50% | Normal velocity | | 10-50% | Postpone risky changes | | < 10% | Freeze non-critical changes | | 0% | Feature freeze, fix reliability |
See references/slo-alerting.md for Prometheus recording rules and multi-window burn rate alerts.
| Blame-Focused | Blameless | |---------------|-----------| | "Who caused this?" | "What conditions allowed this?" | | Punish individuals | Improve systems | | Hide information | Share learnings |
markdown# Postmortem: [Incident Title] **Date**: YYYY-MM-DD | **Duration**: X min | **Severity**: SEVX ## Executive Summary One paragraph: what happened, impact, root cause, resolution. ## Timeline (UTC) | Time | Event | |------|-------| | HH:MM | First alert fired | | HH:MM | On-call acknowledged | | HH:MM | Root cause identified | | HH:MM | Fix deployed | | HH:MM | Service recovered | ## Root Cause Analysis ### 5 Whys 1. Why did service fail? → [Answer] 2. Why did [1] happen? → [Answer] 3. Why did [2] happen? → [Answer] 4. Why did [3] happen? → [Answer] 5. Why did [4] happen? → [Root cause] ## Impact - Customers affected: X - Duration: X minutes - Revenue impact: $X - Support tickets: X ## Action Items | Priority | Action | Owner | Due | Ticket | |----------|--------|-------|-----|--------| | P0 | [Immediate fix] | @name | Date | XXX-123 | | P1 | [Prevent recurrence] | @name | Date | XXX-124 | | P2 | [Improve detection] | @name | Date | XXX-125 |
markdown# Quick Postmortem: [Title] **Date**: YYYY-MM-DD | **Duration**: X min | **Severity**: SEV3 ## What Happened One sentence description. ## Timeline - HH:MM - Trigger - HH:MM - Detection - HH:MM - Resolution ## Root Cause One sentence. ## Fix - Immediate: [What was done] - Long-term: [Ticket XXX-123]
| Don't | Do Instead | |-------|------------| | Aim for 100% SLO | Accept error budget exists | | Skip small incidents | Small incidents reveal patterns | | Orphan action items | Every item needs owner + date + ticket | | Blame individuals | Ask "what conditions allowed this?" | | Create busywork actions | Actions should prevent recurrence |
Run: python scripts/verify.py
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 45,241 | 14,177 | -69% | 1 | 1 | 0% | 2,381 | 2,745 | +15% | 0 | 0 | — |
case-01 | fail→fail | 115,484 | 45,441 | -61% | 1 | 1 | 0% | 2,093 | 3,064 | +46% | 0 | 0 | — |
case-02 | fail→fail | 70,028 | 18,954 | -73% | 1 | 1 | 0% | 3,410 | 3,545 | +4% | 0 | 0 | — |
case-03 | fail→fail | 24,452 | 17,760 | -27% | 1 | 1 | 0% | 2,446 | 3,538 | +45% | 0 | 0 | — |
case-05 | pass→pass | 39,791 | 17,362 | -56% | 1 | 1 | 0% | 1,943 | 2,505 | +29% | 0 | 0 | — |
case-06 | pass→pass | 13,701 | 11,070 | -19% | 1 | 1 | 0% | 1,515 | 2,314 | +53% | 0 | 0 | — |
case-07 | pass→pass | 21,267 | 9,878 | -54% | 1 | 1 | 0% | 1,553 | 2,120 | +37% | 0 | 0 | — |
case-08 | pass→pass | 13,828 | 8,884 | -36% | 1 | 1 | 0% | 1,525 | 1,957 | +28% | 0 | 0 | — |
case-09 | pass→pass | 13,418 | 6,599 | -51% | 1 | 1 | 0% | 1,708 | 2,101 | +23% | 0 | 0 | — |
case-10 | fail→pass | 15,996 | 6,934 | -57% | 1 | 1 | 0% | 1,568 | 2,201 | +40% | 0 | 0 | — |
case-11 | pass→pass | 18,471 | 11,183 | -39% | 1 | 1 | 0% | 2,077 | 2,337 | +13% | 0 | 0 | — |
case-12 | pass→pass | 12,136 | 10,386 | -14% | 1 | 1 | 0% | 1,851 | 2,163 | +17% | 0 | 0 | — |
case-13 | pass→pass | 9,692 | 16,104 | +66% | 1 | 1 | 0% | 1,234 | 2,370 | +92% | 0 | 0 | — |
case-14 | pass→pass | 13,153 | 10,869 | -17% | 1 | 1 | 0% | 1,453 | 2,297 | +58% | 0 | 0 | — |
case-15 | pass→pass | 17,639 | 16,707 | -5% | 1 | 1 | 0% | 2,519 | 4,180 | +66% | 0 | 0 | — |
case-16 | pass→pass | 14,577 | 13,477 | -8% | 1 | 1 | 0% | 2,373 | 3,225 | +36% | 0 | 0 | — |
case-17 | pass→pass | 13,295 | 12,249 | -8% | 1 | 1 | 0% | 1,663 | 1,933 | +16% | 0 | 0 | — |
case-18 | pass→pass | 14,394 | 24,016 | +67% | 1 | 1 | 0% | 1,792 | 1,628 | -9% | 0 | 0 | — |
case-19 | pass→pass | 20,821 | 14,330 | -31% | 1 | 1 | 0% | 1,775 | 2,446 | +38% | 0 | 0 | — |
case-20 | pass→pass | 13,172 | 6,372 | -52% | 1 | 1 | 0% | 2,216 | 2,063 | -7% | 0 | 0 | — |
case-21 | pass→pass | 8,848 | 10,439 | +18% | 1 | 1 | 0% | 787 | 2,263 | +188% | 0 | 0 | — |
case-22 | pass→fail | 8,247 | 11,399 | +38% | 1 | 1 | 0% | 1,433 | 2,472 | +73% | 0 | 0 | — |
case-23 | pass→pass | 12,150 | 38,519 | +217% | 1 | 1 | 0% | 781 | 2,580 | +230% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of 0 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.