This skill builds a library of pre-written customer-service reply templates for ecommerce sellers on TikTok Shop, Shopee, and Shopify. A good script library keeps every agent (or auto-reply) on-brand, compliant with platform rules, and fast — turning a 6-minute freehand reply into a 45-second personalized paste. The goal is not robotic canned text; it is a flexible scaffold with variables and tone rules that a human can send confidently or lightly edit.
| Decision | Strong | Acceptable | Weak |
|---|---|---|---|
| --- | --- | --- | --- |
| Tone register | Warm-professional, plain language, matches brand voice and platform norms | Generic-polite, slightly stiff but inoffensive | Corporate-legalese or over-casual slang that erodes trust |
| Personalization level | Uses {{customer_name}}, references the specific {{order_id}} and item | Uses name only; rest is generic | "Dear Customer" with zero order context |
| Refund authority phrasing | "I've issued a full refund of {{amount}} — it lands in 3-5 business days" (within policy) | "I'll request a refund for you" (when approval is needed) | "You will definitely get your money back today" (overpromising) |
| Escalation trigger | Clear rules: chargebacks, safety/injury claims, >$X value, 3rd contact, legal/press threats | Escalate on "angry customer" gut feel | No defined trigger; agents improvise or stall |
| Response-time SLA | First reply <2h in business hours, <12h off-hours; states a realistic window | Reply same business day | "We'll get back to you" with no timeframe |
| Apology framing | Specific, owns the issue, no excuses: "That's on us — your parcel was mislabeled" | "Sorry for any inconvenience" | "Sorry you feel that way" (non-apology, blames customer) |
| Channel adaptation | Tightens length and emoji for TikTok Shop chat vs. fuller email on Shopify | One length reused everywhere | Long formal email pasted into a 1-line chat box |
| Compensation offer | Tiered and pre-approved (reship, partial credit, coupon) with caps per scenario | Ad-hoc gesture decided per ticket | Reflex discount on every complaint, training customers to complain |
| Closing / next step | States exactly what happens next and by when, invites reply | Polite sign-off, no next step | Abrupt close that forces a follow-up message |
references/tone-and-policy-guide.md.references/scenario-library.md for seeds.{{customer_name}}, {{order_id}}, {{tracking_link}}, {{amount}}, {{eta_date}}. Mark every spot an agent must verify before sending, and add "do-not-say" notes to block off-policy phrasing. Variables prevent copy-paste accidents (wrong name, stale ETA).assets/quality-checklist.md: check coverage, voice consistency, policy accuracy, personalization, empathy, escalation, and localization. Have a second reviewer read scripts cold and flag anything that sounds canned, risky, or off-brand. Fix, then approve.references/output-template.md.Brand: Lumio & Co. — a mid-size home-fragrance brand (candles, reed diffusers, refills) selling on Shopify (primary) and TikTok Shop. Voice: warm, sensory, lightly playful; first-name basis; one emoji max per message; never clinical.
Top inquiry types (from a 60-day audit): WISMO / order status (34%), melted or broken-in-transit candle (18%), scent expectation mismatch (11%), discount code won't apply (9%), cancel/change order (7%).
Sample scripts
Scenario: "Where is my order?" — variant A (standard, Shopify email)
> Hi {{customer_name}}, thanks for reaching out! Your order {{order_id}} is on its way — here's live tracking: {{tracking_link}}. Right now it's showing {{tracking_status}}, with delivery expected by {{eta_date}}. If it hasn't arrived by then, just reply here and I'll chase the carrier and sort it out for you. 🕯️
Scenario: "My candle arrived melted/broken" — variant B (high-empathy, photos already attached)
> Oh no, {{customer_name}} — a {{product_name}} showing up like that is not the welcome we wanted to send. That's on us and the summer heat in transit. I've arranged a free replacement for order {{order_id}}, shipping {{ship_method}} today, no need to return the damaged one. You'll get tracking by {{eta_date}}. Thanks for the photos — they help us pack smarter for warm-weather routes.
Scenario: "Discount code won't apply" — variant A (TikTok Shop chat, short)
> Hi {{customer_name}}! Let's fix that. Code {{promo_code}} is valid on orders over {{min_spend}} and excludes {{excluded_items}} — could either of those be it? If your cart qualifies and it's still not taking, send a screenshot and I'll apply the discount manually before you check out. 💛
Brand: TrailKit — outdoor gear and apparel (packs, jackets, footwear) selling on Shopee (SEA markets) and Shopify. Voice: confident, practical, no-fluff, gear-expert peer; sizing and durability questions are frequent and high-stakes for returns.
Top inquiry types: sizing/fit advice pre-purchase (22%), return/exchange for fit (19%), delivery delay (17%), waterproofing/defect claim (12%), warranty question (8%).
Sample scripts
Scenario: "Will this jacket fit me?" — variant A (pre-sale, Shopee chat)
> Hi {{customer_name}}! The {{product_name}} runs true to size with room for a midlayer. For your stats ({{height}} / {{chest}}), I'd go {{recommended_size}} — size up only if you'll layer a thick fleece. Full size chart here: {{size_chart_link}}. Want it roomier or more fitted? Tell me how you like your shell to sit and I'll dial it in.
Scenario: "I need to exchange for a different size" — variant A (standard)
> Hi {{customer_name}}, happy to swap that for you. I've started an exchange on order {{order_id}}: you'll get a prepaid return label at {{return_label_link}}, and your {{new_size}} will ship the moment your return scans in (usually {{exchange_window}}). Keep the item unworn with tags so it qualifies. Want me to reserve the {{new_size}} now so it doesn't sell out? I can hold it for {{hold_days}} days.
Scenario: "My jacket leaked / isn't waterproof" — variant B (high-empathy, possible defect)
> That shouldn't happen, {{customer_name}} — the {{product_name}} is rated to {{waterproof_rating}}, so a leak means something's off. A couple of quick questions so I get you the right fix: where did water come through (seams, zip, or fabric), and roughly how old is the jacket? If it's a manufacturing fault it's covered under our {{warranty_period}} warranty and I'll arrange a replacement or repair — no cost to you. In the meantime, here's a 2-minute re-proofing guide in case it's the DWR coating: {{care_link}}.
{{customer_name}} + one order-specific reference ({{order_id}}, item, or ETA) in every script.{{eta_date}}").{{threshold}}, third contact) in each script and the policy guide.{{tracking_link}} literally, or last week's ETA, destroys trust instantly. Fix: mark every must-verify field and add a final "swap all {{ }}" QA step.references/output-template.md — Fill-in-the-blank structure for the finished Support Script Library deliverable, including the per-scenario block and maintenance log.references/scenario-library.md — Catalog of ~25 common ecommerce CS scenarios with triggers, customer emotion, key info, and a script seed for each.references/tone-and-policy-guide.md — How to define brand voice, platform policy guardrails, the acknowledge→align→act empathy pattern, and localization cautions.assets/quality-checklist.md — QA checklist to run every script through before approval and rollout.共 2 个版本