negative-sentiment-de-escalation
Installation
SKILL.md
Negative Sentiment De-escalation
You are an expert in building sales bots that calm frustrated prospects before they disengage. Your goal is to help developers create systems that detect negative sentiment and respond with de-escalation techniques that preserve the relationship.
Why De-escalation Matters
The Frustrated Prospect Problem
Prospect (frustrated):
"I've explained this three times already!"
Generic bot response:
"I understand! Let me ask you a few questions..."
Result:
- Frustration increases
- Prospect disengages
- Relationship damaged
- Potential complaint/bad review
With De-escalation
Same situation:
De-escalation response:
"I can hear you're frustrated, and I completely
understand—having to repeat yourself is annoying.
Let me make sure I've got everything so you don't
have to explain again: [summary]. Did I capture
that correctly?"
Result:
- Frustration acknowledged
- Prospect feels heard
- Conversation can continue
- Relationship preserved
Sentiment Detection
Negative Sentiment Indicators
Explicit indicators:
- "This is frustrating"
- "I'm annoyed"
- "This is ridiculous"
- "I've had enough"
- "Your product/service is terrible"
- Profanity
Implicit indicators:
- ALL CAPS
- Excessive punctuation (!!!, ???)
- Short, curt responses
- Demanding language
- Sarcasm
- Comparison to competitors negatively
Frustration Levels
def assess_frustration_level(message, context):
score = 0
# Explicit frustration words
frustration_words = [
"frustrated", "annoyed", "angry", "ridiculous",
"terrible", "awful", "waste", "useless"
]
if any(word in message.lower() for word in frustration_words):
score += 40
# Caps and punctuation
caps_ratio = sum(1 for c in message if c.isupper()) / len(message)
if caps_ratio > 0.5:
score += 20
if message.count('!') > 2 or message.count('?') > 2:
score += 15
# Context factors
if context.repeated_question_count >= 2:
score += 25
if context.wait_time_minutes > 10:
score += 15
if context.previous_negative_sentiment:
score += 20
return min(score, 100)
def get_escalation_tier(score):
if score >= 70:
return "high" # Immediate de-escalation needed
elif score >= 40:
return "medium" # Acknowledge and address
else:
return "low" # Monitor but proceed
Context Signals
Situation-based frustration:
- Long wait times
- Multiple transfers
- Repeated questions
- Misunderstandings
- Technical issues
- Previous negative interaction
- End of day (tired)
- High-stakes situation
Factor context into response.
De-escalation Techniques
Acknowledge and Validate
First: Show you heard them.
"I can hear this has been frustrating."
"You're right to be annoyed—that shouldn't
have happened."
"I understand why you're upset. That's not
the experience you should have."
Don't argue. Don't defend. Acknowledge.
Take Responsibility
Own what you can:
"I apologize for the confusion earlier."
"You shouldn't have had to repeat yourself.
That's on us."
"I'm sorry this has taken so long—let me
fix it right now."
Avoid: "I'm sorry you feel that way"
(Passive, dismissive)
Instead: "I'm sorry we caused this frustration"
(Active, accountable)
Summarize and Confirm
Show you understand:
"Let me make sure I have this right:
[summary of their situation]. Is that accurate?"
"Just to confirm—you're frustrated because
[specific issue], correct?"
This:
- Shows you listened
- Prevents repeating
- Gives them control
Provide Clear Next Steps
Give them certainty:
"Here's exactly what I'm going to do:
1. [Specific action]
2. [Specific action]
3. [Timeline]
Sound good?"
Frustrated people want resolution, not vagueness.
Offer Human Escalation
When bot can't resolve:
"I want to make sure you get the help you need.
Would you prefer I connect you with a team member
who can handle this directly?"
"This deserves personal attention. Can I have
someone call you in the next 30 minutes?"
Sometimes the best de-escalation is knowing
when to escalate.
Response Templates by Frustration Level
Low Frustration (Score <40)
Subtle acknowledgment + proceed:
"Got it—I want to make sure we get this right.
[Continue with solution]"
"Thanks for clarifying. Let me help with that."
Don't over-apologize for minor friction.
Medium Frustration (Score 40-70)
Clear acknowledgment + action:
"I can tell this has been a hassle, and I
apologize for that. Here's what I'll do to
fix it: [specific action]."
"You're right to be frustrated—let me make
this right. [Solution]."
High Frustration (Score 70+)
Full de-escalation sequence:
1. Acknowledge immediately
"I can hear how frustrated you are, and
I completely understand."
2. Take responsibility
"This shouldn't have happened, and I'm sorry."
3. Validate their feeling
"If I were in your position, I'd feel the
same way."
4. Offer resolution
"Here's how I'm going to fix this right now..."
5. Offer human if needed
"Would you like me to have a manager reach
out directly?"
Specific Scenarios
Repeated Questions
"I've already told you this!"
Response:
"You're absolutely right—I apologize for making
you repeat yourself. Let me recap what I have:
[summary]. I don't want to waste any more of
your time, so let me [solution]."
Long Wait Times
"I've been waiting forever!"
Response:
"I'm really sorry about the wait—that's not
acceptable. You have my full attention now.
Let's solve this: what can I help with?"
Product/Service Complaint
"Your product is terrible!"
Response:
"I'm sorry you're having a bad experience.
That's the opposite of what we want. Can you
tell me specifically what's not working? I want
to understand and make it right."
Transfer Frustration
"I keep getting transferred!"
Response:
"That's incredibly frustrating, and I apologize.
I'm going to handle this myself—no more transfers.
Let me understand the full picture so we can
resolve it here."
Misunderstanding
"That's not what I meant at all!"
Response:
"I apologize for the misunderstanding—that's
on me. Let me start fresh. Can you explain
what you're looking for in your own words?
I'll make sure I get it this time."
Things to Avoid
Don't Argue
BAD:
"Actually, I did answer that earlier..."
"That's not what I said..."
"If you read the terms..."
This escalates, not de-escalates.
Don't Deflect
BAD:
"That's not my department..."
"There's nothing I can do..."
"That's our policy..."
Take ownership, find solutions.
Don't Be Dismissive
BAD:
"It's not that big a deal..."
"Other customers don't have this problem..."
"I understand, but..."
Their frustration is valid to them.
Don't Over-Apologize
BAD:
"I'm SO sorry! I'm really, really sorry!
I can't apologize enough!"
This can seem:
- Insincere
- Panicked
- Like you're not fixing anything
One genuine apology + action > many empty ones.
Escalation to Human
When to Escalate
Escalate to human when:
- Frustration score > 80
- Prospect explicitly asks for human
- Multiple de-escalation attempts failed
- Legal threats made
- Profanity/abuse continues
- Bot cannot resolve the issue
- High-value account
Handoff Message
To prospect:
"I want to make sure you get the resolution
you deserve. I'm connecting you with [Name]
who has the authority to [specific action].
They'll reach out within [timeframe]."
To human:
"Escalation: High frustration score (85)
Issue: [summary]
Attempts: [what bot tried]
Trigger: [why escalated]
Recommended action: [suggestion]"
Recovery After De-escalation
Follow-Up
After resolving:
Same day:
"Just wanted to confirm [solution] worked.
Anything else I can help with?"
Next day:
"Following up from yesterday—hope everything
is working smoothly. Sorry again for the
frustration. Let me know if anything else
comes up."
Goodwill Gestures
When appropriate:
- Account credit
- Extended trial
- Free month
- Upgrade offer
- Personal attention
"As an apology for the trouble, I've applied
[gesture] to your account."
Metrics
De-escalation Effectiveness
Track:
- Frustration detection accuracy
- De-escalation success rate
- Escalation to human rate
- Post-de-escalation sentiment
- Continued engagement rate
Improve:
- Better detection rules
- More effective templates
- Earlier intervention
Impact Metrics
Measure:
- Churn rate after frustrated interactions
- NPS impact
- Complaint resolution time
- Repeat frustration incidents
De-escalation done well = retained customers.