This prompt is for product engineers and SREs who need to generate clear, honest status communications when a service or feature is degraded. The primary job-to-be-done is translating structured incident data—such as affected components, error rates, latency percentiles, and estimated recovery timelines—into user-facing messages that maintain trust while accurately conveying impact. Use this when your monitoring system, circuit breaker, or agent health check has detected a degradation event and needs to communicate it to end users through in-app banners, status pages, email notifications, or support channels. The ideal user is someone who understands the technical details of the incident but needs a reliable, automated way to convert that understanding into calibrated, audience-appropriate language without manual drafting during high-pressure incidents.
Prompt
Degraded-Mode User Communication Prompt

When to Use This Prompt
A practical guide for product engineers and SREs on when and how to deploy the Degraded-Mode User Communication Prompt in production systems.
Do not use this prompt when the incident is still being diagnosed and no structured data is available—communicating uncertainty requires a different template that explicitly flags unknowns rather than synthesizing partial information. Do not use it for internal incident response coordination, where technical detail and raw telemetry are more valuable than polished user communication. Avoid this prompt when the degradation is security-sensitive and requires legal or executive review before any external communication; the prompt enforces tone calibration but cannot replace human judgment for disclosure timing and regulatory compliance. The prompt is designed for confirmed degradations with known scope, not for speculative early warnings that might cause unnecessary alarm or for post-resolution root cause analyses that belong in postmortems.
Before wiring this prompt into your incident communication pipeline, ensure your upstream systems can provide the required structured inputs: a list of degraded components, a list of components confirmed to be fully functional, an evidence-backed recovery timeline, and any available workarounds. The prompt's value comes from its enforcement of honesty constraints—it actively prevents overpromising recovery times and requires explicit acknowledgment of what remains functional. Test it against your historical incidents to verify that the tone calibration matches your organization's communication standards for different user audiences. The next step is to integrate this prompt into your agent's tool-calling flow so that degradation detection automatically triggers appropriate user communication without requiring manual intervention during incidents.
Use Case Fit
Where this prompt works and where it does not. Use these cards to decide if the Degraded-Mode User Communication Prompt fits your current operational context.
Good Fit: User-Facing Product Degradation
Use when: a backend tool, API, or data source is degraded and you need to communicate status to end users inside the product. Guardrail: the prompt requires a structured degradation assessment as input; never let the model invent the technical cause.
Bad Fit: Internal Incident Response
Avoid when: the audience is on-call engineers or incident commanders who need raw telemetry, not user-friendly messaging. Guardrail: route internal communications to the Tool Failure Root Cause Hypothesis Prompt or incident runbook prompts instead.
Required Input: Structured Degradation Assessment
What to watch: the prompt needs a machine-readable input describing what is degraded, what still works, estimated recovery time, and available workarounds. Guardrail: validate the input schema before calling the prompt; garbage input produces misleading user messages.
Operational Risk: Over-Assurance
What to watch: the model may soften language to the point of misleading users about severity or recovery timeline. Guardrail: include explicit tone and accuracy constraints in the prompt template, and run eval checks for honesty vs. over-assurance before deployment.
Operational Risk: Audience Mismatch
What to watch: a single degradation event may need different messages for end users, business customers, and internal support teams. Guardrail: parameterize audience type in the prompt and maintain separate eval criteria per audience; never reuse one message across all audiences.
Good Fit: Multi-Channel Status Communication
Use when: you need consistent degradation messaging across in-app banners, email notifications, status pages, and support chatbot responses. Guardrail: use the same structured input across channels but adapt output format constraints per channel; test for consistency without copy-paste drift.
Copy-Ready Prompt Template
Paste this prompt into your agent or workflow to generate clear, honest user-facing communications during a service degradation.
This prompt template is designed to be the single instruction you send to a model when a tool or service dependency has been degraded and you need to communicate the situation to end-users. It forces the model to synthesize technical incident data into a message that is transparent about the impact, clear about what still works, and free of corporate hedging. The template uses square-bracket placeholders that you must replace with live incident data from your monitoring systems, runbooks, or on-call engineer before sending it to the model.
textYou are a technical communications specialist writing a user-facing status message during an active service degradation. Your goal is to be clear, honest, and helpful without causing unnecessary alarm. Generate a status communication using the following incident data: INCIDENT SUMMARY: [INCIDENT_SUMMARY] AFFECTED FEATURES: [AFFECTED_FEATURES] UNAFFECTED FEATURES: [UNAFFECTED_FEATURES] USER WORKAROUNDS: [USER_WORKAROUNDS] ESTIMATED RECOVERY TIME: [ESTIMATED_RECOVERY_TIME] TARGET AUDIENCE: [TARGET_AUDIENCE] Your response must follow this structure exactly: 1. A one-sentence headline summarizing the impact in plain language. 2. A "What's Happening" section (2-3 sentences) explaining the degradation without technical jargon. 3. A "What Still Works" section (bullet list) highlighting unaffected functionality. 4. A "What You Can Do" section (bullet list) with concrete user workarounds, if available. 5. A "Next Update" statement with the expected recovery time or next communication time. CONSTRAINTS: - Do not use phrases like "we apologize for any inconvenience." - Do not minimize the impact or overpromise recovery. - If no workaround exists, state "There is no workaround at this time" rather than omitting the section. - Match the tone to the [TARGET_AUDIENCE]: for developers, be precise about affected endpoints; for end-users, use non-technical language. - If [ESTIMATED_RECOVERY_TIME] is "unknown," state "We do not yet have an estimated recovery time" and commit to a specific next update time.
To adapt this template, replace each bracketed placeholder with data from your incident management system. The [INCIDENT_SUMMARY] should come from your on-call engineer's initial assessment. The [AFFECTED_FEATURES] and [UNAFFECTED_FEATURES] lists should be derived from your service dependency graph or health-check dashboard to avoid overstating or understating the blast radius. The [TARGET_AUDIENCE] field is critical: set it to "developers" if the message is going to a status page API, or "end-users" if it will appear in an in-app banner. Before sending the model's output to users, validate that the message does not promise a recovery time you cannot meet and that the unaffected features list is accurate. For high-severity incidents where the message will be customer-facing, route the generated text through a human review step before publication.
Prompt Variables
Inputs the prompt needs to produce reliable, audience-appropriate degradation messages. Validate these before sending to the model.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[DEGRADED_SERVICE_NAME] | Identifies the specific service or feature that is degraded | Payment Processing API | Must match a known service from the service registry; reject unknown or empty strings |
[DEGRADATION_TYPE] | Classifies the nature of the failure for tone and detail selection | Partial Outage | Must be one of: Full Outage, Partial Outage, Major Latency, Intermittent Errors, Read-Only Mode, Stale Data Mode; reject unrecognized values |
[AUDIENCE_TIER] | Determines technical depth, urgency language, and workaround detail | Technical Admin | Must be one of: End User, Business Customer, Technical Admin, Internal Operator; reject null or unmapped tiers |
[ESTIMATED_RECOVERY_MINUTES] | Drives expectation-setting language about resolution time | 45 | Must be a positive integer or null; if null, prompt must use indefinite language; reject negative values |
[AVAILABLE_FUNCTIONALITY] | Lists what still works to reduce support contacts and user frustration | Dashboard access, export history, read-only reports | Must be a non-empty string or explicit 'None'; validate that listed items are not known-degraded services |
[USER_WORKAROUND] | Provides an actionable alternative path for the user | Use batch export endpoint instead of real-time API | Must be a non-empty string or null; if null, prompt must not fabricate a workaround; reject placeholder text like 'TBD' |
[INCIDENT_REFERENCE_ID] | Links the message to an incident record for support traceability | INC-2025-04-09-0042 | Must match incident ID format regex or be null; reject malformed IDs that would break support tool linking |
Implementation Harness Notes
How to wire the Degraded-Mode User Communication Prompt into an agent or application workflow with validation, retries, and human review gates.
This prompt is not a standalone chatbot message; it is a function in a reliability pipeline. It should be called by an agent or backend service only after a degradation decision has been made upstream—by a circuit breaker, a load shedder, or a health check monitor. The caller must provide the structured degradation context as input, and the prompt's output should be treated as a candidate message that requires validation before it reaches a user. The implementation harness is responsible for supplying the right context, enforcing output contracts, and deciding whether the generated message is safe to send.
Wire the prompt into a service function that accepts a DegradationEvent object containing the required placeholders: [DEGRADED_SERVICE_NAME], [DEGRADATION_DESCRIPTION], [AVAILABLE_FUNCTIONALITY], [ESTIMATED_RECOVERY_TIME], [USER_WORKAROUNDS], and [AUDIENCE_TONE]. The function should call the LLM with response_format set to a strict JSON schema that includes subject_line, message_body, tone_label, and accuracy_flags. After receiving the response, run a validator that checks: (1) the tone_label matches the requested [AUDIENCE_TONE] using a lightweight classifier or keyword match, (2) the message_body does not promise a recovery time more specific than the input [ESTIMATED_RECOVERY_TIME], and (3) no functionality listed in [AVAILABLE_FUNCTIONALITY] is described as broken. If validation fails, retry once with the validation errors appended to the prompt as [PREVIOUS_VALIDATION_ERRORS]. If the retry also fails, escalate to a human reviewer and log the full prompt, response, and validation trace for postmortem analysis.
For high-stakes user surfaces such as status pages, authenticated dashboards, or regulatory-facing communications, insert a human approval step before the message is published. The harness should push the validated candidate message to a review queue with the originating DegradationEvent and the model's accuracy_flags. Do not bypass this gate based on confidence scores alone. For lower-stakes channels like non-critical email notifications, you may auto-publish after validation passes, but always log the decision for audit. Avoid wiring this prompt directly to a user-facing chatbot without the validation and approval harness; a raw model response that hallucinates recovery timelines or misstates available functionality will erode user trust faster than the original outage.
Expected Output Contract
Defines the required fields, types, and validation rules for the degraded-mode user communication generated by the prompt. Use this contract to parse and validate the model's output before displaying it to users.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
degradation_summary | string (1-2 sentences) | Must not exceed 280 characters. Must contain the name of the degraded feature or tool. Sentiment analysis must be neutral or factual. | |
affected_components | array of strings | Must contain at least one item. Each item must match a known component name from the [TOOL_REGISTRY]. No unknown or hallucinated component names allowed. | |
functional_components | array of strings | Must contain at least one item. Each item must match a known component name from the [TOOL_REGISTRY]. No item may appear in both affected_components and functional_components. | |
estimated_recovery | string (ISO 8601 duration or null) | If a value is provided, it must be a valid ISO 8601 duration (e.g., 'PT15M'). If unknown, the value must be the literal null. A generic phrase like 'soon' is a validation failure. | |
user_workaround | string or null | If a workaround exists, it must be a clear, actionable instruction under 500 characters. If no workaround exists, the value must be the literal null. Must not suggest unsafe or unvalidated actions. | |
severity_level | enum: ['degraded', 'outage', 'maintenance'] | Must be exactly one of the three allowed values. The value must be consistent with the [DEGRADATION_ASSESSMENT] input. A mismatch triggers a retry. | |
communication_tone | enum: ['technical', 'business', 'public'] | Must be exactly one of the three allowed values. The tone must match the [USER_AUDIENCE] input parameter. A mismatch triggers a retry. | |
source_evidence | array of objects | If present, each object must have a 'source' (string) and 'observation' (string) field. Used to ground the message in specific monitoring data. If absent, a human-review flag is set on the output. |
Common Failure Modes
Degraded-mode user communication fails in predictable ways. These cards cover the most common failure patterns and the guardrails that catch them before users see confusing, misleading, or panic-inducing messages.
Overly Technical Error Passthrough
What to watch: The prompt echoes raw tool errors, HTTP status codes, or stack traces directly to end users. Users see '500 Internal Server Error' or 'Connection refused' instead of actionable information. Guardrail: Add a strict output constraint that technical details must be replaced with plain-language descriptions. Validate output against a blocklist of technical terms before delivery.
False Certainty About Recovery Time
What to watch: The prompt fabricates specific recovery ETAs like 'back in 5 minutes' when no recovery time data exists. This trains users to expect precision the system cannot deliver. Guardrail: Constrain the prompt to only state recovery times when a concrete SLA or status endpoint provides the value. Otherwise, use tiered language like 'typically resolves within minutes to hours.'
Silent Workaround Hallucination
What to watch: The prompt invents workarounds that don't exist or suggests using features that are also degraded. Users follow bad advice and compound the failure. Guardrail: Require the prompt to only suggest workarounds from an explicit, pre-approved list passed in [AVAILABLE_WORKAROUNDS]. If the list is empty, the prompt must state that no workaround is currently available.
Tone Mismatch for Audience
What to watch: The prompt uses the same tone for internal DevOps users and external customers. A casual 'oops, something broke' message erodes customer trust, while a formal incident notice confuses internal teams. Guardrail: Pass [AUDIENCE_TYPE] as a required input and include explicit tone examples for each audience in the prompt. Validate output tone with a lightweight classifier before delivery.
Over-Communication During Transient Blips
What to watch: The prompt generates a full degradation notice for sub-second latency spikes or single-request failures that self-resolve. Users receive alarming messages for events they would never have noticed. Guardrail: Gate the prompt behind a degradation duration threshold. Only invoke the communication prompt when [DEGRADATION_DURATION_SECONDS] exceeds a configured minimum, and include a 'degradation cleared' suppression rule.
Leaked Internal Severity Classifications
What to watch: The prompt surfaces internal severity labels like 'SEV1' or 'P0 incident' in user-facing messages. This causes unnecessary alarm and exposes internal incident management practices. Guardrail: Add an explicit output sanitization step that maps internal severity levels to user-appropriate language. Test with a regex check for internal severity codes before the message is delivered.
Evaluation Rubric
Score each criterion on a pass/fail basis before shipping the degraded-mode user communication prompt. Use this rubric in automated eval harnesses or manual QA reviews.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Degradation Honesty | Message explicitly states what is degraded without minimizing or hiding the failure | Message uses vague terms like 'experiencing issues' or 'temporary disruption' without naming the affected capability | Keyword check for degraded feature name; absence of weasel-word list (e.g., 'minor,' 'slight,' 'may') |
Working Capability Enumeration | Message lists at least one specific capability that remains fully operational | Message focuses only on what is broken; no affirmative statement of what still works | Parse output for a 'working_capabilities' field; assert length > 0 and each entry references a concrete feature |
Recovery Time Expectation | Message provides an honest time estimate or explicitly states that recovery time is unknown | Message fabricates a specific recovery time (e.g., 'back in 5 minutes') without evidence or omits timing entirely | Check for presence of [RECOVERY_ESTIMATE] or explicit 'unknown' token; fail if numeric time claim lacks source grounding |
User Workaround Provision | Message offers at least one actionable workaround the user can perform now | Message provides no alternative path or suggests a workaround that depends on the degraded feature itself | Verify workaround field is non-empty and does not reference the degraded tool or endpoint in its instructions |
Tone Appropriateness for Audience | Message tone matches the specified [USER_AUDIENCE] tier (technical, business, end-user) per style guide | Message uses jargon inappropriate for audience (e.g., 'circuit breaker open' for end users) or is overly casual for business context | Run tone classifier on output; assert predicted audience matches [USER_AUDIENCE]; spot-check for forbidden jargon list per tier |
No False Reassurance | Message avoids phrases that overpromise or guarantee resolution (e.g., 'will be fixed shortly,' 'no impact') | Message contains unqualified reassurance language that contradicts the known degradation state | Regex check against banned-phrase list: 'no impact,' 'fully resolved,' 'guaranteed,' '100%,' 'seamless' |
Actionable Next Steps for User | Message includes a clear call to action: retry later, use alternative, contact support, or check status page | Message ends passively with no user direction or implies the user should just wait indefinitely | Assert output contains a 'next_steps' field with at least one entry; each entry must be an imperative instruction |
Schema Compliance | Output strictly matches the [OUTPUT_SCHEMA] with all required fields present and correctly typed | Output is missing required fields, contains extra unvalidated fields, or uses wrong types (e.g., string instead of array) | Validate output against JSON Schema; assert no missing required fields, no additional properties, correct types |
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
Start with the base template and a single audience persona. Replace [AUDIENCE] with a concrete role like 'end user' or 'developer'. Use a simple severity mapping: degraded, partial, unavailable. Skip the tone calibration and evidence requirements. Generate messages in plain text without HTML or structured metadata.
codeSystem: You are a status communication assistant. Given a degradation event, produce a clear user-facing message. User: Service: [SERVICE_NAME] Degraded Component: [COMPONENT] Severity: [degraded|partial|unavailable] What Still Works: [WORKING_FEATURES] Estimated Recovery: [ETA] Workaround: [WORKAROUND] Produce a message with: - What's happening - What still works - What to do - When it'll be fixed
Watch for
- Overly technical language when [AUDIENCE] is non-technical
- Missing workaround instructions when they exist
- Vague recovery times that erode trust
- No distinction between confirmed vs suspected root cause

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