This prompt is designed for incident commanders and on-call engineers who need to assign a consistent severity level during an active incident. The primary job-to-be-done is to evaluate observable signals—such as user impact breadth, data loss or corruption risk, revenue exposure, and SLA breach potential—against your organization's predefined severity definitions. Use this prompt when the incident is declared and initial signals are available but before the incident response team commits to a severity-driven escalation path. The ideal user has access to monitoring dashboards, alert context, and the organization's severity matrix, and needs a structured, defensible classification to guide response urgency and resource allocation.
Prompt
Incident Severity Classification Prompt

When to Use This Prompt
Understand the job-to-be-done, ideal user, required context, and when not to use this prompt for incident severity classification.
This prompt requires several concrete inputs to function correctly. You must provide [SEVERITY_DEFINITIONS] that clearly articulate each level's criteria (e.g., SEV1: complete outage affecting all users, SEV2: degraded performance for a subset, SEV3: minor cosmetic issue). You also need [OBSERVABLE_SIGNALS] describing the current incident's symptoms, including affected user count or percentage, geographic or tenant scope, error rates, latency degradation, and any data integrity concerns. Optionally, include [REVENUE_IMPACT] estimates and [SLA_CONTEXT] to strengthen the classification. The prompt does not diagnose root cause or suggest remediation steps; it classifies severity and provides justification plus escalation triggers.
Do not use this prompt when the incident is still a vague alert without confirmed user impact, when you lack a documented severity matrix, or when the primary need is root cause analysis rather than classification. This prompt is also inappropriate for post-incident review or postmortem analysis—it is designed for the active triage window. If your organization uses dynamic severity levels that shift based on business hours or affected customer tier, ensure those rules are embedded in [SEVERITY_DEFINITIONS] before invoking the prompt. Using this prompt without clear definitions will produce inconsistent, untrustworthy classifications that undermine incident response.
Before using this prompt, confirm that your severity definitions are current, mutually exclusive, and understood by the entire on-call rotation. If your definitions have gaps—such as no clear boundary between SEV2 and SEV3 for partial outages—resolve those gaps first. The prompt's output includes a severity recommendation, a structured justification mapping signals to criteria, and escalation triggers that indicate when to reclassify. Treat this output as a decision aid, not an automated command. In high-stakes incidents involving data loss or regulatory exposure, a human must review and approve the classification before it drives paging or external communications.
Use Case Fit
Where the Incident Severity Classification Prompt delivers reliable, standardized results—and where it introduces operational risk that requires a different approach.
Good Fit: Structured Triage with Defined Levels
Use when: your organization has a documented severity matrix (SEV1–SEV5) with clear criteria for user impact, data loss, revenue exposure, and SLA breach. The prompt excels at mapping incident signals to predefined levels and producing consistent, auditable classifications. Guardrail: supply the full severity definitions in [SEVERITY_MATRIX] and require the model to cite which criteria triggered the classification.
Bad Fit: Novel Failure Modes Without Precedent
Avoid when: the incident involves a completely novel failure mode, cascading cross-service failures with unknown blast radius, or security breaches where the full scope is still unfolding. The prompt cannot reason about unknown unknowns and may under-classify ambiguous threats. Guardrail: escalate to human incident commander immediately; use the prompt only after initial blast-radius assessment is complete.
Required Inputs: Evidence Before Classification
Risk: classification without sufficient evidence produces confident-sounding but incorrect severity assignments. The prompt needs concrete signals, not vague descriptions. Guardrail: require [USER_IMPACT_EVIDENCE], [REVENUE_EXPOSURE_ESTIMATE], [DATA_LOSS_INDICATOR], and [SLA_BREACH_RISK] as structured inputs. If any field is unknown, the output must flag it as an assumption rather than a fact.
Operational Risk: Over-Classification During Alert Storms
Risk: during major incidents with multiple concurrent alerts, the prompt may classify every signal at maximum severity, causing alert fatigue and resource contention. Guardrail: implement a deduplication step before classification. Group related alerts by fingerprint and service, then classify the incident once rather than each alert individually. Add a [CORRELATED_INCIDENT_ID] field to prevent duplicate severity assignments.
Operational Risk: Stale Severity Definitions
Risk: severity matrices evolve as services mature, but prompt templates often lag behind, causing misclassification against outdated criteria. Guardrail: version-lock the [SEVERITY_MATRIX] input and include a [MATRIX_VERSION] field in the output. Add an automated check that rejects classifications using matrix versions older than the current approved version.
Boundary: When Human Judgment Is Required
Risk: the prompt cannot weigh reputational damage, regulatory exposure, or customer trust erosion unless those factors are explicitly quantified in the severity matrix. Guardrail: add an [ESCALATION_TRIGGER] field to the output that flags when any of these qualitative factors are present. Route flagged outputs to a human incident commander for final severity determination before the classification is committed to the incident record.
Copy-Ready Prompt Template
A copy-ready incident severity classification prompt that you can paste into your incident response tool or AI harness.
This prompt template standardizes severity assignment during active incidents. It evaluates user impact, data loss risk, revenue exposure, and SLA breach potential against your defined severity levels. Replace every square-bracket placeholder with live incident data before execution. The prompt is designed to produce a structured severity recommendation with justification and explicit escalation triggers, not a free-text opinion.
textYou are an incident severity classifier for [ORGANIZATION_NAME]. Your task is to assign a severity level to the active incident described below. Use only the severity definitions provided. Do not invent new severity levels. ## SEVERITY DEFINITIONS [SEVERITY_DEFINITIONS] ## INCIDENT DATA - Incident ID: [INCIDENT_ID] - Title: [INCIDENT_TITLE] - Start Time: [START_TIME] - Detection Time: [DETECTION_TIME] - Affected Services: [AFFECTED_SERVICES] - User Impact Description: [USER_IMPACT] - Error Rate (current vs baseline): [ERROR_RATE] - Latency p95 (current vs baseline): [LATENCY_P95] - Data Loss or Corruption Risk: [DATA_LOSS_RISK] - Revenue Impact Estimate (hourly): [REVENUE_IMPACT] - SLA Status: [SLA_STATUS] - Workaround Available: [WORKAROUND_AVAILABLE] - Recent Deploy or Config Change: [RECENT_CHANGE] - Current Mitigation in Progress: [MITIGATION_IN_PROGRESS] ## OUTPUT SCHEMA Return a single JSON object with these fields: - severity_level: string (must match one of the defined severity levels) - confidence: number (0.0 to 1.0) - justification: string (cite specific evidence from the incident data) - escalation_triggers: array of strings (conditions that would raise severity) - recommended_responders: array of strings (teams or roles that should be paged) - sla_breach_risk: string ("none", "warning", "imminent", "active") ## CONSTRAINTS - If user impact is unclear or data is missing, set confidence below 0.7 and note what information is needed. - If the incident meets criteria for multiple severity levels, choose the higher one. - Do not downplay revenue impact or data loss risk. - If a workaround exists but requires manual intervention, treat it as partial mitigation, not full resolution.
Before wiring this into a production harness, validate that your severity definitions are unambiguous and mutually exclusive. Ambiguous severity boundaries produce inconsistent classifications regardless of prompt quality. After each classification, log the prompt version, incident ID, model response, and the human-confirmed severity for audit and eval dataset construction. If the incident involves regulated data or safety-critical systems, require a human incident commander to confirm or override the classification before it becomes the official severity.
Prompt Variables
Each placeholder required by the Incident Severity Classification Prompt, its purpose, an example value, and validation notes for wiring into an incident management harness.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[INCIDENT_TITLE] | Brief human-readable name for the incident | Checkout API 5xx Spike | Required. Non-empty string. Max 200 chars. Reject if contains only generic terms like 'issue' or 'problem'. |
[INCIDENT_DESCRIPTION] | Free-text summary of symptoms, scope, and initial observations | Checkout service returning 503 errors for 40% of requests since 14:22 UTC. Payment provider upstream healthy. | Required. Non-empty string. Min 50 chars. Must contain at least one observable symptom and one temporal marker. |
[SEVERITY_LEVELS] | Organization-defined severity definitions with criteria for each level | SEV1: Complete outage, revenue loss >$10K/min. SEV2: Major feature broken, no workaround. SEV3: Partial degradation, workaround exists. SEV4: Cosmetic or minor. | Required. Must be a valid JSON array of objects with 'level', 'label', and 'criteria' fields. At least 2 levels required. Reject if criteria are circular or unmeasurable. |
[USER_IMPACT_SIGNALS] | Observable metrics describing current user harm | Error rate: 42%. Latency p99: 4500ms. Affected users: ~1200 in last 15min. Customer reports: 8 tickets. | Required. Must be a valid JSON object with numeric or boolean fields. At least one field must have a non-null value. Reject if all values are zero without explanation. |
[REVENUE_IMPACT_ESTIMATE] | Estimated financial impact per minute or hour if known | $1,200/min based on checkout throughput and average order value of $85 | Optional. If provided, must include unit (per minute or per hour) and basis for estimate. Accept null if unknown. Reject if value is negative. |
[DATA_LOSS_RISK] | Assessment of whether customer or system data is at risk of corruption or loss | No data loss risk identified. Transactions failing before write. Queue buffering retries. | Required. Must be one of: 'none', 'low', 'medium', 'high', 'confirmed'. If 'confirmed' or 'high', escalation to SEV1 is mandatory regardless of other signals. |
[SLA_WINDOW_REMAINING] | Time remaining before SLA breach if applicable | 23 minutes until 99.9% monthly SLO breach at current burn rate | Optional. If provided, must include numeric value and unit (minutes or hours). Accept null if no SLA applies. Reject if value is negative without explanation. |
[RECENT_CHANGES] | List of recent deployments, config changes, or infrastructure modifications | v2.4.1 deployed at 14:15 UTC. Config change: payment timeout reduced from 30s to 10s at 14:10 UTC. | Required. Must be a non-empty array of strings or explicit 'none identified'. Each entry should include timestamp or relative time. Reject if array is empty without 'none identified' sentinel. |
Implementation Harness Notes
How to wire the Incident Severity Classification Prompt into an incident response application or workflow.
This prompt is designed to be the first deterministic step in an incident management pipeline, not a standalone chatbot. It should be called immediately after an incident is declared and before any remediation runbook is executed. The application layer must supply structured incident context—user impact counts, affected services, data loss indicators, and revenue exposure estimates—because the model cannot reliably infer these from raw alerts alone. Without this structured input, severity classification becomes guesswork and loses operational trust.
Wire the prompt into your incident response tool (e.g., PagerDuty, FireHydrant, or a custom Slack bot) as a synchronous API call with a strict timeout of 10 seconds. On success, parse the JSON output and validate that severity_level matches one of your predefined enum values (e.g., SEV1 through SEV5) and that confidence_score exceeds a configurable threshold—typically 0.7. If validation fails, retry once with the same payload; if it fails again, escalate to the human incident commander with the raw model output and validation errors logged. Log every classification attempt, including input context, model response, validation result, and final severity assignment, to an immutable audit table for postmortem review.
Model choice matters here. Use a model with strong instruction-following and JSON mode support, such as Claude 3.5 Sonnet or GPT-4o, because the output schema must be strictly parseable. Avoid smaller or older models that may drift the severity definitions or hallucinate escalation triggers. Do not use this prompt with streaming responses—the full structured output is required before any downstream automation acts on the severity. If your incident pipeline includes a RAG step for historical incident similarity, inject the retrieved similar incidents into the [CONTEXT] placeholder before calling the model, but keep the total prompt under 4,000 tokens to maintain low latency during active incidents.
Expected Output Contract
Fields, types, validation rules, and pass/fail conditions for the incident severity classification output. Use this contract to validate model responses before routing to incident management tooling.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
severity_level | enum: SEV1 | SEV2 | SEV3 | SEV4 | SEV5 | Must match exactly one of the five defined severity labels. No free-text or invented levels allowed. | |
severity_justification | string (max 500 chars) | Must reference at least two of: user impact, data loss risk, revenue exposure, SLA breach potential. Parse check for empty or generic text. | |
confidence_score | float 0.0-1.0 | Must be a number between 0 and 1. Values below 0.6 should trigger a human-review escalation flag in the harness. | |
escalation_triggers | array of strings | Each entry must match a known trigger from the defined catalog: [data_loss, sla_breach, revenue_impact, security_incident, multi_region, executive_visible]. Unknown triggers fail validation. | |
affected_services | array of strings | Must contain at least one service name. Null or empty array fails. Each entry should be validated against a known service registry if available. | |
recommended_responder_role | string | Must be one of: [incident_commander, sre_lead, service_owner, security_oncall, engineering_manager]. Free-text role names fail. | |
human_review_required | boolean | Must be true if confidence_score < 0.6 OR severity_level is SEV1. Harness should enforce this rule post-parse. | |
output_timestamp | ISO 8601 UTC string | Must parse as valid UTC datetime. Missing timezone offset or unparseable format fails. Harness should retry once on format failure before rejecting. |
Common Failure Modes
What breaks first when using an LLM to classify incident severity, and how to prevent misclassification before it reaches an on-call engineer.
Vague Impact Descriptions Produce Wrong Severity
What to watch: The model defaults to a higher severity when the input says 'users are affected' without quantifying scope. It hallucinates worst-case blast radius. Guardrail: Require a structured [INCIDENT_CONTEXT] input with explicit fields for affected_user_count, affected_service_pct, and revenue_impact_estimate. If fields are null, the prompt must ask for clarification instead of guessing.
Severity Drift Across Repeated Runs
What to watch: The same incident details produce SEV1 on one run and SEV3 on the next due to minor wording changes or model non-determinism. This erodes on-call trust. Guardrail: Pin the severity definitions in the prompt with explicit, non-overlapping criteria. Use a fixed temperature=0 and validate output against a schema that enforces exactly one severity level. Log every classification for audit.
Ignoring SLA and SLO Context
What to watch: The model classifies based on technical symptoms alone, missing that a 2% error rate on a 99.99% SLO service is a budget-burning emergency. Guardrail: Include the service's SLO targets and current error budget status in the prompt context. Add an eval check that verifies the justification references the SLO data when present.
Over-Classification Due to Urgency Language
What to watch: Input text containing 'urgent,' 'critical,' or 'customer screaming' biases the model toward SEV0/SEV1 regardless of actual blast radius. Guardrail: Instruct the model to ignore sentiment and urgency adverbs. Ground severity strictly in measurable impact dimensions: user count, data loss, revenue, and SLA breach. Add a sentiment-stripping pre-processing step before classification.
Missing Escalation Triggers for Borderline Cases
What to watch: When impact sits exactly on a severity boundary, the model picks one arbitrarily without flagging the ambiguity. The incident commander never knows a judgment call was needed. Guardrail: Require the output to include a borderline_risk boolean and an escalation_recommendation field. If confidence is below a threshold, the system must route to a human for final assignment.
Stale Severity Definitions in the Prompt
What to watch: The prompt contains severity definitions that drifted from the team's actual incident management policy. The model enforces outdated rules. Guardrail: Store severity definitions in a versioned configuration file, not hard-coded in the prompt. The prompt template pulls the latest policy at runtime. Add a regression test that compares classification output against a golden dataset whenever definitions change.
Evaluation Rubric
Run these checks against a golden dataset of 20-30 incident scenarios with known severity labels before shipping the Incident Severity Classification Prompt to production.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Severity Label Accuracy | Exact match with golden label in >= 90% of test cases | Off-by-one errors on SEV1/SEV2 boundary or systematic misclassification of data-loss scenarios | Run prompt against golden dataset; compute exact-match accuracy and confusion matrix for adjacent severities |
Justification Grounding | Every justification sentence references a specific observable from [INCIDENT_CONTEXT] | Justification contains hallucinated metrics, unsupported claims about user count, or generic statements without evidence | Parse justification field; verify each claim maps to a span in the input context using substring or embedding-based check |
Escalation Trigger Correctness | Escalation flag is true when [INCIDENT_CONTEXT] contains data loss, PII exposure, or revenue-impact indicators | Escalation flag false when data loss is described; escalation flag true for cosmetic UI bug with no user impact | Create 10 positive and 10 negative escalation test cases; measure precision and recall against golden escalation labels |
SLA Breach Detection | SLA breach field matches golden label when [INCIDENT_CONTEXT] includes latency or availability thresholds crossed | Missed SLA breach when error rate exceeds defined threshold in context; false SLA breach when metrics are within SLO | Extract SLA thresholds from [SEVERITY_DEFINITIONS]; compare prompt output against programmatic threshold check on context metrics |
Output Schema Compliance | Valid JSON matching [OUTPUT_SCHEMA] on 100% of test runs; all required fields present with correct types | Missing severity_justification field; escalation_trigger returned as string instead of boolean; extra untyped fields | Validate output against JSON Schema for all golden dataset runs; fail if any parse error or schema violation occurs |
Revenue Exposure Quantification | Revenue exposure estimate is within 20% of golden value or correctly flagged as unquantifiable when data is absent | Revenue exposure provided as precise number when context says 'unknown financial impact'; exposure omitted when context contains revenue data | Compare revenue_exposure field against golden range; check that unquantifiable flag is set when context lacks financial data |
User Impact Scope Classification | User impact scope matches golden label (single-user, subset, all-users) in >= 85% of cases | Classifies all-users impact as single-user when context describes global outage; overestimates scope for feature-flag-gated issue | Extract user_impact_scope field; compute agreement with golden labels; analyze failure cases for scope boundary confusion |
Confidence Calibration | Confidence score >= 0.8 for correct classifications; confidence score <= 0.5 for incorrect classifications | High confidence (>= 0.9) on misclassified severity; low confidence on straightforward SEV4 cosmetic issues | Bin outputs by confidence score; compute accuracy per bin; check that high-confidence bins have higher accuracy than low-confidence bins |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base prompt with a frontier model and manual review of every classification. Remove strict output schema requirements initially—accept a structured paragraph instead of JSON. Focus on getting severity reasoning right before enforcing format.
Simplify the prompt:
- Replace detailed severity level definitions with a short numbered list.
- Remove escalation trigger logic; add it after the model consistently identifies severity.
- Use a single example instead of few-shot.
Watch for
- Over-classification to SEV1 when the model lacks confidence.
- Inconsistent justification quality across runs.
- Missing key signals like revenue impact or data loss risk because the prompt is too terse.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us