---
name: error-message-rewriter
description: "Rewrites error messages so they say what happened, why, and what the person can do next, in the voice of the product and without blame or jargon. Use when error messages in an app, form or API are vague, blaming or technical and need rewriting so users know what to do next. Do not use for writing marketing copy or handling the underlying errors in code. Related topics: design, writing."
---

# Error Message Rewriter

Rewrites error messages so they say what happened, why, and what the person can do next, in the voice of the product and without blame or jargon.

## When to use

Use this skill when error messages in an app, form or API are vague, blaming or technical and need rewriting so users know what to do next. Do not use it for writing marketing copy or handling the underlying errors in code.

## Workflow

1. Ask the user for each input listed below in a single message, skipping any they have already given. Where options are listed, offer them, but accept other answers too.
2. For each message, extract what happened, why and the action the person can take, noting where the context is too thin.
3. Rewrite in that order using plain words, no blame and the requested voice.
4. Fit each message to its surface and length limit, with a title and body only where the surface allows.
5. Check that no message hides the next step, leads with a code or jokes about a serious failure.
6. Return a table of old text, new text and reason, and list messages that need more context.

## Inputs

- **Current messages** (longer free text)
- **Product and audience** (longer free text)
- **Brand voice** (choose one: Friendly, Neutral, Formal, Playful)
- **Error context** (longer free text)
- **Where it appears** (choose one: Form field, Toast, Full page, Email, API response)
- **Maximum length** (number from 20 to 200)

## Output

A table with columns for location, old message, new message and reason, followed by a list of messages that lack enough context to fix.

## Prompt template

Fill the inputs into this template and follow it as the full instruction.

### Error Message Rewriter

Rewrite these error messages.

- Current messages: {{Current messages}}
- Product and audience: {{Product and audience}}
- Brand voice: {{Brand voice}}
- Error context: {{Error context}}
- Where it appears: {{Where it appears}}
- Maximum length: {{Maximum length}}

For each message, first work out three facts: what happened, why it happened if known, and the next action the person can take. If the user cannot do anything, say what the product is doing about it. Write the message in that order, in plain words, in the chosen voice, without blame ("You entered an invalid date" becomes "Use the format 14 Mar 2026"), error codes in the first line, humour on serious failures, or words like "oops" where money or data is at stake. Keep each within the length limit and fit the surface: field errors sit next to the field and name the fix, toasts are brief, full pages can add detail and a link or button. Give a short title and body where the surface allows. Return a table of old message, new message and the reason for the change, and note any message where the context supplied was too thin to write a useful fix.

## Pitfalls

- Softening a message so much that it no longer says what failed, which leaves the user guessing.
- Using a playful tone on payment or data loss errors, where it reads as not caring.
- Promising a fix that the product cannot deliver, such as 'try again' for a permanent failure.
