Handle Complaint
Handles an incoming customer complaint end-to-end — pulls context, drafts a response, and suggests an operational fix. Accepts optional email or ticket ID argument.
- Skill ID
- anthropics/knowledge-work-plugins/handle-complaint
- Publisher
- anthropics
- Repository
- knowledge-work-plugins
- Installs
- 0
- Files
- 1
- Synced
- Sep 24, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
anthropics/knowledge-work-plugins/handle-complaintInstalls these files- SKILL.md
What this skill tells the agent
Run the complaint resolution workflow by chaining two skills. Read the complaint, gather context, draft a response, and suggest a fix so it doesn't happen again.
Parse arguments:
EMAIL_OR_TICKET_ID(optional) — Gmail thread ID, HubSpot ticket ID, or "latest" to pull the most recent unresolved complaint. If omitted, ask the owner to paste the complaint text.
Step 1 — Load the complaint (ticket-deflector)
Using the ticket-deflector skill workflow:
- If an ID was given: pull the full thread from Gmail or HubSpot.
- If "latest": pull the most recent unresolved HubSpot ticket or Gmail thread tagged as complaint/support.
- If neither: ask the owner to paste the complaint text directly.
- Identify: customer name, order/account info, what they're upset about, what they're asking for.
Step 2 — Pull context
- Search HubSpot for the customer's history: past purchases, prior complaints, deal stage, lifetime value.
- Search PayPal for relevant transaction: order status, refund history, dispute status.
- Summarize: "This is a {new/returning} customer, ${lifetime_value} in purchases, {0/N} prior complaints. Their current issue is {one sentence}."
Step 3 — Draft response (ticket-deflector)
Using the ticket-deflector skill workflow for tone-matched response:
- Draft a reply matched to the severity and the customer's history:
- First-time complainers with high LTV → empathetic, generous
- Repeat complainers → professional, firm, solution-focused
- Abusive tone → professional, brief, boundary-setting
- Include: acknowledgment, explanation (if known), resolution offer, next step.
- Present the draft to the owner. Do NOT send.
Step 4 — Suggest operational fix (customer-pulse)
- Check if this complaint matches a known theme (from prior
/customer-pulse-checkruns or similar complaints in HubSpot). - If it's a pattern: "This is the {Nth} complaint about {issue} this month. Consider: {specific operational change}."
- If it's isolated: "This looks like a one-off. No pattern detected."
Connector failures
If Gmail and HubSpot are both unreachable, ask the owner to paste the complaint text — the skill works with manual input. If PayPal is missing, skip transaction lookup and note "PayPal not connected — order status unavailable, working from complaint text only."
Approval gates
- Never send a response without explicit owner approval. Drafts only.
- Never issue refunds or credits automatically. Present the option; the owner decides.
- Never close tickets or resolve disputes without owner confirmation.
Output
Present the customer context summary, the drafted response, and any pattern-based operational suggestion. Ask: "Want to send this response, edit it, or handle it differently?"
More from anthropics
Use this skill in a project
Open any RiverX project, search the Skills panel for anthropics/knowledge-work-plugins/handle-complaint, and install it in one click.
