Inferensys

Prompt

Tool Error Severity Classification Rubric Prompt

A practical prompt playbook for standardizing how incident management teams classify tool failures into severity levels using a repeatable rubric.
Developer doing prompt engineering on laptop, prompt variations visible on screen, casual coding session.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the job-to-be-done, required inputs, and operational boundaries for classifying tool errors into severity levels that map directly to incident response SLAs.

This prompt is designed for incident management and platform reliability teams that need a consistent, repeatable method for classifying tool failures into severity tiers: critical, major, minor, or cosmetic. The core job-to-be-done is translating raw error telemetry, user impact signals, and recovery timeline estimates into a structured severity label that triggers the correct response SLA and escalation policy. Use this prompt when you have already instrumented your tool calls with error codes, latency metrics, and user-facing impact data, and you need to remove human variability from the initial triage step. The ideal user is an SRE, on-call engineer, or incident commander who is building or refining an automated incident response pipeline where tool failures must be classified before they reach a human responder or an automated remediation runbook.

Do not use this prompt for real-time agent decision loops where sub-millisecond classification latency is required; the model inference time makes it unsuitable for inline circuit-breaker decisions or per-request routing. This prompt also fails when the error context is too sparse—if you cannot provide at least an error type, a user impact description, and a recovery estimate, the classification will be unreliable and should default to a human triage step. The prompt assumes you have a defined SLA framework with clear response time targets per severity level. If your organization lacks these definitions, the output will be a severity label without an operational contract, which undermines the entire purpose. Wire this prompt into your incident pipeline as a post-detection classification step, not as a replacement for error detection itself.

Before deploying this prompt, ensure your error telemetry pipeline can populate the required input placeholders with structured data. The prompt expects concrete values for error characteristics (e.g., HTTP 503, timeout, partial response), user impact scope (e.g., single user, entire region, read-only vs. write failure), and recovery timeline (e.g., self-healing within seconds, requires manual intervention, unknown duration). If any of these inputs are missing or inferred, the classification confidence drops, and you should route the incident to a human for review. The next section provides the copy-ready prompt template with all required placeholders and adaptation guidance.

PRACTICAL GUARDRAILS

Use Case Fit

Where this prompt works and where it does not.

01

Good Fit: Incident Triage Automation

Use when: standardizing severity classification across on-call teams. Why: The rubric maps error characteristics to response SLAs, reducing subjective severity debates during incidents.

02

Good Fit: Tool Reliability Dashboards

Use when: feeding structured severity labels into monitoring systems. Why: Consistent classification enables accurate aggregation of tool health metrics and circuit breaker thresholds.

03

Bad Fit: Real-Time Critical Path Decisions

Avoid when: the classification itself must execute in under 100ms on the critical path. Why: LLM inference latency is unsuitable for inline request processing. Classify asynchronously or pre-compute.

04

Required Inputs

Must provide: error type, affected user count or percentage, recovery time estimate, and data consistency impact. Guardrail: If any required field is missing, the prompt must return an insufficient_data classification rather than guessing.

05

Operational Risk: Severity Drift

What to watch: different on-call engineers getting different severity labels for the same incident. Guardrail: Run calibration tests with borderline cases weekly and track inter-rater agreement across shifts.

06

Operational Risk: Over-Classification

What to watch: the model defaulting to critical when evidence is ambiguous, causing alert fatigue. Guardrail: Require explicit evidence for each severity level and default to major when confidence is low.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for classifying tool errors into severity levels with clear response SLAs and calibration guidance.

This prompt template standardizes how your incident management team classifies tool errors. Replace each square-bracket placeholder with your specific incident data before sending it to the model. The template produces a severity classification (critical, major, minor, cosmetic) based on error characteristics, user impact, and recovery timeline, mapped to your team's response SLAs. Use this when you need consistent, defensible severity decisions across on-call rotations and incident responders.

text
You are an incident severity classifier for a production AI system. Your job is to assign a severity level to a tool error based on the evidence provided. You must follow the classification rubric exactly and explain your reasoning.

## CLASSIFICATION RUBRIC

**CRITICAL (P0)**
- Complete tool unavailability affecting all users
- Data loss, corruption, or unauthorized access confirmed or suspected
- Recovery timeline unknown or exceeds 4 hours
- No viable fallback or workaround exists
- Response SLA: Immediate escalation, page on-call, begin incident within 5 minutes

**MAJOR (P1)**
- Significant degradation affecting >25% of requests
- Partial feature loss with user-visible errors
- Recovery expected within 1-4 hours
- Fallback available but degraded (stale data, reduced functionality)
- Response SLA: Escalate within 15 minutes, begin incident within 30 minutes

**MINOR (P2)**
- Intermittent errors affecting <25% of requests
- Latency increase within 2x baseline but still functional
- Recovery expected within 1 hour
- Workaround available with minimal user impact
- Response SLA: Create ticket, address within business hours or next 4 hours

**COSMETIC (P3)**
- Error messages visible but no functional impact
- Deprecation warnings, non-breaking schema changes
- Recovery not time-sensitive
- No user-visible degradation
- Response SLA: Log for review, address in next maintenance window

## INPUT DATA

**Error Details:**
[ERROR_TYPE]
[ERROR_MESSAGE]
[HTTP_STATUS_CODE]
[TOOL_NAME]
[ERROR_FREQUENCY]
[ERROR_DURATION]

**User Impact:**
[AFFECTED_USER_COUNT_OR_PERCENTAGE]
[USER_VISIBLE_SYMPTOMS]
[WORKAROUND_AVAILABLE]

**Recovery Information:**
[ESTIMATED_RECOVERY_TIME]
[FALLBACK_TOOL_AVAILABLE]
[DATA_INTEGRITY_STATUS]

**Additional Context:**
[DEPENDENCY_GRAPH_NOTES]
[RECENT_CHANGES]
[HISTORICAL_PATTERN]

## OUTPUT SCHEMA

Return a JSON object with this exact structure:
{
  "severity": "critical|major|minor|cosmetic",
  "confidence": 0.0-1.0,
  "rationale": "Brief explanation mapping evidence to rubric criteria",
  "response_sla": "The SLA action from the matched severity level",
  "borderline_considerations": ["Any factors that nearly pushed this to a different severity"],
  "recommended_immediate_action": "What the responder should do first"
}

## CONSTRAINTS

- If evidence spans multiple severity levels, choose the highest applicable level
- If data integrity status is unknown or suspect, default to CRITICAL
- If user impact cannot be determined, state this in rationale and flag for human review
- Do not downgrade severity based on recovery optimism unless recovery is confirmed
- If error frequency is unknown, assume worst case for the error type

## BORDERLINE CALIBRATION CASES

Use these examples to calibrate your judgment:

**Case 1: Partial outage with fast recovery**
- 30% error rate, recovery confirmed within 30 minutes, no data loss
- Classification: MAJOR (not critical because recovery is imminent; not minor because impact exceeds 25%)

**Case 2: Silent data corruption**
- 2% error rate, but data integrity checks failing, recovery unknown
- Classification: CRITICAL (data integrity concern overrides low error rate)

**Case 3: Cosmetic error during peak traffic**
- Deprecation warning on 100% of requests, no functional impact, users complaining about log noise
- Classification: COSMETIC (no functional impact, but note user sentiment in borderline_considerations)

Now classify the error in the INPUT DATA section above.

After copying the template, replace each placeholder with data from your monitoring systems, error logs, and incident context. The [ERROR_TYPE] should use a consistent taxonomy (e.g., timeout, 5xx, connection_refused, schema_mismatch). The [DATA_INTEGRITY_STATUS] field is especially important—if you cannot confirm data integrity, leave it as unknown and the prompt will default to CRITICAL. The calibration cases at the bottom of the prompt help the model handle borderline situations consistently. If your team uses different severity names or SLA timings, edit the rubric section directly rather than trying to override it with additional instructions.

Before deploying this prompt into an automated classification pipeline, test it against at least 10 historical incidents where you know the correct severity. Pay special attention to cases where error frequency is low but data integrity is at risk, and cases where recovery is fast but user impact is high. These are the situations where human responders often disagree, and the prompt's calibration cases are designed to produce consistent decisions. If the model's confidence score falls below 0.7, route the classification to a human for review rather than auto-escalating.

IMPLEMENTATION TABLE

Prompt Variables

Each placeholder must be populated before the rubric prompt is invoked. Missing or null variables will cause misclassification, especially in borderline severity cases.

PlaceholderPurposeExampleValidation Notes

[ERROR_PAYLOAD]

Raw error object, status code, and response body from the failed tool call

{"status": 503, "body": {"error": "upstream pool timeout"}, "tool": "payment-capture"}

Must be valid JSON string or structured object. Reject if empty or only contains a stack trace without an error code.

[TOOL_NAME]

Identifier of the tool that produced the error

"payment-capture"

Must match a registered tool name in the agent's tool registry. Reject if null or not a string.

[TOOL_CATEGORY]

Functional category of the tool for blast-radius and dependency analysis

"payment-processing"

Must be one of the predefined categories in the service catalog. Reject if unmapped.

[USER_IMPACT_DESCRIPTION]

Plain-language description of how the failure affects the current user journey

"User cannot complete checkout; cart is preserved but payment is blocked"

Must be a non-empty string. Reject if generic phrases like 'it broke' are used without specific user-facing consequence.

[RETRY_STATE]

Current retry count, budget remaining, and whether idempotent retry is safe

{"attempts": 3, "budget_remaining": 2, "idempotent": true}

Must include integer attempts and boolean idempotent flag. Reject if retry budget is negative.

[DEPENDENCY_GRAPH]

Upstream and downstream tool dependencies for the failing tool

{"upstream": ["auth-service"], "downstream": ["order-confirmation", "inventory-reserve"]}

Must be a valid JSON object with upstream and downstream arrays. Empty arrays are allowed for isolated tools.

[RECOVERY_ESTIMATE_SECONDS]

Estimated time to recovery in seconds, or null if unknown

300

Must be a positive integer or null. Reject negative values. If null, the rubric must treat recovery timeline as unknown.

[SLA_WINDOW_SECONDS]

Maximum acceptable recovery time in seconds for this tool's criticality tier

600

Must be a positive integer. Reject if zero or missing. Used to classify severity when recovery estimate exceeds SLA.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the severity classification prompt into an incident management workflow with validation, retries, and human review gates.

This prompt is designed to be called programmatically as part of an incident management pipeline, not as a standalone chat interaction. The typical integration point is a webhook receiver or event bus consumer that fires when a new tool error event is ingested. The harness should construct the prompt by injecting the error payload into the [ERROR_LOG] placeholder, the affected service's dependency map into [DEPENDENCY_GRAPH], the current incident state into [ACTIVE_INCIDENT_CONTEXT], and the organization's SLA definitions into [RESPONSE_SLA_TABLE]. The model call should be made with temperature=0 and a strict JSON mode enabled to ensure the output matches the expected severity classification schema without creative drift.

Before the classification result is acted upon, the harness must run a validation layer. Check that the returned severity_level is one of the allowed enum values (critical, major, minor, cosmetic), that the confidence_score is a float between 0.0 and 1.0, and that the evidence_summary array contains at least one entry mapped to a specific log line or metric. If validation fails, retry once with the same payload and an explicit instruction appended to the retry prompt: Your previous output failed schema validation for field [FIELD_NAME]. Return a valid JSON object. If the retry also fails, route the event to a human triage queue rather than silently defaulting to a lower severity. For critical and major classifications where confidence_score < 0.85, the harness should automatically escalate to a human on-call reviewer via your incident management platform's API (e.g., PagerDuty, Opsgenie) and attach the full classification payload as a note to the incident.

Log every classification call as a structured event with the input error signature, the model's raw response, the validated output, and the routing decision. This audit trail is essential for calibrating the rubric over time. Run weekly evaluations against a golden dataset of 50-100 manually classified error events, paying special attention to borderline cases where major and critical overlap—these are where the model is most likely to misclassify and where human review gates should be tightest. Avoid wiring this prompt directly to automated remediation actions (like circuit breaker flips or service restarts) without a human-in-the-loop approval step for any severity above minor.

IMPLEMENTATION TABLE

Expected Output Contract

Validation rules for the Tool Error Severity Classification Rubric Prompt response. Use this contract to parse, validate, and route the model's JSON output before acting on the severity classification.

Field or ElementType or FormatRequiredValidation Rule

severity

enum: critical | major | minor | cosmetic

Must match one of the four allowed enum values exactly. Case-sensitive. Reject and retry if missing or invalid.

severity_score

integer 1-100

Must be an integer between 1 and 100 inclusive. Higher values indicate greater severity. Validate range; reject if float, string, or out of bounds.

rationale_summary

string <= 280 chars

Must be present and non-empty. Length must not exceed 280 characters. Reject if null, empty, or whitespace-only.

error_category

string

Must be a non-empty string drawn from the provided error taxonomy. Validate against the allowed category list in the prompt. Reject unknown categories.

user_impact_statement

string

Must describe the observable user impact in plain language. Reject if it contains only internal technical details with no user-facing consequence.

recovery_sla_minutes

integer or null

Must be a positive integer representing minutes, or null if severity is cosmetic. If severity is critical, major, or minor, null is not allowed. Validate conditional null logic.

requires_immediate_escalation

boolean

Must be true or false. If severity is critical, this field must be true. If severity is cosmetic, this field must be false. Validate boolean type and conditional constraints.

calibration_confidence

float 0.0-1.0

Must be a float between 0.0 and 1.0 representing the model's confidence in the classification. Reject if below the configured confidence threshold (default 0.7) and route for human review.

PRACTICAL GUARDRAILS

Common Failure Modes

Tool error severity classification fails when edge cases blur the lines between critical and minor. These are the most common failure patterns and how to prevent them before they reach production.

01

Severity Inflation Under Pressure

What to watch: The model classifies every timeout or 5xx as 'critical' during high-traffic incidents, overwhelming on-call teams with false alarms. This happens when the prompt lacks explicit calibration against user impact and blast radius. Guardrail: Include a mandatory 'user impact count' field in the classification schema and require the model to estimate affected users before assigning severity. Add a calibration test case where a 503 error affecting 3 internal test users must classify as 'minor.'

02

Recovery Timeline Overconfidence

What to watch: The model assigns 'minor' severity to errors with unknown recovery timelines, assuming the tool will self-heal. This masks cascading failures when a dependency stays degraded. Guardrail: Add a 'recovery confidence' field to the output schema. If the model cannot estimate recovery time with high confidence, cap the severity at no lower than 'major' and require a human escalation flag. Test with errors that have no historical recovery pattern.

03

Borderline Case Inconsistency

What to watch: The same error signature gets classified differently across runs—sometimes 'major,' sometimes 'minor'—because the rubric lacks anchoring examples for boundary cases. This erodes trust in automated incident routing. Guardrail: Embed 3-5 few-shot examples of borderline cases directly in the prompt, each showing the error characteristics, the correct classification, and the reasoning. Run the prompt 10 times against each borderline case and require 90%+ classification agreement before shipping.

04

Ignoring Downstream Dependency Impact

What to watch: The model classifies a tool error based only on the direct error response, ignoring that the failing tool is a dependency for 12 downstream services. A 'minor' authentication error becomes a critical outage when the blast radius is invisible to the classifier. Guardrail: Require a dependency graph as input context and instruct the model to traverse it before assigning severity. Add a validation check: if the tool has downstream dependents and the error blocks calls, severity must be at least 'major.'

05

Cosmetic Error Misclassification as Functional

What to watch: The model classifies a malformed but harmless log message or a deprecated header warning as 'major' because it matches error-like patterns in the response body. This creates noise that desensitizes responders. Guardrail: Add a pre-classification step that distinguishes 'functional impact' from 'cosmetic anomaly.' Require the model to answer: 'Does this error prevent the user from completing their task?' before assigning severity. Test with cosmetic errors like deprecation notices and verbose debug headers.

06

SLA Mapping Drift Across Teams

What to watch: The model produces severity labels that don't map cleanly to the team's actual response SLAs—'critical' means 5-minute response for one team and 30-minute for another. The classification becomes operationally useless. Guardrail: Include the team's specific SLA definitions as part of the prompt context, with concrete time thresholds for each severity level. Validate output by checking that the assigned severity triggers the correct SLA timer in a dry-run incident pipeline before deployment.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test the Tool Error Severity Classification Prompt before production deployment. Each criterion validates a specific failure mode common to severity classification systems.

CriterionPass StandardFailure SignalTest Method

Severity Level Assignment Accuracy

Correctly classifies critical, major, minor, and cosmetic errors per the defined SLA mapping in at least 90% of test cases

Misclassifies a critical error as minor or cosmetic; assigns severity without referencing user impact or recovery timeline

Run 20 labeled error scenarios through the prompt and compare output severity to ground truth labels; flag any critical-major inversions

Borderline Case Calibration

Handles ambiguous severity boundaries (e.g., major vs critical) with consistent rationale that references the rubric's tie-breaking rules

Produces inconsistent severity for similar borderline cases; rationale contradicts the rubric's own escalation criteria

Feed 5 calibrated borderline cases (e.g., partial outage with workaround, slow degradation with no user impact) and check for consistent classification logic across runs

Evidence Grounding in Error Characteristics

Every severity classification cites specific error characteristics (status code, latency, error body, dependency state) from the input

Assigns severity based on generic assumptions without referencing actual error data; hallucinates error details not present in input

Parse output for citation markers; verify each cited characteristic exists in the input payload; flag any fabricated error codes or metrics

SLA Mapping Correctness

Maps each severity level to the correct response SLA (acknowledgment time, resolution target, escalation path) as defined in the prompt's SLA table

Maps a severity to wrong SLA tier; omits SLA fields; invents SLA values not present in the rubric

Validate output SLA fields against the prompt's embedded SLA reference table; check for field completeness and value accuracy

Recovery Timeline Realism

Estimated recovery timeline aligns with the error type and historical patterns referenced in the input context

Produces recovery estimates that are unrealistically optimistic (e.g., 5 minutes for database failover) or contradict known dependency recovery characteristics

Compare recovery timeline against a reference table of realistic recovery windows per error category; flag estimates outside ±50% of expected range

User Impact Quantification

Quantifies user impact with specific metrics (affected user count, degraded feature scope, workaround availability) when provided in input

Describes user impact in vague terms ("some users affected") when input contains specific metrics; fails to distinguish between partial and total outage

Feed inputs with explicit user impact data and verify output preserves specificity; test with missing impact data to confirm appropriate uncertainty language

Multi-Tool Dependency Cascade Recognition

Identifies when an error in one tool creates cascading severity risk for dependent tools and flags this in the classification

Treats a dependency-chain error as isolated when input shows multiple downstream tools affected; misses blast radius implications

Provide error scenarios with explicit dependency graphs; verify output mentions cascading risk when ≥2 dependent tools show correlated failures

Incident Commander Actionability

Output includes a clear recommended next action that an incident commander can execute without additional interpretation

Produces vague recommendations ("investigate further") without specific diagnostic steps, escalation targets, or mitigation actions

Have an SRE reviewer rate actionability on a 1-5 scale across 10 outputs; require average ≥4 with no single score below 3

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base rubric and a single severity dimension (e.g., user impact). Use a simple 3-tier scale (Critical, Non-Critical, Cosmetic) instead of the full 4-tier classification. Skip SLA mapping and calibration tests initially. Run the prompt against 10-15 historical errors to validate basic classification consistency before adding complexity.

Watch for

  • Overly broad severity definitions causing everything to land in 'Major'
  • Missing edge cases where error characteristics conflict (e.g., high user impact but fast recovery)
  • Prompt producing prose instead of structured classification output
Prasad Kumkar

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.