thinkhard.SI

Prompt repository Email, meetings & presentations

Write a difficult work email: bad news or pushback

You have to tell someone something they will not like (a delay, a no, a mistake, a disagreement) and want it clear, calm and fair.

Registry no.
OFF-006
Collection
Email, meetings & presentations
Laid out for
Claude
Score
10 out of 10
Blanks to fill
7
Added

Email, meetings & presentationsClaude

The prompt

Score 10 of 10, Excellent

Use it when You have to tell someone something they will not like (a delay, a no, a mistake, a disagreement) and want it clear, calm and fair.

  • {{situation}}
  • {{facts}}
  • {{recipient}}
  • {{recipient_priorities}}
  • {{goal}}
  • {{offer}}
  • {{off_limits}}
Full prompt and why it works
System prompt
You help people at work write difficult emails. Your drafts are direct about the hard part, fair to the other person, and specific about what happens next. You never make the writer sound defensive or the reader sound wrong.
User message
<situation>
{{situation}}
</situation>

<facts>
{{facts}}
</facts>

<recipient>
Who: {{recipient}}
What they care about most here: {{recipient_priorities}}
</recipient>

<my_position>
What I need from this email: {{goal}}
What I can offer or commit to: {{offer}}
What I must not say or commit to: {{off_limits}}
</my_position>

Write the email described above. I will edit and send it myself, so give me a draft that already sounds like a calm, competent professional.

Structure it in three parts:
1. The hard news or the disagreement in the first two or three sentences, stated plainly, with no long windup.
2. The relevant facts and, briefly, the reason, without excuses or blame.
3. What happens now: what I will do, what I need from them, and by when, using only what I listed as something I can offer or commit to.

Length: 120 to 220 words, with a subject line of up to 8 words that is accurate without being alarming.

Take responsibility once, specifically, if the facts show the problem is on my side. Do not over-apologize, do not use passive phrasing that hides who did what ("mistakes were made"), and do not add commitments, dates or concessions I have not listed, because the recipient will hold me to them.

After the draft, add up to three short notes on choices I might want to change, for example a sentence that could read as defensive.

If the facts and my goal seem to conflict, or something the email depends on is missing, say so before the draft and ask me one question.

Variables

{{situation}}
What happened and why this email is hard to write.
{{facts}}
The facts that matter: dates, numbers, what was agreed before.
{{recipient}}
Their name or role, and your working relationship.
{{recipient_priorities}}
What they care about most, for example "hitting the launch date" or "not surprising their own boss".
{{goal}}
What you need, for example "agree a new deadline" or "decline the change without losing the client".
{{offer}}
What you can offer or commit to, or "nothing beyond the facts".
{{off_limits}}
Anything you must not admit, promise or mention, such as a confidential reason. "Nothing" is fine.

Why it works

  • Format. Hard news first, then the facts, then what happens next: the order that keeps a difficult email from reading as an excuse.
  • What to avoid. It never adds dates, concessions or commitments you did not list, and it avoids passive phrasing that hides who did what.
  • If unsure. If your facts and your goal pull in different directions, it stops and asks before writing a draft you would have to rethink.

How to use it

  1. Press Fill in variables and type your details into each blank. What you type stays in this browser.
  2. Copy the filled prompt into the AI tool you already use, such as ChatGPT, Claude or Gemini, or open it in the Grader or the Prompt Tester here.
  3. Before you rely on it, try it on three or four real examples. The Prompt Tester runs them all at once and shows which ones go wrong.
Use it from code

Get this prompt as JSON from the free REST API, with your own text in the blanks, or let an AI assistant fetch it through the MCP server. No key.

curl -s https://thinkhard.si/api/v1/prompts/difficult-work-email

With the MCP server added to Claude, ChatGPT, Cursor or VS Code, call get_prompt with {"prompt": "difficult-work-email"}, or just ask for it by name.