amazon-returns-recovery
Suede-affiliated Amazon money-recovery audit for restocking fees, short or denied refunds, and Amazon-billed subscriptions. Use when the user mentions a restocking fee, a short or denied Amazon refund, or a forgotten Prime Video Channel, Audible, Kindle Unlimited, or Prime charge
Install
npx skills add https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/amazon-returns-recovery
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install jasoncolapietro-suede-creator-skills@llmmart
git clone https://github.com/JasonColapietro/suede-creator-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole jasoncolapietro/suede-creator-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Amazon Returns Recovery
Iron Law:
Nothing is disputed, canceled, or sent without the account owner's per-item
confirmation. Discovery is read-only; every action phase is gated.
Why this exists
- Money like this doesn't announce itself. Restocking fees, short refunds, and forgotten subscription charges sit unannounced in order history unless something checks.
- Overturning an already-denied refund after the return window closed is the realistic ceiling of a well-reasoned exception ask — so ask for more than a waiver when the facts support it.
Read references/example-cases.md before drafting a dispute: three real resolved cases with the exact wording that worked.
Prerequisites
- Claude in Chrome browser extension connected to the browser, and the user already
signed into the target Amazon account. If
mcp__claude-in-chrome__*tools aren't loaded yet, fetch them via ToolSearch first (see the extension's own MCP instructions for the batch-load query). - This runs against a real account. If the account is shared (family members with separate shipping addresses on the same login), be ready to see orders that aren't the user's — flag those, don't just fold them into the same batch without asking.
Phase 1a — Order/return discovery (read-only, no side effects)
Goal: find every completed return where Amazon deducted a restocking fee, without touching anything.
- Search order history broadly by category keyword, not just exact terms — Amazon's
your-orders/searchmatches loosely, so one keyword (e.g. "razor") surfaces adjacent items (shavers, trimmers) too. Restocking fees concentrate on higher-value electronics/appliances, so prioritize checking those over consumables or clothing.https://www.amazon.com/your-orders/search/ref=ppx_yo2ov_dt_b_search?opt=ab&search=<keyword>- Paginate through all result pages — don't stop at page 1. Older orders (a year+
back) still show up here even though they've long since dropped off
Your Returns.
- For faster coverage of recent activity, also check
https://www.amazon.com/your-returns— but note it only shows roughly the last 3 months, so it's a supplement to the search sweep, not a replacement for it. - For each order that shows "Return complete" / "Refund Complete" / "Refund issued",
open its detail page:
https://www.amazon.com/your-orders/order-details?orderID=<orderID>Find the Refund Total line — it has a small chevron that expands to an itemized breakdown (Item(s) refund / Tax refund / Restocking fee / Refund Total). Click it. Orders with no fee just show item + tax = refund total; orders with a fee show the deduction explicitly. - Record every hit: order #, item name, item price, restocking fee amount, who it shipped to, and whether it was sold by Amazon.com directly or a third-party seller (first-party listings are the strongest cases — Amazon's own chat agents can waive those without looping in a marketplace seller).
- Don't try to make this exhaustive on the first pass if the account has a long history — report what's found so far and note that more may be scattered across older years if the user wants a deeper sweep.
Stop here — Iron Law. Discovery ends; nothing is opened or disputed yet.
Phase 1b — Digital subscription audit (read-only, no side effects)
Unvalidated click-path — the exact URLs below are the best-known entry points as of this writing, not yet confirmed live like the Phase 1a flow. If a URL 404s or redirects somewhere unexpected, navigate from the account menu instead (Amazon moves these pages periodically) and note the working path back into this file once confirmed.
Goal: find every recurring digital subscription billed through the Amazon account — Prime Video Channels, Audible, Kindle Unlimited, Prime itself — and flag ones that look forgotten, unused, or worth reconsidering. This is a different shape of "money Amazon is quietly taking" than restocking fees: it's ongoing, not a one-time deduction, so the fix is usually "cancel it" rather than "waive it," with a refund ask reserved for genuinely forgotten charges.
- Prime Video Channels (this is how Britbox, Starz, AMC+, Paramount+, Shudder,
MGM+, etc. actually bill — they're not separate Amazon relationships, they're
add-on channels on top of Prime Video):
https://www.primevideo.com/settings/channels— lists every active channel subscription, price, and next billing date. If that redirects, go to Prime Video → Account & Settings (top right) → Channels. - Audible membership:
https://www.audible.com/account/membership-overview— same Amazon login, separate billing page. Shows plan tier, price, next charge date, and credit balance (unused credits are themselves worth flagging — they don't expire immediately but do eventually). - Kindle Unlimited:
https://www.amazon.com/kindle-dbs/subscribe/kindle_unlimitedor via Account → Digital Services and Devices → Kindle Unlimited. - Prime membership itself:
https://www.amazon.com/manageprime— for cases where the user isn't using Prime shipping/video/music benefits and it's worth flagging (this one is more consequential to cancel than a $9 channel add-on, so treat it as report-only unless the user specifically asks about it). - For each subscription found, record: name, monthly/annual price, next billing date, and — if the page shows it — last-used or last-watched date. If usage data isn't visible on the billing page, ask the user directly whether they still use it rather than guessing.
- Build the list only — Iron Law.
Phase 2 — Confirm with the user
Report the findings as a plain list: for fees, item / order # / fee amount / who it shipped to / first-party or third-party; for subscriptions, name / price / billing cadence / next charge date / whether it looks used or forgotten. Ask which ones to pursue and what outcome they want for each (waive a fee, dispute a charge, cancel a subscription, or cancel and ask for the last charge back). Some fees are legitimate (e.g. an opened-item policy the seller disclosed at return time) and some subscriptions may turn out to still be wanted — don't assume every finding is worth acting on, and say so if one looks earned or intentional rather than a mistake.
Phase 3 — Dispute or cancel (one item at a time, only after confirmation)
For fee/refund disputes, drive Amazon's live chat to request a waiver. The exact click-path, a critical popup-window workaround, and the escalation flow to a human associate are documented in references/dispute-chat-flow.md — read that file before starting this phase, since Amazon's chat UI has a specific gotcha (it opens in a popup window Claude in Chrome's tab tracking can't see) that will silently strand the flow if skipped. The same chat flow and associate-facing script apply whether the ask is "waive this restocking fee" or "cancel this channel and refund the last charge" — only the specifics of the ask change.
For subscription cancellations, note the two distinct asks are not equally strong:
- "Cancel this subscription" is unconditional — the user is entitled to cancel anytime, no negotiation needed. This can usually be done directly on the subscription's own settings page (the URLs in Phase 1b) without needing chat at all — try that first, it's faster than a chat dispute.
- "Refund the last charge because I forgot to cancel / wasn't using it" is a goodwill ask, same as a restocking-fee waiver — reasonable to make once, under the truthfulness and single-counter rules in Boundaries.
Two chat mechanics, beyond those Boundaries rules:
- When offered a refund method, default to original payment method unless the user said otherwise.
- Confirm the exact refund amount and stated timeline, or the exact cancellation effective date, before ending the chat.
Phase 4 — Report
After each dispute or cancellation resolves (or if the associate declines), tell the user: amount, refund method, stated ETA or effective date, and associate name if given. If several items were pursued in one session, summarize as a running total across fees, refunds, and subscriptions canceled (report subscription savings as "$X/month going forward" separately from one-time dollars recovered — they're not the same kind of money).
Evidence rules — a promise is not money:
- Quote the associate's confirmation verbatim from the transcript, not paraphrased. No captured confirmation line means no amount is reported.
- Label every unverified amount promised, never "recovered." Only a posted line item counts toward a recovered total.
- Set the readback as a follow-up: the stated ETA is typically 3-5 business days, so it cannot resolve in-session. After that date, reopen the order detail page, expand the Refund Total chevron per Phase 1a step 3, and compare the breakdown against the promised amount. Tell the user the date to check and the number to look for.
- If the readback shows the waiver never posted, reopen it as a new case with the transcript quote as evidence.
Boundaries
- Nothing is disputed, canceled, or sent without the account owner's per-item confirmation; approval for one item never transfers to another. Phases 1a and 1b are read-only.
- On a shared login, flag orders belonging to other people instead of folding them into the batch.
- State only true facts to an associate: order number or subscription name, item, price, fee amount. Never invent a prior contact attempt, a return reason, or a cancellation reason.
- Make a goodwill ask once. Do not push past a single polite counter if declined.
- Never promise recovery, and never report a promised amount as recovered money.
- Price-protection refunds are out of scope and unvalidated — do not attempt one without discussing it with the user first.
Routing
- Subscriptions billed outside Amazon (by the provider, Apple, or Google rather than the Amazon account) -> use
subscription-recovery. - Bank chargebacks, marketplace A-to-z seller claims, and price-protection claims are out of scope for this skill entirely.
Files (suede-creator-skills)
-
agents
-
openai.yaml 508 B
interface: display_name: "Amazon Returns Recovery — Fee, Refund & Subscription Disputes" short_description: "Recover Amazon fees and cancel subscriptions" default_prompt: "Use $amazon-returns-recovery to scan my Amazon order/return history and digital subscriptions for restocking fees, short refunds, and forgotten charges, report what you find, and after I confirm which ones to pursue, drive Amazon's live chat to get them waived, refunded, or canceled." policy: allow_implicit_invocation: true
-
-
references
-
dispute-chat-flow.md 4.9 KB
# Amazon dispute chat — click path and gotchas This is the exact flow validated live: it recovered a $44.99 restocking fee and, separately in the same account, a $28.50 restocking fee. Both went through this same path with a human associate. ## The popup-window gotcha (read this first) Amazon's "Start chatting now" button calls `window.open()` to launch the chat in a genuine new browser window. Claude in Chrome's tab tracking (`tabs_context_mcp`) only sees tabs inside its own tracked tab group — it cannot see or control that popup. Clicking "Start chatting now" without the workaround below will silently open a window you can't drive; you'll be stuck watching the original page do nothing. **Fix — before clicking "Start chatting now" (or "Back to chat"), run this via the JS/console tool on the current page:** ```js window.open = function(){ return window; }; ``` This makes `window.open()` return the current window instead of spawning a real popup, so the chat loads in the same tab you're already tracking. Re-apply this patch every time the page does a full navigation/reload — it doesn't survive a page load, only script execution within the current page. If you forget and land on `about:blank` or a genuinely separate window you can't see, don't try to chase the popup — just navigate back to the hub gateway, re-apply the patch, and click through again. ## Click path to reach live chat 1. `https://www.amazon.com/hz/contact-us/foresight/hubgateway` 2. Scroll to **"Can't find what you're looking for?"** → click **"Payment methods, charges, or gift cards"** 3. Click **"Unknown or incorrect charges"** 4. Click **"I need more help"** 5. Apply the `window.open` patch (see above) 6. Click **"Start chatting now"** If a **"Looks like you already have a chat in progress"** prompt appears (leftover from an earlier session), click **"Start a new chat"** — don't try to resume an old one for a different order. ## Qualifying questions (bot, not yet a human) The bot asks a couple of quick questions before showing an item picker: - "Do you know what the charge was for?" → **Retail order on Amazon.com** - "Do you know the approximate amount of the charge?" → pick the bracket that contains the fee amount (e.g. "Over $25") Then it shows a **Transaction Picker Widget** — a short list of recent charges. If the order in question is recent it may appear directly; tap it and skip ahead to "Escalating to a human." ## If the order isn't in the picker (older order) This is the common case for anything more than ~30 days old — the picker only shows recent charges. 1. Click **"Charge is not listed"** 2. That leads to a fallback menu: *Report unauthorized activity / Closed by mistake / I'm not asking about an item / Start over and rephrase my question*. Click **"I'm not asking about an item"** — the others either lie about the situation or loop back to the same dead end. 3. That opens a general options menu (*Managing my account / Kindle, Fire, or Amazon device / Music, eBooks... / An unknown charge / Suspicious call or email / I want to return a gift / I need more help*). Click **"I need more help."** 4. The bot replies: *"If you need more help on this issue, you can chat with an associate or request a phone call."* Click **"Chat with an associate now."** 5. Confirm **"Yes, wait for an associate"** when the wait-time estimate appears. ## Priming the chat before the human joins Once queued, a free-text box appears: *"If you have details you think would help the associate, type them here."* Type the full case and send it now — it'll be sitting there when the associate joins, which speeds things up a lot: > Hi, order #<order-id>, <item name> ($<price>), sold directly by Amazon.com. The > return was already processed, but a $<fee> restocking fee was deducted. I'd like to > request that this restocking fee be waived and refunded as a courtesy. Thank you! ## Once a human associate joins From this point on it's a real support team, not a bot. 1. They'll usually paste back the item name and ask **"Is this the item?"** — confirm yes. 2. They check the account and typically offer to process the refund "as an exception." Confirm yes. 3. They'll ask refund method: **original payment method** or Amazon gift card. Default to original payment method unless told otherwise. 4. They confirm the exact amount and a timeline (usually 3-5 business days, with a confirmation email once it posts). Record this for the report back to the user. 5. Close out politely — a short thank-you is enough. No need to over-explain why you were asking. ## If the associate declines or asks for more Don't invent facts to strengthen the case (no fabricated prior-contact claims, no embellished return reasons). If they decline outright, report that back to the user honestly rather than escalating with anything untrue — a real waiver ask on a first-party Amazon order is reasonable on its own merits. -
example-cases.md 3.1 KB
# Example cases Real outcomes from this approach, kept here as evidence of what's actually achievable — useful both as calibration (don't undersell what to ask for) and as proof for the origin story. Order numbers are redacted in this public copy; every dollar amount is real. ## Case 1 — Restocking fee waived in full - **Item**: premium electric shaver ($299.96), sold by Amazon.com - **Situation**: return already processed, refund short by a $44.99 restocking fee - **Ask**: waive the fee as a courtesy, first-party listing - **Outcome**: associate approved instantly as a "Prime charge exception" — **$44.99** refunded to original payment method, 3-5 business days ## Case 2 — Restocking fee waived and rounded up - **Item**: electric razor ($189.99), sold by Amazon.com, shipped to a family member on the same account - **Situation**: refund short by a $28.50 restocking fee - **Ask**: same courtesy waiver request - **Outcome**: associate came back with **$30.63** — more than the fee itself, unprompted goodwill rounding ## Case 3 — Denial overturned past the return window, item never returned This one isn't a restocking-fee case — it's the ceiling of what a well-reasoned exception ask can get, and worth knowing about even though it's outside this skill's default scope. - **Item**: flagship electric shaver ($349.94 + $22.75 tax = $372.69), sold by Amazon.com - **Situation**: the account owner had already requested a refund himself about a week earlier — **while still inside the return window** — and been denied. The return window then closed; this chat happened two days after close, so the tool was arguing to overturn an existing denial, not making a fresh first ask. - **Ask**: explained genuine dissatisfaction (skin irritation, gave it a fair multi-week trial before concluding it wasn't going to work), requested a one-time exception - **Negotiation beat**: associate first offered a partial refund ($74.54, 20% of the $372.69 total). Countered that a partial refund on an unusable $350 item wasn't fair, and asked for the full amount with a prepaid return label. - **Outcome**: associate agreed to a full **$372.69** refund and waived the return entirely — no item needed to go back. **Total across all three**: $448.31 recovered from three separate conversations, none of which the account owner would have initiated on their own — the fees weren't noticed, and the Case 3 refund had already been denied once (in-window, no less) and was two days past a window most people would've written off as closed. ## What made these work - Always first-party Amazon.com listings — no marketplace seller to route around. - Stated facts plainly, asked directly for the specific outcome wanted (a number, not "can you help"). - When offered a lowball (Case 3's partial refund), countered once with a concrete reason rather than accepting the first offer — but didn't fabricate anything to strengthen the ask. - Every case ended with a specific dollar amount and refund method confirmed in writing in the chat, not a vague "we'll take care of it."
-
-
CARD.md 4.8 KB
# Skill Card — Amazon Returns Recovery <!-- Generated by scripts/build-skill-cards.mjs — do not hand-edit. --> <!-- Regenerate with: npm run build:cards --> Release record for the `amazon-returns-recovery` skill, following the NVIDIA skill-card template (<https://docs.nvidia.com/skills/skill-cards>). It tells a reviewer what the skill does, who owns it, what it needs, what could go wrong, and what evidence backs the release — without requiring them to open the source first. ## Description Suede-affiliated Amazon money-recovery audit for restocking fees, short or denied refunds, and Amazon-billed subscriptions. Status: production. Ships in the `suede-skills` plugin (the full pack) at release 0.19.0; loads as a Claude Code / Codex agent skill from this directory's [SKILL.md](./SKILL.md). ## Owner Jason Colapietro, Suede Labs AI (<https://github.com/JasonColapietro>). Security contact: `info@suedeai.ai` per [SECURITY.md](../../SECURITY.md). ## License / Terms of Use MIT ([LICENSE](../../LICENSE)). The pack's combined license expression is `MIT AND BSD-3-Clause`; this skill bundles no third-party licensed material of its own. ## Use Case Target users: developers and creators running the skill inside a Claude Code or Codex CLI session. Use when the user mentions a restocking fee, a short or denied Amazon refund, or a forgotten Prime Video Channel, Audible, Kindle Unlimited, or Prime charge, or asks whether Amazon still owes or bills them. Read-only discovery; no chat, cancellation, or dispute without the account owner's per-item confirmation, and never a promise of recovery. Requires an authenticated Claude in Chrome session. Out of scope — bank chargebacks, marketplace A-to-z seller claims, price-protection claims, or subscriptions billed outside Amazon (use subscription-recovery). ## Deployment Geography Global. The skill is a prompt-and-script package that runs locally inside the invoking agent session; it pins no region-specific service of its own. ## Requirements / Dependencies - A Claude Code or Codex CLI session with the `suede-skills` plugin installed (install options: <https://skills.suedeai.ai/>). - Bundled files loaded relative to this directory: `agents/` (1 file), `references/` (2 files). - Credentials: none are bundled or required by the skill files. Any tool or API credentials come from the host session; never paste credentials into skill files, prompts, or outputs. ## Known Risks and Mitigations - Risk: an agent treats a quality gate as autonomous authority. Mitigation: every gate in the pack is advisory — it changes what is reported, never what the user decided; only extreme-risk findings (data loss, credential exposure, legal/rights violations, payment mistakes, irreversible public damage) pause for the user's explicit choice. - Risk: a skill instruction is used to act outside its mandate. Mitigation: the hard limits in the skill body's "Boundaries" section, quoted below. From "Boundaries": - Nothing is disputed, canceled, or sent without the account owner's per-item confirmation; approval for one item never transfers to another. Phases 1a and 1b are read-only. - On a shared login, flag orders belonging to other people instead of folding them into the batch. - State only true facts to an associate: order number or subscription name, item, price, fee amount. Never invent a prior contact attempt, a return reason, or a cancellation reason. - Make a goodwill ask once. Do not push past a single polite counter if declined. - Never promise recovery, and never report a promised amount as recovered money. - Price-protection refunds are out of scope and unvalidated — do not attempt one without discussing it with the user first. ## References - Skill source: [`skills/amazon-returns-recovery/SKILL.md`](./SKILL.md) - Rendered reference page: <https://skills.suedeai.ai/skills/amazon-returns-recovery.html> - Security policy and reviewed scanner exceptions: [SECURITY.md](../../SECURITY.md) and [`.plugin-scanner.toml`](../../.plugin-scanner.toml) at the repo root ## Skill Output Markdown analysis and recommendations returned in the agent's response. The skill publishes, posts, and sends nothing without the user's explicit authorization; delivery decisions stay with the user. ## Skill Version 0.19.0 — the pack is single-versioned, so every skill releases together; see [VERSION](../../VERSION) and [CITATION.cff](../../CITATION.cff) for the release identifier this card describes. ## Ethical Considerations - The skill produces recommendations for a human decision-maker. Publishing, sending, payment, and rights decisions stay with the user. - Its gates require verifiable claims and honest reporting; do not use the skill to fabricate claims, evidence, metrics, or attribution. - Report suspected misuse or a security concern privately per [SECURITY.md](../../SECURITY.md); do not open a public issue for it. -
SKILL.md 10.9 KB
--- name: amazon-returns-recovery description: "Suede-affiliated Amazon money-recovery audit for restocking fees, short or denied refunds, and Amazon-billed subscriptions. Use when the user mentions a restocking fee, a short or denied Amazon refund, or a forgotten Prime Video Channel, Audible, Kindle Unlimited, or Prime charge, or asks whether Amazon still owes or bills them. Read-only discovery; no chat, cancellation, or dispute without the account owner's per-item confirmation, and never a promise of recovery. Requires an authenticated Claude in Chrome session. NOT FOR: bank chargebacks, marketplace A-to-z seller claims, price-protection claims, or subscriptions billed outside Amazon (use subscription-recovery)." metadata: version: 1.0.0 --- # Amazon Returns Recovery **Iron Law:** ``` Nothing is disputed, canceled, or sent without the account owner's per-item confirmation. Discovery is read-only; every action phase is gated. ``` ## Why this exists 1. **Money like this doesn't announce itself.** Restocking fees, short refunds, and forgotten subscription charges sit unannounced in order history unless something checks. 2. **Overturning an already-denied refund after the return window closed is the realistic ceiling of a well-reasoned exception ask** — so ask for more than a waiver when the facts support it. Read [references/example-cases.md](references/example-cases.md) before drafting a dispute: three real resolved cases with the exact wording that worked. ## Prerequisites - Claude in Chrome browser extension connected to the browser, and the user already signed into the target Amazon account. If `mcp__claude-in-chrome__*` tools aren't loaded yet, fetch them via ToolSearch first (see the extension's own MCP instructions for the batch-load query). - This runs against a real account. If the account is shared (family members with separate shipping addresses on the same login), be ready to see orders that aren't the user's — flag those, don't just fold them into the same batch without asking. ## Phase 1a — Order/return discovery (read-only, no side effects) Goal: find every completed return where Amazon deducted a restocking fee, without touching anything. 1. Search order history broadly by category keyword, not just exact terms — Amazon's `your-orders/search` matches loosely, so one keyword (e.g. "razor") surfaces adjacent items (shavers, trimmers) too. Restocking fees concentrate on higher-value electronics/appliances, so prioritize checking those over consumables or clothing. - `https://www.amazon.com/your-orders/search/ref=ppx_yo2ov_dt_b_search?opt=ab&search=<keyword>` - Paginate through all result pages — don't stop at page 1. Older orders (a year+ back) still show up here even though they've long since dropped off `Your Returns`. 2. For faster coverage of *recent* activity, also check `https://www.amazon.com/your-returns` — but note it only shows roughly the last 3 months, so it's a supplement to the search sweep, not a replacement for it. 3. For each order that shows "Return complete" / "Refund Complete" / "Refund issued", open its detail page: `https://www.amazon.com/your-orders/order-details?orderID=<orderID>` Find the **Refund Total** line — it has a small chevron that expands to an itemized breakdown (Item(s) refund / Tax refund / Restocking fee / Refund Total). Click it. Orders with no fee just show item + tax = refund total; orders with a fee show the deduction explicitly. 4. Record every hit: order #, item name, item price, restocking fee amount, who it shipped to, and whether it was sold by Amazon.com directly or a third-party seller (first-party listings are the strongest cases — Amazon's own chat agents can waive those without looping in a marketplace seller). 5. Don't try to make this exhaustive on the first pass if the account has a long history — report what's found so far and note that more may be scattered across older years if the user wants a deeper sweep. **Stop here** — Iron Law. Discovery ends; nothing is opened or disputed yet. ## Phase 1b — Digital subscription audit (read-only, no side effects) **Unvalidated click-path** — the exact URLs below are the best-known entry points as of this writing, not yet confirmed live like the Phase 1a flow. If a URL 404s or redirects somewhere unexpected, navigate from the account menu instead (Amazon moves these pages periodically) and note the working path back into this file once confirmed. Goal: find every recurring digital subscription billed through the Amazon account — Prime Video Channels, Audible, Kindle Unlimited, Prime itself — and flag ones that look forgotten, unused, or worth reconsidering. This is a different shape of "money Amazon is quietly taking" than restocking fees: it's ongoing, not a one-time deduction, so the fix is usually "cancel it" rather than "waive it," with a refund ask reserved for genuinely forgotten charges. 1. **Prime Video Channels** (this is how Britbox, Starz, AMC+, Paramount+, Shudder, MGM+, etc. actually bill — they're not separate Amazon relationships, they're add-on channels on top of Prime Video): `https://www.primevideo.com/settings/channels` — lists every active channel subscription, price, and next billing date. If that redirects, go to Prime Video → Account & Settings (top right) → Channels. 2. **Audible membership**: `https://www.audible.com/account/membership-overview` — same Amazon login, separate billing page. Shows plan tier, price, next charge date, and credit balance (unused credits are themselves worth flagging — they don't expire immediately but do eventually). 3. **Kindle Unlimited**: `https://www.amazon.com/kindle-dbs/subscribe/kindle_unlimited` or via Account → Digital Services and Devices → Kindle Unlimited. 4. **Prime membership itself**: `https://www.amazon.com/manageprime` — for cases where the user isn't using Prime shipping/video/music benefits and it's worth flagging (this one is more consequential to cancel than a $9 channel add-on, so treat it as report-only unless the user specifically asks about it). 5. For each subscription found, record: name, monthly/annual price, next billing date, and — if the page shows it — last-used or last-watched date. If usage data isn't visible on the billing page, ask the user directly whether they still use it rather than guessing. 6. Build the list only — Iron Law. ## Phase 2 — Confirm with the user Report the findings as a plain list: for fees, item / order # / fee amount / who it shipped to / first-party or third-party; for subscriptions, name / price / billing cadence / next charge date / whether it looks used or forgotten. Ask which ones to pursue and what outcome they want for each (waive a fee, dispute a charge, cancel a subscription, or cancel *and* ask for the last charge back). Some fees are legitimate (e.g. an opened-item policy the seller disclosed at return time) and some subscriptions may turn out to still be wanted — don't assume every finding is worth acting on, and say so if one looks earned or intentional rather than a mistake. ## Phase 3 — Dispute or cancel (one item at a time, only after confirmation) For fee/refund disputes, drive Amazon's live chat to request a waiver. The exact click-path, a critical popup-window workaround, and the escalation flow to a human associate are documented in [references/dispute-chat-flow.md](references/dispute-chat-flow.md) — read that file before starting this phase, since Amazon's chat UI has a specific gotcha (it opens in a popup window Claude in Chrome's tab tracking can't see) that will silently strand the flow if skipped. The same chat flow and associate-facing script apply whether the ask is "waive this restocking fee" or "cancel this channel and refund the last charge" — only the specifics of the ask change. For subscription cancellations, note the two distinct asks are not equally strong: - **"Cancel this subscription"** is unconditional — the user is entitled to cancel anytime, no negotiation needed. This can usually be done directly on the subscription's own settings page (the URLs in Phase 1b) without needing chat at all — try that first, it's faster than a chat dispute. - **"Refund the last charge because I forgot to cancel / wasn't using it"** is a goodwill ask, same as a restocking-fee waiver — reasonable to make once, under the truthfulness and single-counter rules in Boundaries. Two chat mechanics, beyond those Boundaries rules: - When offered a refund method, default to original payment method unless the user said otherwise. - Confirm the exact refund amount and stated timeline, or the exact cancellation effective date, before ending the chat. ## Phase 4 — Report After each dispute or cancellation resolves (or if the associate declines), tell the user: amount, refund method, stated ETA or effective date, and associate name if given. If several items were pursued in one session, summarize as a running total across fees, refunds, and subscriptions canceled (report subscription savings as "$X/month going forward" separately from one-time dollars recovered — they're not the same kind of money). **Evidence rules — a promise is not money:** - Quote the associate's confirmation **verbatim from the transcript**, not paraphrased. No captured confirmation line means no amount is reported. - Label every unverified amount **promised**, never "recovered." Only a posted line item counts toward a recovered total. - Set the readback as a follow-up: the stated ETA is typically 3-5 business days, so it cannot resolve in-session. After that date, reopen the order detail page, expand the **Refund Total** chevron per Phase 1a step 3, and compare the breakdown against the promised amount. Tell the user the date to check and the number to look for. - If the readback shows the waiver never posted, reopen it as a new case with the transcript quote as evidence. ## Boundaries - Nothing is disputed, canceled, or sent without the account owner's per-item confirmation; approval for one item never transfers to another. Phases 1a and 1b are read-only. - On a shared login, flag orders belonging to other people instead of folding them into the batch. - State only true facts to an associate: order number or subscription name, item, price, fee amount. Never invent a prior contact attempt, a return reason, or a cancellation reason. - Make a goodwill ask once. Do not push past a single polite counter if declined. - Never promise recovery, and never report a promised amount as recovered money. - Price-protection refunds are out of scope and unvalidated — do not attempt one without discussing it with the user first. ## Routing - Subscriptions billed outside Amazon (by the provider, Apple, or Google rather than the Amazon account) -> use `subscription-recovery`. - Bank chargebacks, marketplace A-to-z seller claims, and price-protection claims are out of scope for this skill entirely.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.