Skill 詳細
slo-architect
Relevant to architects handling reliability targets, but narrowly focused on SLO practice.
使用前に確認
自動レビューは関連性のみを確認し、安全性や推奨を保証しません。使用前に出典の説明を読んでください。
SKILL.md
これはレビュー時に保存された抜粋です。完全で最新の内容は外部ソースを確認してください。
--- name: slo-architect description: Use when defining, reviewing, or operating SLOs/SLIs/error budgets. Triggers on "define an SLO", "what should our SLO be", "error budget", "burn rate", "SLI", "service level objective", "Google SRE workbook", "multi-window burn-rate alert", or any reliability-target question. Ships SLO designer, error-budget calculator with multi-window burn-rate thresholds, and SLO reviewer that catches the common bugs (target too aggressive, window too short, conflicting SLOs, no SLI definition). 4 references on SLO principles + SLI design + error budget math + composition with feature-flags-architect/chaos-engineering/kubernetes-operator. NOT a generic observability skill — specifically the SLO discipline. context: fork version: 2.9.0 author: claude-code-skills license: MIT tags: [slo, sli, sla, error-budget, burn-rate, sre, reliability, google-sre-workbook, observability] compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli] --- # SLO Architect Define SLOs that mean something. Most "SLOs" in the wild are arbitrary numbers no one believes — 99.9% on every endpoint, no SLI definition, no error budget, no policy for what happens when budget burns. This skill enforces the discipline from Google's SRE Workbook: pick the right SLI, set a target users actually care about, calculate the error budget, wire multi-window burn-rate alerts, and have a written policy for when budget runs out. ## When to use - Defining a new SLO for a service or feature - Reviewing existing SLOs for common bugs - Picking the right SLI (event-based vs time-window based vs request-based) - Computing error budgets and burn-rate alert thresholds - Tying SLOs to existing controls — feature flags abort, chaos blast radius, operator capability levels ## When NOT to use - General observability strategy (metrics + logs + traces) → use `observability-designer` - Customer-facing SLAs with legal teeth → that's contract drafting, not engineering - Performance load testing (capacity, not reliability) → use `performance-profiler` - Active incident response → use `incident-response` ## Core principle: an SLO is a promise about user experience ``` SLI ⟶ measurable signal of user-perceived health (e.g., HTTP 2xx rate) SLO ⟶ target for the SLI over a window (e.g., 99.9% over 30 days) SLA ⟶ customer-facing commitment with consequences (separate concern) EB ⟶ error budget: 100% − SLO target = how much "bad" you can spend BR ⟶ burn rate: how fast you're consuming the error budget ``` The four cardinal mistakes: 1. **Target too high** (99.99%+ on services that can't support it) — every minor blip violates SLO; alerts become noise. 2. **Wrong SLI** (CPU usage as proxy for user experience) — system can be "green" while users suffer. 3. **No error budget policy** — burning budget means nothing if there's no agreed action. 4. **Single-window burn-rate alert** — either too noisy (page on a 5-min spike) or too slow (notice budget exhausted after the fact). The 3 tools below catch each of these. ## Quick start ```bash SKILL=engineering/slo-architect/skills/slo-architect # 1. Design an SLO python "$SKILL/scripts/slo_designer.py" \ --service checkout-svc \ --sli-type request-success-rate \ --target 99.9 \ --window-days 30 # 2. Compute error budget + multi-window burn-rate alerts python "$SKILL/scripts/error_budget_calculator.py" \ --target 99.9 --window-days 30 # 3. Review existing SLO definitions for common bugs python "$SKILL/scripts/slo_review.py" --slo-doc docs/slos/ ``` ## The 3 Python tools All stdlib-only. ### `slo_designer.py` Generates a structured SLO definition with required fields. Refuses to render if any required field is missing (`exit 1`). ```bash python scripts/slo_designer.py \ --service checkout-svc \ --sli-type request-success-rate \ --target 99.9 \ --window-days 30 \ --owner team-checkout ``` **SLI types supported:** - `request-success-rate` — `(total_requestsGitHub で全文を読む (外部ページ)