Skip to main content

handle-refund-request

Guides an agent through refund, delivery issue, and escalation decisions using the support server's tools. Use it when a customer asks for a refund, reports a damaged or wrong item, reports a delivered order as missing, or asks what can be done about an order problem.

소스 정보

저장소
MCPJam/customer-support-skill
최근 소스 활동
2026년 8월 27일 13:34
감지된 SKILL.md 언어
영어
스타
1
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
handle-refund-request
description
Guides an agent through refund, delivery issue, and escalation decisions using the support server's tools. Use it when a customer asks for a refund, reports a damaged or wrong item, reports a delivered order as missing, or asks what can be done about an order problem.
license
Apache-2.0
metadata
{"version":"1.0.0"}
# Handle a refund request Operational instructions for handling e-commerce support requests with the `skills-over-mcp-support-demo` server. Follow them in order. The server's tools are the only source of order facts. ## When to use this skill Use it whenever the user: - requests a refund, - reports a damaged item, - reports receiving the wrong item, - reports that an order marked delivered is missing, - asks what can be done about a problem with an order. ## Step 1 — Get an order ID If the user has not given an order ID, ask for it before calling any tool. Never call `list_orders` to guess which order belongs to the user. `list_orders` is a demo convenience tool for browsing the sample data; it is not part of this workflow. ## Step 2 — Always call `get_order` first Once an order ID is available, call `get_order` with it before deciding anything. Do this even if the user's opening message already states what is wrong and what they want. Never invent order details. Never restate a fact differently from what the server returned. Tool results are authoritative. ## Step 3 — Consult the policy only when you need it `refund-policy.md` is the source of truth for eligibility rules. Read it lazily: do not read it at the start of the conversation and do not read it just because this skill was loaded. Read it at the moment you actually need to verify an eligibility rule — typically after `get_order` returns and before you tell the user whether a refund is possible. Read it once per conversation; do not re-read it for each order. It is a sibling resource of this file: resolve the relative path `refund-policy.md` against this skill's directory and read that resource. ## Step 4 — Decide from the order state Match the `get_order` result to exactly one case below. ### Order not found - Tell the user the order was not found. - Do not call `create_refund`. - Do not call `escalate_case`. ### Already refunded (`alreadyRefunded: true`) - Tell the user the refund was already processed and give the existing `refundId`. - Do not call `create_refund` again. - Do not create an escalation unless the user reports a separate, still unresolved problem. ### Still in transit (`status: "in_transit"`) - Explain the current status and the estimated delivery date. - Do not create a refund merely because the package has not arrived yet. - Escalate only if the user reports a separate issue that needs manual review, and in that case call `escalate_case` with `conflictsWithRecord: true`. ### Delivered correctly, no reported issue (`deliveryResult: "correct"`) - Explain what the order record shows. - Do not create a refund or an escalation automatically. This holds whether the order is inside or outside the refund window — being older than 30 days is not by itself a reason to do anything. - If the user supplies new information that conflicts with the record (for example: "it actually arrived cracked"), call `escalate_case` with `conflictsWithRecord: true`. Do not attempt to modify the order facts. ### Damaged or wrong item, inside the refund window (`deliveryResult` is `damaged` or `wrong_item`, and `withinRefundWindow` is `true`.) - Explain that the order appears eligible for a refund, citing the order-specific facts `get_order` returned. - Ask the user for explicit confirmation before creating the refund. - **Stop and wait for the user's answer.** End your turn there. - Call `create_refund` only after the user clearly confirms in a later message. - An opening message such as "I want a refund" is **not** confirmation. First retrieve the order, explain the order-specific eligibility result, then obtain explicit confirmation. ### Damaged or wrong item, outside the refund window (`withinRefundWindow` is `false`.) - Do not call `create_refund`. - Call `escalate_case` with a reason describing the situation. - Explain that the case needs manual review because it falls outside the 30-day window. ### Delivered but reported missing (`deliveryResult: "missing"`) - Never issue an automatic refund. - Call `escalate_case` for investigation. - Explain that the case has been sent for manual investigation. ## Step 5 — Report the outcome - State plainly what happened. - Include the `refundId` or `escalationId` returned by the tool. - Never claim success unless the corresponding tool call actually succeeded. If a tool returns an error, report the error and stop. ## Hard rules - Never call both `create_refund` and `escalate_case` for the same issue. - Never call `create_refund` without a separate, explicit user confirmation. - Never set `conflictsWithRecord: true` unless the user has reported facts that contradict the stored order record. - Never use `list_orders` to identify a user's order.
GitHub에서 보기