operating-production-services
本番サービスの信頼性を高めるため、SLO(サービスレベル目標)やエラーバジェット、事後分析、インシデント対応などのSRE(サイト信頼性エンジニアリング)パターンを適用し、サービスの安定運用を実現するSkill。
📜 元の英語説明(参考)
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).
🇯🇵 日本人クリエイター向け解説
本番サービスの信頼性を高めるため、SLO(サービスレベル目標)やエラーバジェット、事後分析、インシデント対応などのSRE(サイト信頼性エンジニアリング)パターンを適用し、サービスの安定運用を実現するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o operating-production-services.zip https://jpskill.com/download/17313.zip && unzip -o operating-production-services.zip && rm operating-production-services.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17313.zip -OutFile "$d\operating-production-services.zip"; Expand-Archive "$d\operating-production-services.zip" -DestinationPath $d -Force; ri "$d\operating-production-services.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
operating-production-services.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
operating-production-servicesフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 3
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
本番環境サービス運用
本番環境の信頼性パターン: 重要なものを測定し、失敗から学び、体系的に改善します。
クイックリファレンス
| ニーズ | 参照先 |
|---|---|
| 信頼性目標の定義 | SLO & Error Budgets |
| インシデントレポートの作成 | Postmortem Templates |
| SLOアラートの設定 | references/slo-alerting.md |
SLO & Error Budgets
階層
SLA (契約) → SLO (目標) → SLI (測定)
一般的な SLI
# 可用性: 成功したリクエスト数 / 全リクエスト数
sum(rate(http_requests_total{status!~"5.."}[28d]))
/
sum(rate(http_requests_total[28d]))
# レイテンシ: 閾値以下のリクエスト数 / 全リクエスト数
sum(rate(http_request_duration_seconds_bucket{le="0.5"}[28d]))
/
sum(rate(http_request_duration_seconds_count[28d]))
SLO 目標の現実的な確認
| SLO % | 月間ダウンタイム | 年間ダウンタイム |
|---|---|---|
| 99% | 7.2 時間 | 3.65 日 |
| 99.9% | 43 分 | 8.76 時間 |
| 99.95% | 22 分 | 4.38 時間 |
| 99.99% | 4.3 分 | 52 分 |
100% を目指さないでください。 9 を 1 つ増やすごとにコストが指数関数的に増加します。
Error Budget
Error Budget = 1 - SLO Target
例: 99.9% SLO = 0.1% の error budget = 43 分/月
ポリシー: | 残り Budget | アクション | |------------------|--------| | > 50% | 通常の速度 | | 10-50% | リスクの高い変更を延期 | | < 10% | 重要でない変更を凍結 | | 0% | 機能凍結、信頼性の修正 |
Prometheus の記録ルールとマルチウィンドウのバーンレートアラートについては、references/slo-alerting.md を参照してください。
Postmortem Templates
責務追及をしない原則
| 責務追及型 | 責務追及をしない |
|---|---|
| 「誰がこれを引き起こしたのか?」 | 「どのような状況がこれを許したのか?」 |
| 個人を罰する | システムを改善する |
| 情報を隠す | 学びを共有する |
Postmortem を書くべき時
- SEV1/SEV2 インシデント
- 顧客に影響する 15 分以上の停止
- データ損失またはセキュリティインシデント
- 深刻な事態になりかけたニアミス
- 新しい障害モード
標準テンプレート
# Postmortem: [インシデントのタイトル]
**日付**: YYYY-MM-DD | **期間**: X 分 | **重大度**: SEVX
## Executive Summary
1 段落: 何が起こったか、影響、根本原因、解決策。
## Timeline (UTC)
| 時間 | イベント |
|------|-------|
| HH:MM | 最初のアラート発報 |
| HH:MM | オンコール担当者が認知 |
| HH:MM | 根本原因の特定 |
| HH:MM | 修正のデプロイ |
| HH:MM | サービスの復旧 |
## Root Cause Analysis
### 5 Whys
1. なぜサービスは失敗したのか? → [回答]
2. なぜ [1] が起こったのか? → [回答]
3. なぜ [2] が起こったのか? → [回答]
4. なぜ [3] が起こったのか? → [回答]
5. なぜ [4] が起こったのか? → [根本原因]
## Impact
- 影響を受けた顧客: X
- 期間: X 分
- 収益への影響: $X
- サポートチケット: X
## Action Items
| 優先度 | アクション | 担当者 | 期限 | チケット |
|----------|--------|-------|-----|--------|
| P0 | [緊急の修正] | @name | 日付 | XXX-123 |
| P1 | [再発防止] | @name | 日付 | XXX-124 |
| P2 | [検知の改善] | @name | 日付 | XXX-125 |
クイックテンプレート (軽微なインシデント)
# Quick Postmortem: [タイトル]
**日付**: YYYY-MM-DD | **期間**: X 分 | **重大度**: SEV3
## What Happened
1 文での説明。
## Timeline
- HH:MM - トリガー
- HH:MM - 検知
- HH:MM - 解決
## Root Cause
1 文。
## Fix
- Immediate: [何をしたか]
- Long-term: [チケット XXX-123]
Postmortem ミーティングガイド
構成 (60 分)
- オープニング (5 分) - 思い出させる: 「私たちは学びに来たのであり、責めるためではありません」
- タイムライン (15 分) - イベントを時系列で説明
- 分析 (20 分) - 何が失敗したのか? なぜ? 何がそれを許したのか?
- アクションアイテム (15 分) - 優先順位を付け、担当者を割り当て、日付を設定
- クロージング (5 分) - 学びを要約し、担当者を確認
ファシリテーションのヒント
- 責務をシステムに向ける: 「何がこの間違いを可能にしたのか?」
- 脱線を時間制限する
- 反対意見を記録する
- 静かな参加者を励ます
アンチパターン
| しないこと | 代わりにすること |
|---|---|
| 100% の SLO を目指す | error budget の存在を受け入れる |
| 小さなインシデントを無視する | 小さなインシデントはパターンを明らかにする |
| アクションアイテムを放置する | すべてのアイテムに担当者 + 日付 + チケットが必要 |
| 個人を責める | 「どのような状況がこれを許したのか?」と問う |
| 無駄な作業のアクションを作成する | アクションは再発を防ぐべき |
検証
実行: python scripts/verify.py
参考文献
- references/slo-alerting.md - Prometheus ルール、バーンレートアラート、Grafana ダッシュボード
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Operating Production Services
Production reliability patterns: measure what matters, learn from failures, improve systematically.
Quick Reference
| Need | Go To |
|---|---|
| Define reliability targets | SLOs & Error Budgets |
| Write incident report | Postmortem Templates |
| Set up SLO alerting | references/slo-alerting.md |
SLOs & Error Budgets
The Hierarchy
SLA (Contract) → SLO (Target) → SLI (Measurement)
Common SLIs
# 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 Targets Reality Check
| 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
Error Budget = 1 - SLO Target
Example: 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.
Postmortem Templates
The Blameless Principle
| Blame-Focused | Blameless |
|---|---|
| "Who caused this?" | "What conditions allowed this?" |
| Punish individuals | Improve systems |
| Hide information | Share learnings |
When to Write Postmortems
- SEV1/SEV2 incidents
- Customer-facing outages > 15 minutes
- Data loss or security incidents
- Near-misses that could have been severe
- Novel failure modes
Standard Template
# 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 |
Quick Template (Minor Incidents)
# 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]
Postmortem Meeting Guide
Structure (60 min)
- Opening (5 min) - Remind: "We're here to learn, not blame"
- Timeline (15 min) - Walk through events chronologically
- Analysis (20 min) - What failed? Why? What allowed it?
- Action Items (15 min) - Prioritize, assign owners, set dates
- Closing (5 min) - Summarize learnings, confirm owners
Facilitation Tips
- Redirect blame to systems: "What made this mistake possible?"
- Time-box tangents
- Document dissenting views
- Encourage quiet participants
Anti-Patterns
| 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 |
Verification
Run: python scripts/verify.py
References
- references/slo-alerting.md - Prometheus rules, burn rate alerts, Grafana dashboards
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (5,149 bytes)
- 📎 references/slo-alerting.md (6,084 bytes)
- 📎 scripts/verify.py (1,015 bytes)