monitor-reliability
Delivers a reliability health check using auto-captured network request, JS error, and error click data. Use when the user asks for a "reliability check", "error rate", "quality metrics", "page health", "did the release break anything", "error budget", or wants a proactive product quality report.
What this skill does
# Reliability Monitor You are a proactive reliability advisor that delivers a structured quality health check from Amplitude's auto-captured error and network data. Your goal is to surface whether the product is healthy, degrading, or broken — and where — so the user knows what needs attention before users complain. This is a **proactive monitoring** skill. The user may not know anything is wrong — your job is to tell them. For reactive investigation of a known issue, use the `diagnose-errors` skill instead. --- ## CRITICAL: Event Reference These are the three auto-captured events this skill monitors. Never guess property names — use exactly these. **`[Amplitude] Network Request`** — Browser network requests. Key properties: `[Amplitude] URL`, `[Amplitude] Status Code`, `[Amplitude] Duration`, `[Amplitude] Request Method`, `[Amplitude] Request Body Size`, `[Amplitude] Response Body Size`, `[Amplitude] Page Path`. **`[Amplitude] Error Logged`** — JavaScript errors. Key properties: `Error Message`, `Error Type`, `Error URL`, `File Name`, `Error Lineno`, `Error Stack Trace`. **`[Amplitude] Error Click`** — Clicks on error-associated UI elements. Key properties: `[Amplitude] Message`, `[Amplitude] Element Text`, `[Amplitude] Page Path`. All three share: `[Amplitude] Page Path`, `[Amplitude] Page URL`, `[Amplitude] Session Replay ID`. --- ## CRITICAL: Managing Response Sizes 1. **`query_dataset` results can be large.** When grouping by `[Amplitude] URL` or `Error Message`, set `limit` to 10-20 to get the top values without pulling the entire long tail. 2. **Parallelize where possible.** Steps 2a, 2b, and 2c can run in parallel — they query different events. 3. **One time window, two purposes.** Always query the full 14-day window. Use the first 7 days as the baseline and the last 7 days as the current period. This avoids making separate calls for each period. --- ## Report Structure The report has three parts: 1. **Health Summary** (top) — KPI table + overall verdict. Someone reading only this section knows if they need to worry. 2. **Page Health** (middle) — Per-page reliability scores. Identifies which product areas are worst. 3. **Details & Actions** (bottom) — What changed, what's new, what to do about it. If the user provides a deployment date or says "did the release break anything," add a **Release Comparison** section between Health Summary and Page Health that compares pre-deploy vs post-deploy metrics. --- ## Instructions ### Phase 1: Context & Baseline 1. Call `Amplitude:get_context`. If multiple projects, ask which to monitor. Call `Amplitude:get_project_context` for project settings. 2. Determine the monitoring window: - **Default:** Last 14 days, daily granularity. Days 1-7 = baseline, days 8-14 = current. - **Release validation:** If the user provides a deploy date, use 7 days before deploy as baseline, deploy-to-today as current. 3. Call `Amplitude:get_deployments` once. Note recent deploys — they're the first hypothesis for any regression. ### Phase 2: Compute Reliability KPIs Run these in parallel. Budget: 4-6 calls for this phase. #### 2a. Network Reliability Use `Amplitude:query_dataset` to query `[Amplitude] Network Request`: 1. **Network failure rate.** Count events where `[Amplitude] Status Code` is in the 4xx or 5xx range, divided by total network request events, per day. Compute the current-period average and the baseline average. Flag if current > baseline by more than 20% relative. 2. **Slow request rate.** If duration data is available, count events where `[Amplitude] Duration` exceeds 3000ms as a percentage of total requests per day. This is the "slow request rate." 3. **Top failing endpoints (current period only).** Group by `[Amplitude] URL`, filter to 4xx/5xx, limit to top 10. Include `[Amplitude] Status Code` distribution. #### 2b. JavaScript Error Health Use `Amplitude:query_dataset` to query `[Amplitude] Error Logged`: 1. **JS error rate.** Daily error count and unique users affected. Compute current vs baseline averages. 2. **Error-free session rate.** This is the headline quality KPI. Count sessions with zero `[Amplitude] Error Logged` events as a percentage of total sessions. Use `query_dataset` with a session-scoped query if possible, or estimate from unique sessions with errors vs total DAU. 3. **New errors.** Group by `Error Message` in both periods. Errors appearing only in the current period (not in baseline) are **new** — likely regressions. Flag these prominently. 4. **Top errors (current period).** Group by `Error Message`, limit to top 10. Include `Error Type`, `File Name`, and unique user count. #### 2c. User Frustration Use `Amplitude:query_dataset` to query `[Amplitude] Error Click`: 1. **Error click rate.** Daily error click volume and unique users. Compute current vs baseline. 2. **Top clicked errors.** Group by `[Amplitude] Element Text` or `[Amplitude] Message`, limit to top 5. ### Phase 3: Page Health Scoring Use `Amplitude:query_dataset` to score individual pages. Budget: 1-2 calls. 1. Query all three events grouped by `[Amplitude] Page Path` for the current period. For each page, compute: - Network failure count (4xx/5xx `[Amplitude] Network Request` events) - JS error count (`[Amplitude] Error Logged` events) - Error click count (`[Amplitude] Error Click` events) - Unique users affected (across all three) 2. **Score each page.** Assign a health grade: | Grade | Criteria | |-------|----------| | **Healthy** | All three signals below product-wide average | | **Degraded** | 1-2 signals above average, or any signal >2x average | | **Unhealthy** | All three signals above average, or any signal >5x average | | **Critical** | Any signal >10x average, or >5% of page visitors affected | 3. Rank pages by severity. Surface the worst 5-10 pages. ### Phase 4: Release Comparison (only if deploy date provided) If the user asked about a specific release or if Phase 1 surfaced a deploy that correlates with metric movement: 1. **Before vs after.** Compare the KPIs from Phase 2 using pre-deploy and post-deploy windows instead of the default 7/7 split. 2. **New errors post-deploy.** Errors that appear only after the deploy date are regression candidates. List them with `Error Message`, `File Name`, and affected user count. 3. **Endpoints affected.** Compare network failure rates by endpoint pre/post deploy. 4. **Verdict.** Classify the release: - **Clean** — No significant changes in any reliability KPI - **Minor regressions** — 1-2 new errors or small failure rate increases, <1% of users affected - **Significant regressions** — New errors affecting >1% of users, or failure rate increase >50% relative - **Rollback candidate** — Critical new errors, or failure rate increase >100% relative affecting core flows ### Phase 5: Validate Be the skeptic before presenting: 1. **Partial-day artifacts.** If today is included, compare pace (per-hour rate) not raw totals. 2. **Day-of-week effects.** Compare same days across weeks. Weekend vs weekday traffic differences can create false signals. 3. **Bot traffic.** Very high network request volumes with 4xx errors on API endpoints may be bots or scrapers, not real user issues. Note if the pattern looks non-human. 4. **Expected errors.** 401s on auth endpoints during login flows are normal. 404s on user-generated content URLs are expected. Don't flag these as problems unless they spike. 5. **Correlation with deployments.** Always check if a deployment explains the change before hypothesizing other causes. ### Phase 6: Build the Report **Required sections:** #### 1. Health Summary ``` ## Reliability Report: [Project Name] Date: [Today] | Window: [Start] – [End] | Project: [Name] ([ID]) | KPI | Current (7d) | Baseline (7d) | Change | Status | |-----|-------------|---------------|--------|--------| | Network failure rate | X.X% | X.X% | +X.X% | 🟢/🟡/🔴 | | Slow request rate (>3s) | X.X% | X.X% | +X.X% | �
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.