Leftbank Art — Dust Dashboard

SIM RUNNING · 7 actions today

handle-replacement-request — skills/customer-service/handle-replacement-request/SKILL.md

← back to all skills · test triggers

Skill: Handle Replacement Request

When to apply

Customer reports a damaged item and wants a replacement (NOT a refund). Keywords: "replace", "send another", "ship me a new one", "broken in transit".

Workflow

  1. Identify the order via lookup_customer + list_customer_orders or directly. Call lookup_order to confirm it's delivered.
  2. If the original order isn't delivered yet, redirect — the customer probably means they want to modify a pending order. Escalate or hand off.
  3. Call create_replacement_order(order_id). The mock storefront clones the lines and ships free. Note the new replacement_order_id.
  4. Call send_email_via_approval_gate with action_type="email_send_replacement_confirmation" informing the customer a replacement is on the way; cite the replacement_order_id. This always queues for human review (it commits to a shipment).

Outputs

{
  "action": "respond",
  "reasoning": "Created SO-2026-... as a free-ship replacement for SO-2026-... and queued the customer notification.",
  "confidence": 0.90,
  "output": "Replacement SO-2026-... created; customer notification queued."
}

Rules

  • One replacement per original order, max. If the original already has a replacement (notes field contains "Replacement of …"), escalate instead.
  • Damaged-in-transit claims > $1000 in line value → escalate, do not auto-create. Carrier-claims process applies.
  • Frame-specific damage is the most common case; mention in the reply that the replacement uses the same frame option.
  • The reply must include the replacement_order_id so the customer can track it.

Anti-patterns

  • Do not also issue a refund unless the customer explicitly asks for both AND escalation has approved. One remedy per claim by default.
  • Do not promise a delivery date for the replacement — the system will email tracking when it ships.