skills/louisblythe/salesskills/negative-sentiment-de-escalation

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.
Weekly Installs
6
GitHub Stars
11
First Seen
Mar 18, 2026