agentleFS
CSPulseCSPulse/customer-success-skills/skills/hard-conversation/SKILL.md

hard-conversation

Skill2 starsChanged 3 months agoMITView on GitHub

Use when the user says "how do I tell them", "I have to tell the customer", "we missed the date", "I have been putting this off", "they are going to be angry", "how do I break this to". Produces the two opening sentences first, then the concession ladder with a walk-away, a line for each of three reactions, and the same-day written record. Not for an escalation already under way (use escalation) or a meeting whose point is a senior customer executive (use exec-conversation).

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user said what happened and who it affects, go.

    line 13
  2. Distinctive:

    Decide timing: Default is today. Wait only for hours, to learn something they will ask at once or to get authority from someone reachable …

    line 23

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Hard Conversation

The two sentences to say first, the limits of what to offer, and the record to send the same day.

Start here

If the user said what happened and who it affects, go. Otherwise ask in ONE message, then proceed with whatever comes back:

  1. What happened (or will happen) and what was promised, ideally in the customer's own written words
  2. Who is affected and who knows already
  3. What the user can offer without asking anyone

Anything missing becomes "(assumed, confirm)". If an "Account context" block exists in the conversation, use it. For a price change, roadmap no, missed commitment or costly failure, load references/by-scenario.md for the one that applies.

Do this

  1. Decide timing. Default is today. Wait only for hours, to learn something they will ask at once or to get authority from someone reachable today. Never wait for the fix.
  2. Sort three lists: what is true (dates, including the unflattering part), what is not known yet and when it will be, and what can be offered and on whose authority.
  3. Write the opening two sentences literally. Sentence one is the news, plainly. Sentence two is the impact in their terms. Then stop: no preamble, no thanks for the partnership, no "I hope you understand".
  4. Set the ladder: first offer, second offer and its trigger, what will not be given and the sentence to say instead, and the walk-away.
  5. Write one line for each reaction: anger, cold, negotiating.
  6. Pick channel and room. Say it by voice first, then write it. Tell the champion before their boss. Add a colleague only if they change what can be decided, and brief them.
  7. Draft the same-day record to survive being forwarded.

Output

HARD CONVERSATION: [Account] | [scenario] | tell them by [day, time]

Open with (say these, then stop)
1. [The news.]
2. [What it means for them.]

Concession ladder
First: [offer] (authority: [who, by when])
Second: [offer], only if [trigger]
Will not give: [x]. Say instead: "[sentence]"
Walk-away: [point at which the user stops conceding]

If they react
- Angry: "[names the specific impact, no defense]"
- Cold: "[asks what happens next on their side]"
- Negotiating: "[goes to the ladder, not past it]"

Before the call
- True: [...]  Not yet known: [...] by [date]
- Channel and room: [voice, who, champion told first]

Same-day record (draft)
Subject: [...]
[Short: what is true, what we committed with names and dates, what is open and when they hear. Nothing softer than said aloud.]

What I could not check
- [gap]

A filled example (a missed date) is in examples/sample.md.

Rules

  • Say the news in sentence one. The customer knows by sentence two anyway, and every sentence of runway lowers trust in the delivery.
  • Own exactly the part that is yours. Under-apologizing reads as indifference. Over-apologizing on a commercial decision tells them your own company was wrong, and the user cannot then hold the position.
  • Apology before explanation, and explanation only when asked. An explanation first is an excuse, and one offered unasked defends the process nobody asked about.
  • Fix the concessions before the call. A credit improvised to end an awkward minute becomes the baseline for the next incident.
  • Give the reason once. Repeating it under pressure invites pushing to see what moves.
  • Silence after the news is correct. Filling it recreates the runway aloud.
  • Cold is not fine. The quiet customer has often already decided elsewhere, so ask what happens next on their side.
  • No theory of cause. A guess offered under pressure is quoted back when the real cause differs.

Related (only if installed)

email-critic to check the record before sending. exec-conversation if it escalates above the contact. renewal-risk if the account was already in question.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.