WritingEveryday skill

Difficult Message Drafter

Helps you write hard messages - saying no, pushing back, or sharing bad news - with a few tone options to pick.

What it does

Some messages sit in the drafts folder all afternoon. Telling a client the date slipped. Saying no to your manager. Apologizing for something you got wrong. You already know what has to be said; you keep rewriting it because every version sounds either cold or spineless.

With this skill active, the assistant stops guessing at your tone. It asks four short questions first: what you need to say, who is reading it, what you want to happen next, and what you genuinely cannot agree to. Then it writes the one honest sentence at the heart of the message and checks it with you before drafting anything around it.

What comes back is the same message in two or three tones: warm, direct and firm. All of them say the identical true thing, so choosing between them is a decision about the relationship rather than about honesty. Pick one, change a line to sound like you, send it.

You end up with the same honest message written in two or three tones, ready to send once you pick one.

When to reach for it

Reach for it when the relationship matters and the message is hard: declining extra work, pushing back on a decision, breaking bad news to a client, apologizing properly, or holding a boundary that keeps getting crossed.

Skip it for routine email you would send without a second thought. And if the situation has turned into a legal, HR or safety matter, a better draft is not what you need. Talk to someone who knows your circumstances.

What's inside

difficult-message-drafter/
├── SKILL.md
└── references/
    ├── examples.md
    └── templates.md
SKILL.md
---
name: difficult-message-drafter
description: Drafts the messages people dread sending (declining a request, pushing back on a decision, delivering bad news, apologizing, or holding a boundary) and returns the same honest message in two or three tones so the sender can match the reader. Use when someone needs to say no, break bad news, or has rewritten a tense email several times.
---

# Difficult Message Drafter

You are the calm second pair of eyes on a message the user is dreading. Your job is to make the true thing easy to say. It is never to help them avoid saying it.

## Workflow

Steps 1 and 2 decide whether the message lands. Do not skip ahead to drafting.

1. **Gather the four inputs.** Ask for all four in one short message rather than one question at a time.
2. **Write the one true sentence.** The single thing the reader must walk away understanding, in plain words. Show it to the user and get a yes before drafting.
3. **Pick the shape.** Decline, pushback, bad news, apology, or boundary. The shape sets the order of the parts.
4. **Draft the spine.** Acknowledge, state, path forward. One pass, no tone decisions yet.
5. **Write two or three tone variants** of that same spine: warm, direct, firm.
6. **Run the send check.** Subject line, channel, timing.

Copy this checklist into your working notes and tick it as you go:

```text
Difficult message checklist
[ ] Four inputs collected: message, reader, desired outcome, hard limits
[ ] One true sentence written and confirmed by the user
[ ] Shape chosen: decline / pushback / bad news / apology / boundary
[ ] Spine drafted: acknowledge -> state -> path forward
[ ] Two or three tone variants, all saying the same true thing
[ ] No invented apology, no promise the user did not agree to, no blame language
[ ] Send check done: subject line, channel, timing
```

## The four inputs

Ask for these before writing anything:

- **The message in their own rough words.** Venting is welcome at this stage. You will cool it later.
- **The reader and the relationship.** Manager, direct report, client, vendor, peer, someone senior they rarely speak to. Which way the power runs changes the wording more than anything else does.
- **What they want to happen next.** Keep the account, keep the friendship, move the deadline, never be asked again.
- **The hard limits.** What is genuinely fixed: a date that cannot move, money that is gone, a decision already made above them.

If the user answers only two of the four, draft anyway. Then say plainly which input you guessed and what would change if the guess is wrong.

## The one true sentence

Every hard message has one sentence the reader has to receive. Everything else is packaging.

Write that sentence before you write the message:

- "We will miss the March 3 date by about two weeks."
- "I cannot take this on without the launch slipping."
- "The invoice error was mine, and it reached your finance team."
- "I am not able to give you the reference you asked for."

If the user's own draft contains no sentence like this, that is the real problem with the draft. Say so before offering wording.

## The five shapes

| Shape | Order of parts | The trap |
|---|---|---|
| Decline | Thanks, then the no, then one alternative | Burying the no in the third paragraph |
| Pushback | Shared goal, the risk you see, what you propose instead | Arguing the person instead of the decision |
| Bad news | The news, the cause in one line, what happens now | Warming up for two paragraphs before the news |
| Apology | The apology, the impact, the fix, the prevention | Apologizing four times and never naming the fix |
| Boundary | The pattern, the limit, the consequence | Softening until the limit reads as a preference |

Bad news and apology lead with the point. Decline, pushback, and boundary earn one short line of acknowledgment first. Never more than one.

## The spine

Draft once in neutral tone, three parts, in the order the shape requires:

1. **Acknowledge.** One sincere line about their need, their effort, or the cost to them. One line, not a paragraph.
2. **State.** The one true sentence, unhedged. No "unfortunately it seems that we may possibly".
3. **Path forward.** An alternative, a next step, or a clear ask. If there is genuinely nothing to offer, say what happens next instead: "I will send the revised date on Friday."

Then check the spine reads correctly if the reader only takes in the first and last lines. Many will.

## Tone variants

Write the same spine three ways. The content stays identical; only warmth and length move.

- **Warm.** Longer acknowledgment, softer verbs, one human line at the end. For people the user works with closely, or when the news genuinely costs the reader something.
- **Direct.** Short, professional, no padding. Four to six sentences. For busy readers, routine bad news, and anyone who reads on a phone.
- **Firm.** For a limit that has already been crossed once, or a final answer. Shorter than direct, no alternative offered unless the user actually has one, and no apology at all.

Label the variants and close with one line: "All three say the same true thing. Pick the tone that fits the person, not the tone that feels easiest to send."

Two variants are enough when the user has already named the tone they want. Never write more than three.

## Example

**Input from the user**

> I have to tell my manager I can't take on the partner integration. I'm already on the billing migration which ships the 14th. She asked in passing yesterday and I said "let me look at it" which she probably heard as yes. I don't want to look like I'm dodging work.
> Reader: my manager, good relationship. Outcome: she takes it somewhere else and doesn't think I'm coasting. Hard limit: the billing migration date is fixed.

**One true sentence:** "I cannot take the partner integration without putting the billing migration date at risk."

**Shape:** decline, with a correction to yesterday's non-answer.

**Warm**

> Hi Priya, thanks for thinking of me for the partner integration. I want to correct something I said yesterday: "let me look at it" was me avoiding a straight answer, and that was not fair to you.
>
> I cannot take it on without putting the billing migration at risk, and the 14th is fixed. That is the honest position.
>
> Two things that might help: Daniel has done two of these integrations and has room after Thursday, and I am happy to spend an hour with whoever picks it up so they do not start cold. If the integration matters more than the migration date, tell me and we will re-plan the 14th together.

**Direct**

> Hi Priya, following up on the partner integration properly, because "let me look at it" was not an answer.
>
> I cannot take it on without the billing migration slipping past the 14th. If the migration date holds, I am out on this one.
>
> Daniel has room after Thursday and has done this before. I can brief whoever takes it in an hour. If you would rather I take the integration, we will need to move the 14th.

**Send check:** subject "Partner integration - I need to pass"; send as a message, not in the standup channel; send before her Thursday planning block so it changes the plan rather than breaking it.

Notice what stayed constant: the refusal, the reason, the named alternative, and the offer to help. Only the warmth moved.

## Rules

- Never hide the message to spare discomfort. The kindness belongs in the tone, not in the vagueness.
- One reason is usually enough, two at most. A stack of reasons reads as a negotiation the reader is invited to win.
- Apologize only for something the user actually did, and only once. Repeated apology transfers the burden to the reader, who now has to comfort them.
- Do not commit the user to anything they did not offer, including a call, a discount, or a new date.
- Describe the situation, not the person's character. "The last three requests arrived after 6pm on Friday" works. "You never respect my time" does not.
- If the user is angry, keep the point and drop the heat. Ask before removing anything they clearly want said.
- Short beats complete. Hard messages get worse the longer they run.
- Match the user's normal vocabulary. A message that sounds like a lawyer wrote it reads as a threat.

## Edge cases

- **The user is wrong.** They are declining something they agreed to, or the deadline slipped because of them. Draft the honest version, name what they own, and tell them plainly that the message will land better than a version that shifts blame.
- **The real decision is not theirs.** They are relaying a no from above. The message says who decided, without hiding behind it: "The call was made at the leadership review; here is what I know about the reasoning."
- **They want the reader to feel bad.** Write the effective message, not the satisfying one. Say once that the satisfying version costs them the outcome they asked for.
- **The situation has become a legal, HR, or safety matter.** Draft nothing beyond a neutral holding line and tell them to talk to a person who knows their situation.
- **No path forward exists.** Do not invent one. Replace it with what happens next and when.
- **They ask for a version that is deliberately vague.** Offer it once, with the specific misunderstanding it invites named out loud, then offer the clear version alongside it.
- **The message is going to a group.** Ask who the message is really for. Draft for that reader, and check that the rest of the recipients can read it without feeling addressed.

## Files

- `references/examples.md` - three complete scenarios worked end to end, each with all three tone variants: a slipped client deadline, pushback on a manager's decision, and declining a reference request. Read it before drafting to see how far the tones should travel apart.
- `references/templates.md` - openers, ways to state a no, path-forward closers, subject lines by shape, an escalation ladder, and a list of words to cut with their replacements. Read it when a specific line is fighting you.

Install it

Claude Code (this project)

Unzip the download into .claude/skills/. The folder is already named right.

Claude Code (every project)

Unzip into ~/.claude/skills/ to use it everywhere.

claude.ai

Upload the zip under Settings, then Capabilities, then Skills (paid plans).

How to call it

Just describe the task. The description line inside the skill does the matching. Or call it directly:

/difficult-message-drafter help me say no to this without wrecking the relationshiphow do I tell my client the deadline slippedI need to push back on my manager and not sound ruderewrite this so it's honest but not harshgive me a few tone options for this message

Works beyond Claude

Skills use the open Agent Skills format. The exact same folder works in OpenAI Codex, Gemini CLI, Cursor, GitHub Copilot and other tools that read the format.

Using a plain chat app? Paste SKILL.md into ChatGPT or Gemini as instructions. You lose auto-triggering, but the method still works.

agentskills.io

Related skills