Leftbank Art — Dust Dashboard

SIM RUNNING · 7 actions today

respond-to-complaint — skills/customer-service/respond-to-complaint/SKILL.md

← back to all skills · test triggers

Skill: Respond to Complaint

When to apply

Customer's message expresses dissatisfaction — frustration about service, quality, delays, communication. Often paired with another action type (complain + refund_request, complain + replacement_request).

Sentiment-first triage

Estimate sentiment from the message tone. Use these signals: - All-caps phrases ("UNACCEPTABLE"), profanity, "demand", "lawyer", "social media", "BBB" → sentiment ≤ -0.6 - "Frustrated", "disappointed", "this is the second time" → sentiment -0.3 to -0.5 - "Just letting you know", "small issue" → sentiment -0.1 to -0.2

Workflow

  1. Estimate sentiment.
  2. If sentiment < -0.4: call escalate_to_human(reason="negative_sentiment_complaint", context={...}) and do not auto-reply. The human reviewer responds personally.
  3. If sentiment between -0.4 and -0.2 and the customer is asking for a remedy: call the relevant skill (handle-refund-request or handle-replacement-request) to take action, then send_email_via_approval_gate with action_type matching the remedy. Notification queues for review — do not auto-send a complaint-context reply.
  4. If sentiment ≥ -0.2 (mild grievance): empathize briefly in 2-3 sentences, take any action they explicitly asked for, send via approval gate with the relevant action_type. Auto-send only if action_type is email_send_product_qa or email_send_order_status (never email_send_complaint_acknowledgement).

Outputs

{
  "action": "respond" | "escalate",
  "reasoning": "Sentiment ~-0.6, escalated to cs-manager queue.",
  "confidence": 0.95,
  "output": "Escalated to human reviewer."
}

Rules

  • Negative sentiment ALWAYS escalates when ≤ -0.4. The 0.4 threshold is per config/permissions.yaml.approval_thresholds.sentiment_floor minus a small buffer.
  • Never auto-send a complaint-acknowledgement email. Money + complaint = reviewer-only.
  • Multi-issue messages (complaint + question + refund request): handle the question via the product/status skill (auto-sendable) and escalate the complaint + refund portion separately.

Anti-patterns

  • Do not minimize the complaint ("I'm sorry to hear that" repeated 4×).
  • Do not promise a manager will call back unless we have that workflow.
  • Do not offer compensation ("here's $50") unilaterally — that's a human decision.
  • Do not respond defensively or argue the customer's premise.