Inferensys

Prompt

Degraded-Mode User Communication Prompt

A practical prompt playbook for generating user-facing degradation messages that explain what is broken, what still works, and what users should do next.
Developer doing prompt engineering on laptop, prompt variations visible on screen, casual coding session.
PROMPT PLAYBOOK

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.

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.

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.

PRACTICAL GUARDRAILS

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

PROMPT PLAYBOOK

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.

text
You 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.

IMPLEMENTATION TABLE

Prompt Variables

Inputs the prompt needs to produce reliable, audience-appropriate degradation messages. Validate these before sending to the model.

PlaceholderPurposeExampleValidation 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

PROMPT PLAYBOOK

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.

IMPLEMENTATION TABLE

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 ElementType or FormatRequiredValidation 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.

PRACTICAL GUARDRAILS

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.

01

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.

02

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.'

03

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.

04

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.

05

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.

06

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.

IMPLEMENTATION TABLE

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.

CriterionPass StandardFailure SignalTest 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

ADAPTATION OPTIONS

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.

code
System: 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
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.