Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add stephenrogan/csm-skills --skill "difficult-conversation-drafter"
Install specific skill from multi-skill repository
# Description
Prepares talking points and framing for difficult customer conversations including delivering bad news, addressing underperformance, raising pricing concerns, discussing missed commitments, or having an honest conversation about a failing relationship. Use when asked to prepare for a difficult conversation, frame bad news, plan a confrontational discussion, structure a hard conversation, or when a CSM knows a conversation will be uncomfortable and needs to prepare how to navigate it. Also triggers for questions about hard conversations, delivering bad news to customers, uncomfortable customer topics, or how to raise a difficult subject without damaging the relationship.
# SKILL.md
name: difficult-conversation-drafter
description: Prepares talking points and framing for difficult customer conversations including delivering bad news, addressing underperformance, raising pricing concerns, discussing missed commitments, or having an honest conversation about a failing relationship. Use when asked to prepare for a difficult conversation, frame bad news, plan a confrontational discussion, structure a hard conversation, or when a CSM knows a conversation will be uncomfortable and needs to prepare how to navigate it. Also triggers for questions about hard conversations, delivering bad news to customers, uncomfortable customer topics, or how to raise a difficult subject without damaging the relationship.
license: MIT
metadata:
author: Stephen Rogan
version: "1.0.0"
standalone: true
Difficult Conversation Drafter
Prepares you for conversations you are dreading. The paradox: the conversations you most want to avoid are usually the ones your customer needs you to have. Avoiding a difficult conversation does not make the problem go away -- it makes the eventual conversation harder.
How to Use
Provide:
- The difficult topic (what needs to be discussed)
- Why it is difficult (what makes this uncomfortable)
- The customer's likely reaction (based on what you know about them)
- The outcome you want (what would a successful conversation produce)
- Your relationship with this person (deep, adequate, new, strained)
- The context (how the situation arose, what the customer already knows)
Conversation Categories and Approaches
Delivering Bad News
Situations: Price increase, feature sunset, CSM change, SLA miss, delivery delay, service reduction.
Framework:
1. State the news directly -- do not bury it in context. "I need to share something that will affect your team's workflow" is better than 3 paragraphs of preamble before the bad news appears
2. Own the impact -- describe what this means for them, not just what happened
3. Explain the why -- not as a defence but as context. "Here is why this decision was made"
4. Present the path forward -- what you are doing about it, what they can expect, what options exist
5. Make space for their reaction -- "I understand this is frustrating. What questions do you have?"
Raising a Concern About Their Behaviour
Situations: Chronic unresponsiveness, missed commitments from their side, team not adopting, contacts blocking access.
Framework:
1. Describe what you observe -- facts, not judgments. "I have noticed that the last 3 check-in calls were cancelled" not "your team does not seem to care about our product"
2. Express the impact -- what the pattern means for the partnership. "Without regular touchpoints, I cannot effectively support your team's goals"
3. Ask for their perspective -- there may be context you do not have. "Is there something driving this that I should know about?"
4. Propose a solution together -- "What cadence would work better for your team?"
Addressing Underperformance (Your Side)
Situations: You missed a commitment, your team dropped the ball, an escalation was not handled well.
Framework:
1. Acknowledge directly -- do not wait for them to raise it. "I want to address the deployment delay before we discuss anything else"
2. Own without excusing -- "We missed the March 1 deadline. That is on us"
3. Explain the root cause -- briefly, without deflecting
4. State the remediation -- specific actions, not promises
5. Commit to prevention -- what changes to prevent recurrence
Having the Honest Conversation About a Failing Relationship
Situations: The account is deteriorating and nobody is saying it out loud. The customer is disengaging. The product is not delivering expected value.
Framework:
1. Name the elephant -- "I want to have an honest conversation about where things stand"
2. Share your observation -- "From what I am seeing, [specific evidence], I am concerned that we are not delivering the value you expected"
3. Ask for their honest assessment -- "How do you see things?"
4. Listen without defending -- this is the hardest part. Let them talk. Take notes. Do not argue
5. Propose a reset -- "Given where we are, here is what I think we should do differently"
Tone Principles for All Difficult Conversations
| Principle | What It Looks Like |
|---|---|
| Direct, not aggressive | "The deployment missed the deadline by 8 days" not "Your team really dropped the ball on this" |
| Accountable, not defensive | "We should have caught this earlier" not "The issue was caused by a third-party dependency" |
| Empathetic, not patronising | "I understand this affects your team's workflow" not "I know this must be really hard for you" |
| Solution-oriented, not problem-focused | Spend 20% of the conversation on the problem and 80% on the path forward |
| Specific, not vague | "The API response time exceeded 3 seconds for 4 hours on March 5" not "there were some performance issues" |
Pre-Conversation Checklist
Before the conversation:
- [ ] I can state the topic in one sentence
- [ ] I know what outcome I want
- [ ] I have anticipated their likely reaction and prepared for it
- [ ] I have specific evidence (not just feelings or impressions)
- [ ] I have a proposed path forward (not just the problem)
- [ ] I have the right channel (call for difficult conversations -- never email for high-stakes topics)
- [ ] I have enough time (difficult conversations should not be rushed)
Output
For each difficult conversation, the skill produces:
- Opening statement (the first 30 seconds -- this sets the tone for everything that follows)
- Talking points in recommended sequence
- Anticipated objections or reactions with suggested responses
- Phrases to use and phrases to avoid
- The specific ask or outcome to aim for
- Recovery plan if the conversation goes poorly
Quality Gates
- Does the opening state the topic within the first 2 sentences? Difficult conversations that meander through 5 minutes of small talk before reaching the point are harder for both sides
- Is the tone appropriate for the situation? Overly casual for a serious topic is dismissive. Overly grave for a minor issue is alarming
- Do you have a proposed path forward, not just the problem? A difficult conversation without a solution is just bad news delivery. The solution is what transforms it into a constructive conversation
- Have you anticipated their reaction? If you are surprised by their response, you did not prepare enough
Principles
- The conversation you avoid today becomes a harder conversation tomorrow. Delay compounds difficulty. A concern raised at 3/10 severity is a conversation. The same concern at 8/10 is a crisis
- Your discomfort is not a reason to avoid the conversation. It is a signal that the conversation matters. Uncomfortable conversations are where trust is built -- or lost
- How you say it matters as much as what you say. The same message delivered with empathy and accountability lands differently than the same message delivered defensively. Prepare the how, not just the what
- The customer deserves honesty, not comfort. A CSM who sugarcoats a deteriorating situation is not being kind -- they are being dishonest. Customers respect candour, even when the news is bad
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.