slo-workshop
Interactive SLO definition workshop - guides through defining SLIs, setting SLO targets, and establishing error budget policies for a service
What this skill does
# SLO Workshop Command This command runs an interactive workshop to help define SLOs (Service Level Objectives) for a service. ## Purpose Guide teams through the complete SLO definition process: 1. Identifying critical user journeys 2. Selecting appropriate SLIs (Service Level Indicators) 3. Setting realistic SLO targets 4. Establishing error budget policies 5. Designing alerting strategies ## Workflow ### Phase 1: Service Understanding First, understand the service context: **If a service name or file is provided:** - Search the codebase for the service - Identify endpoints, dependencies, and user-facing functionality - Look for existing metrics, SLOs, or monitoring configuration **Gather context through questions:** 1. What does this service do for users? 2. Who are the primary users (internal/external)? 3. What are the critical user journeys? 4. What does "working correctly" mean for users? ### Phase 2: SLI Selection Guide through selecting meaningful SLIs: **Present SLI categories:** ```text Common SLI Types: 1. Availability "Can users access the service?" Measurement: Successful requests / Total requests 2. Latency "How fast does the service respond?" Measurement: Request duration at percentile (p50, p90, p99) 3. Correctness "Does the service return correct results?" Measurement: Correct responses / Total responses 4. Throughput "Can the service handle the load?" Measurement: Requests processed per time unit 5. Freshness "How current is the data?" Measurement: Age of data served to users ``` **For each relevant SLI type, define:** - What counts as a "good" event - What counts as a "valid" event (denominator) - How it will be measured (metrics, logs, synthetic) ### Phase 3: SLO Target Setting Help set appropriate targets: **Consider factors:** - Current baseline (what are we achieving today?) - User expectations (what do users need?) - Engineering capacity (what can we sustain?) - Business requirements (what's contractually required?) **Provide guidance:** ```text SLO Target Guidance: Starting Point Recommendations: - Availability: Start at current baseline - 0.1% - Latency: Start at current p99 + 20% buffer Common Targets: - 99.9% = 43 minutes downtime/month - 99.5% = 3.6 hours downtime/month - 99% = 7.3 hours downtime/month Tips: - Don't start at 100% (impossible to maintain) - Don't set targets you can't measure - Conservative targets are easier to achieve - You can tighten targets over time ``` ### Phase 4: Error Budget Policy Define what happens when the error budget is consumed: **Error budget calculation:** ```text Error Budget = 100% - SLO Target Example: SLO = 99.9% availability Error Budget = 0.1% = 43.2 minutes/month ``` **Policy framework:** ```text Error Budget Policy Template: Budget > 50%: - Normal development velocity - Standard change process Budget 25-50%: - Increased review for risky changes - Prioritize reliability improvements Budget < 25%: - Pause non-critical feature work - Focus on reliability improvements Budget exhausted: - Stop all non-critical deployments - All hands on reliability - Postmortem for budget-burning incidents ``` ### Phase 5: Alerting Strategy Design multi-window burn rate alerting: **Explain burn rate concept:** ```text Burn Rate Alerting: Burn rate = Rate of consuming error budget 1x burn rate = Exactly consuming monthly budget 2x burn rate = Will exhaust budget in 15 days 10x burn rate = Will exhaust budget in 3 days Multi-window alerts: - Fast burn: 14.4x rate over 1 hour (page) - Slow burn: 3x rate over 3 days (ticket) ``` #### Define alert thresholds based on SLO targets ### Phase 6: Documentation Generate SLO documentation: ```text # [Service Name] SLO Definition ## Service Overview [Description from workshop] ## Critical User Journeys 1. [Journey 1] 2. [Journey 2] ## SLIs ### [SLI Name] - Type: [Availability/Latency/etc.] - Definition: [How measured] - Good event: [What counts as good] - Valid event: [What counts as valid] ## SLO Targets | SLI | Target | Window | Error Budget | |-----|--------|--------|--------------| | [SLI 1] | [%] | [days] | [time] | ## Error Budget Policy ### Budget > 50% [Actions] ### Budget 25-50% [Actions] ### Budget < 25% [Actions] ### Budget Exhausted [Actions] ## Alerting | Alert | Burn Rate | Window | Severity | |-------|-----------|--------|----------| | [Name] | [rate]x | [time] | [Page/Ticket] | ## Review Schedule - Quarterly SLO review - Monthly error budget review - After significant incidents ``` ## Usage Examples ```bash # Start workshop for a specific service /sd:slo-workshop order-service # Start workshop with context file /sd:slo-workshop @docs/services/payment-api.md # Start general workshop /sd:slo-workshop ``` ## Interactive Elements Throughout the workshop, use `AskUserQuestion` to: - Gather service context - Validate SLI selections - Confirm target appropriateness - Review error budget policies ## Output The workshop produces: 1. **SLO Definition Document** - Complete SLO specification 2. **Implementation Checklist** - Steps to implement the SLOs 3. **Review Schedule** - When to revisit and adjust ## Related Skills This command leverages: - `slo-sli-error-budget` - SLO methodology details - `observability-patterns` - Measurement approaches - `distributed-tracing` - Trace-based SLIs ## Related Agent For SLO consultation without interactive workshop: - `observability-consultant` - General observability guidance
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.