zscaler/zscaler-mcp-server/investigate-multi-app-outage
Claude Code and agent skill by zscaler/zscaler-mcp-server
- community
Checking that the SKILL.md file is still in the repository.
Diagnose a multi-application outage scoped to one location by correlating ZDX alerts, affected devices, and shared cloud-path hops. Identifies the devices affected at a specific office, compares the per-application network path across multiple SaaS apps to surface the common network bottleneck, and produces an evidence-backed recommendation. Use when an admin reports: 'A ZDX alert shows users in the Columbus office cannot reach Salesforce and ServiceNow', 'Identify affected devices and the common network path issue', 'Multiple users at Dallas are having issues with several SaaS apps', 'What do these failing apps have in common at this office?', or 'Find the shared network bottleneck for the New York users hitting Workday and Box.'
Install
npx vskill@latest install zscaler/zscaler-mcp-server/investigate-multi-app-outageSKILL.md
ZDX: Investigate Multi-Application Outage at a Location
Keywords
multi-app outage, location outage, office outage, common network path, shared bottleneck, cross-app correlation, hop analysis, ISP issue, cloud path, multiple applications affected, regional outage, site-wide issue, salesforce slow, servicenow slow, cross-tenant impact, shared infrastructure
Overview
Diagnose a scenario where users at one specific office or location are unable to reach multiple SaaS applications simultaneously. The skill correlates active ZDX alerts, scopes impact by location, intersects the affected-device lists across the impacted apps, and then compares the per-application network path (cloud path) on a common affected device to identify the shared upstream segment that is the actual root cause.
Use this skill when: An admin receives a ZDX alert (or user complaint) that names a single office and two or more applications — e.g., "Columbus users can't reach Salesforce and ServiceNow" — and the desired output is a list of affected devices plus an evidence-backed identification of the shared network path issue.
ZDX Copilot alignment: Troubleshooting + Optimization — converts a coarse "users at office X can't reach apps Y/Z" complaint into a hop-level root cause and a prioritized remediation list.
⚠ HTML OUTPUT — READ THIS BEFORE PRODUCING ANY HTML
You MUST NOT hand-write or copy/paste an HTML page for this skill. There is exactly one acceptable way to produce the HTML output:
- Read this file from disk — do NOT inline a copy in your response. The template lives next to this SKILL.md inside the skill's package, at:
``text ./templates/report.html.template ``
The ./ prefix is intentional: this path is relative to the skill folder (the directory containing this SKILL.md), never an absolute path. Most agents that load skills from an uploaded .zip extract the package into a working directory and expose its contents via that relative path — read the file by joining the skill's own root directory with ./templates/report.html.template. Do not rewrite this to an absolute path that points at the author's machine.
- Build a single JSON object (
__ZDX_DATA__payload) shaped exactly as documented in the Data Payload Contract section below. Aggregate the responses from the ZDX MCP tool calls (Steps 1–7 of the Workflow) into that object.
- Replace the literal token
__ZDX_DATA__(which appears once, inside<script type="application/json" id="zdx-data">__ZDX_DATA__</script>) with the JSON object. Do not edit any other part of the template.
- Write the result to disk as
multi_app_outage_<location>_<YYYYMMDD-HHMMSS>.htmlnext to the .docx, and give the user acomputer://link to it.
This template already provides: Zscaler header with logo · sticky top bar · ACTIVE INCIDENT pill · scope summary bar · color-coded incident banner · 6 KPI cards with severity-coded top borders and subtitles · per-table search + filter chips · sortable color-coded tables · per-table CSV export · light/dark theme toggle · top-right language dropdown (EN / ES / PT / FR / JA) · printable PDF view · localStorage prefs · Analysis / Root Cause / Remediation block.
If you find yourself writing `<html>`, `<style>`, or `<table>` in a code-block destined for the user, stop. Read the template instead.
A populated reference rendering ships with this skill at ./example/report.example.html (relative to the skill folder). Open it in a browser to preview the exact layout and depth expected.
Data Payload Contract
The full __ZDX_DATA__ payload is one JSON object. Every field below is required unless marked optional.
Field rules
- `generated_at` — ISO-8601 UTC timestamp.
- `scope` — REQUIRED object with
office,apps,window,generated. The keys map to translated labels (Office,Apps,Window,Generated) automatically. Include the location ID and app IDs inline in the values, as shown. - `incident` — REQUIRED object.
severityis"critical"or"warning". Thebodyis plain text (no HTML); be specific — quote alert IDs, score ranges, exact metric values, and what the most recent probe attempts returned. - `kpis` — REQUIRED. Every KPI value must be
{value, sub, severity}(not just a primitive).severitycontrols the top-border color and the number color:"critical" | "warning" | "good" | "info" | "neutral". - `columnOverrides.hops` — REQUIRED. Rename the four generic
app1*/app2*columns to the actual application names for this run so the table reads "Salesforce Latency", "ServiceNow Loss", etc. - `tables.devices` — one row per affected device.
severityis"Critical"(in the intersection — failing every impacted app) or"Warning"(failing only some).scopeis a free-text label like"ServiceNow Only","Salesforce Only", or the union string. - `tables.appMetrics` — one row per impacted application. Numeric or string-with-unit values are both fine.
statusbecomes a colored pill (Critical/Warning/Good). - `tables.hops` — one row per hop.
verdictis"SHARED" | "Degraded" | "OK". Setseverityto"critical"onSHAREDrows so the row background turns red. - `analysis` — REQUIRED. Be analytical, not robotic. Tie numbers to conclusions. Match the depth shown in the example.
- Every row in every table must include a
severityfield ("critical" | "warning" | "good" | "info" | "neutral") — drives the colored row background.
Output Artifacts — MANDATORY
You MUST generate BOTH files below. Both files are REQUIRED output for every multi-app outage diagnosis.
1. Word Document (.docx)
Write a Word document to disk named multi_app_outage_<location>_<date>.docx containing:
- Executive summary: location, applications affected, count of impacted devices, shared bottleneck identified
- Affected devices table (device, user, OS, ZCC version, last seen, list of apps the device is failing on)
- Per-application metric table at the affected location (PFT, DNS, availability) with deltas vs. organization baseline
- Cloud-path hop comparison table (one row per hop, latency/loss per app side-by-side, flag for shared bottleneck)
- Root cause analysis with supporting evidence — explicitly state which hop or segment is shared
- Healthy-reference comparison (a different office hitting the same apps cleanly, or different apps from the same office hitting cleanly)
- Prioritized remediation actions (immediate, investigate, escalate, monitor)
2. Interactive HTML Web Page (.html)
Produced via the template-fill workflow at the top of this file. No inline HTML.
Workflow
This is a multi-tool correlation skill. Treat the steps below as gates — do not skip ahead; each step's output is required to scope the next. Capture everything you collect into the __ZDX_DATA__ payload as you go.
Step 1: Resolve Location & Application IDs
Capture the location's numeric id. If multiple locations match (e.g., "Columbus, OH" and "Columbus, GA"), ask the admin which one before proceeding.
Resolve the numeric id for each affected application from the response. The score here is the score at this location — note it for the kpis.avgScore field (low score confirms the alert is genuine).
If an app name is ambiguous (e.g., "Salesforce" matches both "Salesforce" and "Salesforce Marketing Cloud"), confirm with the admin which one is affected.
Step 2: Confirm With Active Alerts at the Location
Filter to alerts whose application / app_id matches one of the IDs from Step 1.
For each matching alert:
Capture: start_time, duration, alert trigger / threshold, impacted department(s), and the bottleneck (e.g., pft, dns, availability). Quote the alert IDs verbatim into incident.body — they are part of the evidence.
If NO alerts exist for either app at this location, skip to Step 3 anyway — metrics + device lists are enough.
Step 3: Identify Affected Devices Per Alert and Intersect
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/zdx/investigate-multi-app-outage/SKILL.md
Popularity
- Repository stars
- 39
- Repository forks
- 18
- 7-day trend score
- 18
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/zscaler/zscaler-mcp-server/investigate-multi-app-outage)