@agenticmail/core 0.9.32 → 0.9.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/index.d.cts +1 -1
  2. package/dist/index.d.ts +1 -1
  3. package/dist/skills/built-in/accommodation-intake.json +132 -0
  4. package/dist/skills/built-in/add-driver-vehicle-household.json +133 -0
  5. package/dist/skills/built-in/admissions-waitlist-followup.json +129 -0
  6. package/dist/skills/built-in/anchor-and-counter-anchor.json +161 -0
  7. package/dist/skills/built-in/anti-social-engineering.json +153 -0
  8. package/dist/skills/built-in/anything-else-sweep.json +120 -0
  9. package/dist/skills/built-in/apologise-correctly.json +126 -0
  10. package/dist/skills/built-in/ask-for-in-person-meeting.json +114 -0
  11. package/dist/skills/built-in/attorney-new-client-intake.json +133 -0
  12. package/dist/skills/built-in/bant-discovery-call.json +125 -0
  13. package/dist/skills/built-in/book-new-patient-appointment.json +131 -0
  14. package/dist/skills/built-in/bookmark-close.json +113 -0
  15. package/dist/skills/built-in/bypass-i-am-the-supervisor.json +130 -0
  16. package/dist/skills/built-in/bypass-scripted-rep.json +142 -0
  17. package/dist/skills/built-in/calibrated-questions.json +155 -0
  18. package/dist/skills/built-in/call-911-fire.json +118 -0
  19. package/dist/skills/built-in/call-911-medical-emergency.json +126 -0
  20. package/dist/skills/built-in/call-911-violent-crime-in-progress.json +133 -0
  21. package/dist/skills/built-in/call-988-crisis-line.json +106 -0
  22. package/dist/skills/built-in/call-poison-control.json +115 -0
  23. package/dist/skills/built-in/call-police-non-emergency.json +114 -0
  24. package/dist/skills/built-in/call-with-person-in-distress.json +133 -0
  25. package/dist/skills/built-in/cancel-cable-fiber-no-retention-loop.json +156 -0
  26. package/dist/skills/built-in/cancel-policy-clean.json +130 -0
  27. package/dist/skills/built-in/capture-rep-identity.json +113 -0
  28. package/dist/skills/built-in/childcare-provider-intake.json +157 -0
  29. package/dist/skills/built-in/close-account-no-residual-fees.json +127 -0
  30. package/dist/skills/built-in/close-on-concrete-next-step.json +116 -0
  31. package/dist/skills/built-in/confirm-agreement-readback.json +134 -0
  32. package/dist/skills/built-in/confirm-next-step-ownership.json +113 -0
  33. package/dist/skills/built-in/contractor-estimate-request.json +142 -0
  34. package/dist/skills/built-in/court-clerk-administrative-inquiry.json +119 -0
  35. package/dist/skills/built-in/cpa-intake-call.json +134 -0
  36. package/dist/skills/built-in/day-of-flight-cancellation.json +127 -0
  37. package/dist/skills/built-in/de-escalate-angry-rep.json +114 -0
  38. package/dist/skills/built-in/decline-unsolicited-pitch.json +110 -0
  39. package/dist/skills/built-in/deliver-difficult-news.json +122 -0
  40. package/dist/skills/built-in/detect-fake-escalation-loops.json +140 -0
  41. package/dist/skills/built-in/detect-lies-and-contradictions.json +139 -0
  42. package/dist/skills/built-in/dispute-billing-code-eob.json +147 -0
  43. package/dist/skills/built-in/dispute-charge-reg-e-reg-z.json +131 -0
  44. package/dist/skills/built-in/dispute-credit-report-via-bank.json +128 -0
  45. package/dist/skills/built-in/dispute-denied-claim.json +143 -0
  46. package/dist/skills/built-in/dispute-security-deposit.json +130 -0
  47. package/dist/skills/built-in/dispute-usage-spike-meter-reread.json +120 -0
  48. package/dist/skills/built-in/dmv-vehicle-registration-renewal.json +120 -0
  49. package/dist/skills/built-in/document-call-promises.json +145 -0
  50. package/dist/skills/built-in/early-lease-termination.json +126 -0
  51. package/dist/skills/built-in/elite-line-escalation.json +107 -0
  52. package/dist/skills/built-in/equipment-swap-cable-router-modem.json +126 -0
  53. package/dist/skills/built-in/eu261-uk261-dot-compensation.json +113 -0
  54. package/dist/skills/built-in/file-fnol-auto-claim.json +130 -0
  55. package/dist/skills/built-in/file-habitability-complaint.json +115 -0
  56. package/dist/skills/built-in/financial-aid-appeal.json +128 -0
  57. package/dist/skills/built-in/follow-up-stalled-claim.json +118 -0
  58. package/dist/skills/built-in/get-past-gatekeeper.json +115 -0
  59. package/dist/skills/built-in/get-past-tier-1-script.json +130 -0
  60. package/dist/skills/built-in/handle-callback-stall.json +120 -0
  61. package/dist/skills/built-in/handle-outsourced-no-escalation.json +138 -0
  62. package/dist/skills/built-in/handle-send-me-an-email-deflection.json +112 -0
  63. package/dist/skills/built-in/handle-time-pressure.json +159 -0
  64. package/dist/skills/built-in/health-prior-auth-appeal.json +131 -0
  65. package/dist/skills/built-in/hoa-dispute.json +123 -0
  66. package/dist/skills/built-in/hold-time-strategy.json +137 -0
  67. package/dist/skills/built-in/hold-warmth-cold-rep.json +114 -0
  68. package/dist/skills/built-in/hotel-walk-over-recovery.json +114 -0
  69. package/dist/skills/built-in/humour-when-it-lands.json +127 -0
  70. package/dist/skills/built-in/i20-visa-dso.json +134 -0
  71. package/dist/skills/built-in/invoke-regulator-firmly.json +137 -0
  72. package/dist/skills/built-in/irrops-waiver-awareness.json +103 -0
  73. package/dist/skills/built-in/irs-payment-plan-setup.json +134 -0
  74. package/dist/skills/built-in/k12-iep-504-enrollment.json +134 -0
  75. package/dist/skills/built-in/late-add-petition.json +128 -0
  76. package/dist/skills/built-in/leave-of-absence-deferral.json +130 -0
  77. package/dist/skills/built-in/lock-in-terms-verbally.json +127 -0
  78. package/dist/skills/built-in/match-energy-keep-goal.json +120 -0
  79. package/dist/skills/built-in/medical-records-transfer.json +138 -0
  80. package/dist/skills/built-in/medical-withdrawal.json +131 -0
  81. package/dist/skills/built-in/mid-call-evidence-collection.json +159 -0
  82. package/dist/skills/built-in/mirror-technique.json +145 -0
  83. package/dist/skills/built-in/missed-connection-distressed-passenger.json +111 -0
  84. package/dist/skills/built-in/mortgage-loan-hardship.json +130 -0
  85. package/dist/skills/built-in/move-out-walkthrough.json +114 -0
  86. package/dist/skills/built-in/multi-channel-escalation.json +141 -0
  87. package/dist/skills/built-in/multi-issue-tradeoffs.json +155 -0
  88. package/dist/skills/built-in/negotiate-rent-renewal.json +123 -0
  89. package/dist/skills/built-in/no-as-opening.json +154 -0
  90. package/dist/skills/built-in/not-sound-like-spam-dialer.json +118 -0
  91. package/dist/skills/built-in/outage-credit-applied.json +127 -0
  92. package/dist/skills/built-in/passport-expedite-or-appointment.json +123 -0
  93. package/dist/skills/built-in/pediatric-school-forms.json +141 -0
  94. package/dist/skills/built-in/personal-trainer-discovery.json +138 -0
  95. package/dist/skills/built-in/pharmacy-callback.json +134 -0
  96. package/dist/skills/built-in/pivot-mid-call.json +141 -0
  97. package/dist/skills/built-in/port-mobile-number-survive-retention.json +127 -0
  98. package/dist/skills/built-in/prescription-refill-followup.json +132 -0
  99. package/dist/skills/built-in/push-past-invented-policy.json +159 -0
  100. package/dist/skills/built-in/rapport-opening-30-seconds.json +130 -0
  101. package/dist/skills/built-in/reach-executive-office.json +137 -0
  102. package/dist/skills/built-in/read-vocal-cues.json +139 -0
  103. package/dist/skills/built-in/read-vocal-tone.json +159 -0
  104. package/dist/skills/built-in/realestate-agent-vetting.json +144 -0
  105. package/dist/skills/built-in/receive-difficult-news.json +115 -0
  106. package/dist/skills/built-in/recording-claim-conversation-legally.json +121 -0
  107. package/dist/skills/built-in/recover-summary-refusal.json +121 -0
  108. package/dist/skills/built-in/reengage-ghosted-lead.json +115 -0
  109. package/dist/skills/built-in/referral-followup-without-burning.json +116 -0
  110. package/dist/skills/built-in/referral-prior-authorization.json +130 -0
  111. package/dist/skills/built-in/refuse-the-split.json +142 -0
  112. package/dist/skills/built-in/refuse-upsell-at-close.json +114 -0
  113. package/dist/skills/built-in/rental-car-counter-defense.json +116 -0
  114. package/dist/skills/built-in/rental-scam-report.json +125 -0
  115. package/dist/skills/built-in/replace-lost-stolen-card-expedited.json +139 -0
  116. package/dist/skills/built-in/report-downed-line-gas-smell-911-triage.json +130 -0
  117. package/dist/skills/built-in/report-elder-or-child-abuse.json +117 -0
  118. package/dist/skills/built-in/report-fbi-tip.json +109 -0
  119. package/dist/skills/built-in/report-fraud-ic3-or-ftc.json +117 -0
  120. package/dist/skills/built-in/report-fraudulent-transaction.json +126 -0
  121. package/dist/skills/built-in/report-power-outage-get-etr.json +116 -0
  122. package/dist/skills/built-in/report-urgent-maintenance.json +123 -0
  123. package/dist/skills/built-in/request-credit-limit-increase.json +126 -0
  124. package/dist/skills/built-in/request-supervisor-gracefully.json +129 -0
  125. package/dist/skills/built-in/request-welfare-check.json +127 -0
  126. package/dist/skills/built-in/request-written-confirmation.json +113 -0
  127. package/dist/skills/built-in/reschedule-appointment.json +121 -0
  128. package/dist/skills/built-in/reset-by-callback.json +143 -0
  129. package/dist/skills/built-in/resist-urgency-manipulation.json +152 -0
  130. package/dist/skills/built-in/revisit-totaling-decision.json +125 -0
  131. package/dist/skills/built-in/roadside-assistance-dispatch.json +132 -0
  132. package/dist/skills/built-in/roommate-replacement.json +121 -0
  133. package/dist/skills/built-in/same-day-urgent-appointment.json +130 -0
  134. package/dist/skills/built-in/schedule-rental-viewing.json +111 -0
  135. package/dist/skills/built-in/service-move-shutoff-start-no-overlap.json +129 -0
  136. package/dist/skills/built-in/social-security-replacement-card.json +122 -0
  137. package/dist/skills/built-in/specialist-doctor-booking.json +136 -0
  138. package/dist/skills/built-in/spot-bait-and-switch.json +155 -0
  139. package/dist/skills/built-in/stop-recurring-ach.json +127 -0
  140. package/dist/skills/built-in/switch-postpaid-to-prepaid-mid-cycle.json +130 -0
  141. package/dist/skills/built-in/tactical-empathy-labeling.json +147 -0
  142. package/dist/skills/built-in/therapist-intake-call.json +133 -0
  143. package/dist/skills/built-in/train-cancellation-refund-rebook.json +104 -0
  144. package/dist/skills/built-in/transcript-request.json +128 -0
  145. package/dist/skills/built-in/travel-insurance-claim-on-the-road.json +114 -0
  146. package/dist/skills/built-in/travel-notice-unlock-card.json +119 -0
  147. package/dist/skills/built-in/unemployment-claim-status-and-appeal.json +123 -0
  148. package/dist/skills/built-in/uscis-case-status-and-biometrics.json +125 -0
  149. package/dist/skills/built-in/utility-deposit-waiver.json +122 -0
  150. package/dist/skills/built-in/utility-payment-plan-avoid-disconnect.json +122 -0
  151. package/dist/skills/built-in/verify-insurance-coverage-pre-procedure.json +140 -0
  152. package/dist/skills/built-in/verify-out-of-network-coverage.json +129 -0
  153. package/dist/skills/built-in/veteran-benefits-community-college.json +134 -0
  154. package/dist/skills/built-in/veterinary-new-patient-intake.json +135 -0
  155. package/dist/skills/built-in/visa-boarding-denial-recovery.json +115 -0
  156. package/dist/skills/built-in/vital-records-certificate-copy.json +120 -0
  157. package/dist/skills/built-in/voicemail-that-gets-called-back.json +114 -0
  158. package/dist/skills/built-in/voter-registration-and-ballot.json +124 -0
  159. package/dist/skills/built-in/walkaway-threats.json +159 -0
  160. package/dist/skills/built-in/wedding-vendor-intake.json +149 -0
  161. package/dist/skills/built-in/when-to-stop-being-polite.json +161 -0
  162. package/dist/skills/built-in/wire-funds-safely.json +129 -0
  163. package/package.json +1 -1
@@ -0,0 +1,145 @@
1
+ {
2
+ "id": "document-call-promises",
3
+ "name": "Document the Call So the Next Rep Can't Deny What Was Promised",
4
+ "version": "1.0.0",
5
+ "category": "customer-service",
6
+ "tags": [
7
+ "documentation",
8
+ "phone-call",
9
+ "paper-trail",
10
+ "promises",
11
+ "evidence",
12
+ "follow-up",
13
+ "customer-support"
14
+ ],
15
+ "description": "Build an evidence trail during and immediately after a support call — names, IDs, case numbers, exact wording of commitments, and contemporaneous notes — so a future rep can't say 'no record of that' or 'we never agreed to that'. This skill is foundational; every other escalator skill is multiplied by it.",
16
+ "disclaimer": "Recording laws vary by state. In one-party-consent states (most of US), you can record without disclosing. In all-party-consent states (CA, FL, IL, MA, MD, NH, PA, WA, etc.), you must inform the rep — and most call-center reps will then say 'we can't be recorded' and hang up, so consider their disclosure 'this call may be recorded' as also covering your end and rely on contemporaneous notes instead. Verify your jurisdiction before recording.",
17
+ "context": {
18
+ "when_to_use": "Every customer-service call, but especially: any call where a commitment is made (credit, refund, service restore, callback), any call about an ongoing issue you'll need to reference later, any call after a previous rep made promises you want to lock down.",
19
+ "preconditions": [
20
+ "User has note-taking method ready BEFORE the call: paper + pen, text editor, voice memo, or recording app where legal.",
21
+ "User has a consistent location to store call notes (folder, doc, notes app) — disorganized notes are nearly as bad as no notes.",
22
+ "User has a few minutes available immediately after the call to consolidate notes while memory is fresh."
23
+ ],
24
+ "estimated_call_duration_minutes": 5
25
+ },
26
+ "principles": [
27
+ "Memory degrades fast — names you heard 20 minutes ago feel solid until you go to write them down and realize you have 'Susan or Sarah, S-something'. Capture in REAL TIME, not after.",
28
+ "What to capture, every call: date + time started, rep name + employee ID, the queue/department, case or ticket number, the exact problem stated, the EXACT WORDING of any commitment ('we will refund $X by [date]' is dramatically different from 'we'll try to refund some of that soon'), and the time the call ended.",
29
+ "Reps rarely lie outright, but they paraphrase generously. 'We'll see what we can do' becomes 'I was told I'd get a refund' in customer memory. Capturing exact wording protects you from that drift AND protects you from the next rep claiming 'no one would have said that'.",
30
+ "Decision point — when a rep makes a verbal commitment, STOP and ask them to repeat it. 'I want to make sure I have this right — can you say back exactly what we just agreed to?' Reps often soften the commitment on the readback ('well, we'll try to get the refund processed within 5-7 business days, though it could be longer'). Better to hear the real version now than to discover it next call.",
31
+ "Get commitments in writing whenever possible. 'Could you email me a summary of what we agreed to?' is a perfectly reasonable ask — and many reps can do it. A written commitment is 10x stronger than a verbal one.",
32
+ "Case numbers are the universal currency. They survive across reps, queues, and channels. Always ask. Always write down. Always read back. Always reference next time.",
33
+ "Recording is sometimes legal, sometimes not, often gray. Notes are ALWAYS legal everywhere. Default to thorough notes; recording is a bonus where allowed, not a substitute for notes anywhere."
34
+ ],
35
+ "phrases": {
36
+ "name_id_capture": "Could you spell your first name for me, and what's your employee ID or extension? I'm taking notes so I can credit you if this works out.",
37
+ "case_number_request": "Have you opened a case or ticket for this? Could you read me the number, and read back the first line of what's noted?",
38
+ "the_readback_request": "I want to make sure I'm capturing this correctly. Could you read back exactly what we've agreed to, including any specific amounts and dates?",
39
+ "ask_for_written_confirmation": "Could you email me a summary of what we just agreed to? Even a few lines is fine — I just want to have it in writing for both our records.",
40
+ "lock_the_commitment": "Just to confirm: [exact restatement of commitment, including amount, action, and date]. Is that accurate?",
41
+ "promise_to_followup_yourself": "If I don't see [committed action] by [date], may I call back and reference this case number and your name? I want to make sure the path is clear for next time.",
42
+ "end_of_call_summary": "Before we hang up, let me read back what I have: [name + ID], [department], [case #], [problem], [commitment], [date]. Anything I have wrong?",
43
+ "after_call_email_template": "Subject: Confirming our call today — case [#]\n\nHi — following up on our phone call today at [time]. To confirm what we agreed:\n\n • Issue: [one line]\n • Rep: [name + ID]\n • Case: [#]\n • Commitment: [exact words]\n • Expected by: [date]\n\nPlease reply to confirm this is accurate. If anything is off, let me know so we can correct it. Thanks for your help today."
44
+ },
45
+ "tactics": [
46
+ {
47
+ "name": "Set up your note-taking before dialing",
48
+ "when": "Before the call.",
49
+ "script": "Open a doc or notebook. Pre-fill: date, company, phone number called, the problem in one sentence, what outcome you want. Now you have a scaffold. Don't start a call without one.",
50
+ "priority": 1
51
+ },
52
+ {
53
+ "name": "Capture name + ID in the first minute",
54
+ "when": "Right after the rep introduces themselves.",
55
+ "script": "Use `name_id_capture` if they didn't spell it. Get the ID even if they only volunteered the name. Reps occasionally refuse IDs — note the refusal, that's also data.",
56
+ "priority": 2,
57
+ "decision_point": "If the rep refuses to give an employee ID after a polite ask — that's a YELLOW FLAG. Either (a) note it and proceed but be ready to escalate, or (b) immediately ask for a supervisor; refusing identification on a recorded call is unusual."
58
+ },
59
+ {
60
+ "name": "Get a case number opened — explicitly",
61
+ "when": "Within the first 2-3 minutes once you've stated the issue.",
62
+ "script": "Use `case_number_request`. If they say 'we don't open a case for this kind of inquiry', push back: 'I'd still appreciate one — even just for my records and follow-up.' Most CRMs let reps open a case in 30 seconds; they just don't volunteer it.",
63
+ "priority": 3
64
+ },
65
+ {
66
+ "name": "Catch commitments in flight",
67
+ "when": "Rep says anything that sounds like a promise.",
68
+ "script": "STOP and use `the_readback_request`. Even 'I'll get that looked into' deserves a clarifying readback: 'When you say looked into — what specifically will happen, by when?' Pin it down while you're both on the line.",
69
+ "priority": 4,
70
+ "decision_point": "If the rep softens the commitment on readback (a real refund becomes 'we'll review it'), you now know the real commitment. Don't be upset — be glad you caught the gap before you hung up. Either accept the real version or push for a firmer one."
71
+ },
72
+ {
73
+ "name": "Lock the commitment by repeating it back",
74
+ "when": "Commitment finalized.",
75
+ "script": "Use `lock_the_commitment`. Your version, their confirmation. Now it's locked in the recording — if the next rep claims 'no one would have agreed to that', you have the readback to reference.",
76
+ "priority": 5
77
+ },
78
+ {
79
+ "name": "Ask for written confirmation",
80
+ "when": "Any non-trivial commitment.",
81
+ "script": "Use `ask_for_written_confirmation`. Some reps will do it; some can't. Don't fight if they can't — but always ask. A 'yes' is worth more than 30 minutes of negotiation.",
82
+ "priority": 6
83
+ },
84
+ {
85
+ "name": "End-of-call summary",
86
+ "when": "Before ending the call.",
87
+ "script": "Use `end_of_call_summary`. This is the most important sixty seconds of the call. Read back everything you have. Lets you catch errors before you hang up — and signals to the rep that you're documenting.",
88
+ "priority": 7
89
+ },
90
+ {
91
+ "name": "Send the confirmation email within 1 hour",
92
+ "when": "Immediately after the call.",
93
+ "script": "Use `after_call_email_template`. Send to the company's published support address, your own personal address (creates a sent-record), and if you have it, the rep's queue-specific address. Even if the company doesn't reply to confirm, the SEND is your contemporaneous record.",
94
+ "priority": 8,
95
+ "decision_point": "If the company replies to the confirmation email contradicting your version of events — you have a problem to flag NOW, not on the day the commitment is supposed to execute. Reply within 24h asking them to reconcile."
96
+ },
97
+ {
98
+ "name": "Store and index the notes",
99
+ "when": "Same day as the call.",
100
+ "script": "Move your notes to a single, searchable location with a consistent naming pattern: [Date]_[Company]_[Case#]_[OneLineProblem]. Six months from now, when you need to reference 'that call with Verizon last March', you'll find it in 10 seconds.",
101
+ "priority": 9
102
+ }
103
+ ],
104
+ "boundaries": [
105
+ "Do NOT record calls in jurisdictions that require all-party consent without informing the rep — it's illegal AND the recording is inadmissible.",
106
+ "Do NOT fabricate quotes when reconstructing notes after the fact. Note what you remember in your own words and clearly label any verbatim quotes.",
107
+ "Do NOT use the notes to publicly shame individual reps. Use them for escalation, regulator complaints, and your own records.",
108
+ "Do NOT lie about having a recording when you don't ('we have you on tape saying X'). Reps and supervisors will request the recording; you'll be caught.",
109
+ "Do NOT share confirmation emails or call notes publicly when they contain other parties' employee IDs or personal info.",
110
+ "Do NOT skip note-taking on 'easy' calls — half the time the easy call turns out to be relevant six weeks later when something goes wrong. Notes are cheap insurance."
111
+ ],
112
+ "success_signals": [
113
+ "Rep voluntarily gives name + ID + case number without being asked.",
114
+ "Rep agrees to a written summary email.",
115
+ "Rep's readback of the commitment matches your understanding.",
116
+ "Confirmation email gets a 'yes, confirmed' reply within 24h.",
117
+ "Next call: you reference the case number and the new rep pulls up complete notes matching your records."
118
+ ],
119
+ "failure_signals": [
120
+ "Rep refuses to give employee ID.",
121
+ "Rep refuses to read back the commitment.",
122
+ "Rep refuses to send a written summary AND claims the company 'doesn't do that' (often false — they do, the rep just doesn't want to).",
123
+ "Confirmation email is met with silence or auto-reply only.",
124
+ "Next call: case number doesn't exist in the system, OR exists but notes contradict your version of the commitment."
125
+ ],
126
+ "exit_strategy": {
127
+ "on_success": "File the notes + the confirmation email + any reply in your call-log folder. Set a calendar alert for the commitment date. On that date, verify execution. If executed — close. If not — call back, citing your full documentation.",
128
+ "on_failure": "If the rep refused to identify themselves OR refused to read back a commitment, treat the call as if NO commitment was made — and either re-engage at a higher tier (`request-supervisor-gracefully`, `bypass-i-am-the-supervisor`) or pivot channels (`multi-channel-escalation`).",
129
+ "follow_ups": [
130
+ "On the commitment date: check whether it executed. If yes — close out. If no — call back same day with full documentation.",
131
+ "If a commitment fails to execute, the documentation becomes the spine of a regulator complaint or executive escalation. Make it count.",
132
+ "Periodically (quarterly) prune your call-log of resolved issues to keep active files manageable.",
133
+ "If a company pattern emerges (multiple commitments not honored), the documentation supports a BBB / state-AG complaint of pattern-of-unfulfilled-promises — much stronger than any single case."
134
+ ]
135
+ },
136
+ "required_user_info": [
137
+ "Note-taking medium ready (doc, paper, notes app)",
138
+ "Knowledge of recording laws in user's jurisdiction",
139
+ "User's email address for confirmation",
140
+ "Account identifier",
141
+ "A consistent file location / naming convention for storing call records"
142
+ ],
143
+ "contributed_by": "support-escalator agent (v0.9.87 community drop)",
144
+ "updated_at": "2026-05-20T06:10:28Z"
145
+ }
@@ -0,0 +1,126 @@
1
+ {
2
+ "id": "early-lease-termination",
3
+ "name": "Negotiate Early Lease Termination Without Penalty",
4
+ "version": "1.0.1",
5
+ "category": "real-estate",
6
+ "tags": [
7
+ "lease-break",
8
+ "early-termination",
9
+ "military",
10
+ "relocation",
11
+ "domestic-violence",
12
+ "habitability",
13
+ "phone-call",
14
+ "housing-tenancy"
15
+ ],
16
+ "description": "Call the landlord or property manager to negotiate an early lease termination using one of the statutory protections (military SCRA, domestic-violence, habitability) or, where no statute applies, to negotiate a buy-out — while preserving the tenant's legal posture and avoiding a deficiency judgment.",
17
+ "disclaimer": "Not legal advice. Habitability + early-termination skills are scripted to PRESERVE legal posture (request things in writing, refuse verbal-only assurances) — but the operator must consult a tenant attorney for actual rights determination. Statutory protections vary by jurisdiction.",
18
+ "context": {
19
+ "when_to_use": "User needs to break a lease before the end date. Best outcomes come from one of: (a) Servicemembers Civil Relief Act (SCRA) protections for military PCS / deployment, (b) state statutes for domestic violence or stalking, (c) habitability-based constructive eviction after documented failures, (d) job-relocation clauses already in the lease, or (e) negotiated buy-out where no statute applies. Each path has different evidence and notice requirements.",
20
+ "preconditions": [
21
+ "User has the lease and has identified any early-termination clauses.",
22
+ "User has identified which path applies (military, DV, habitability, relocation clause, plain buy-out).",
23
+ "User has gathered the supporting documentation appropriate to the path (PCS orders, protective order, habitability complaint case number, relocation letter).",
24
+ "User has a desired move-out date and a realistic flexibility window.",
25
+ "User understands that landlords can pursue a deficiency judgment for unpaid rent through the lease end date if the lease is broken without a protected path."
26
+ ],
27
+ "estimated_call_duration_minutes": 22
28
+ },
29
+ "principles": [
30
+ "Lead with the path, not the apology. If you have an SCRA-qualifying order or a habitability case number, name it early — the conversation shifts immediately.",
31
+ "Statutory paths are not negotiations — they're notices. The landlord can verify, but cannot legally refuse.",
32
+ "For non-statutory paths, frame the buy-out as the landlord's best alternative: market re-let cost, vacancy time, and turnover all factor in. A 1–2 month buy-out is often cheaper than a 4-month vacancy + listing fees.",
33
+ "Mitigation matters. In most jurisdictions, the landlord has a legal DUTY TO MITIGATE — they must try to re-rent the unit rather than just collect rent from the breaking tenant. Mention this if the landlord refuses to re-list.",
34
+ "Get the termination agreement in writing BEFORE moving out. A signed mutual-release is the document that prevents a deficiency claim from showing up months later.",
35
+ "NEVER accept a verbal-only release. Move-out without a signed release is the most common path to a surprise judgment 6–12 months later."
36
+ ],
37
+ "phrases": {
38
+ "opener_military": "Hi, I'm a tenant at [unit, address] and I'm calling to give notice under the Servicemembers Civil Relief Act. I've received [PCS / deployment / activation] orders effective [date]. I'll be sending you a copy of the orders and a written notice. The termination is effective 30 days after the next rent due date.",
39
+ "opener_dv": "Hi, I'm a tenant at [unit, address] and I need to terminate my lease early under [state] domestic-violence / stalking statute. I have [protective order / police report] documenting the qualifying circumstance. I'll send written notice and the supporting documents.",
40
+ "opener_habitability": "Hi, I'm calling about [unit, address]. Given the [habitability issues — case number / inspector report / repeated failure to repair], I'm exercising my right to terminate due to constructive eviction. I want to discuss how we wrap this up cleanly.",
41
+ "opener_relocation_clause": "Hi, I'm a tenant at [unit, address]. My lease includes a job-relocation clause — I've received an offer letter from [employer] requiring relocation to [city] by [date]. I'd like to invoke that clause.",
42
+ "opener_buyout": "Hi, I'm a tenant at [unit, address]. I need to move out before my lease ends, and I want to talk about a fair buy-out — no statute applies, I just need to leave. What does that look like?",
43
+ "ask_about_re_let_process": "How quickly can you re-list the unit? Your duty to mitigate means you'd be looking for a replacement tenant anyway — I'd rather we treat any month it's re-rented as ending my obligation.",
44
+ "propose_buyout": "I'm willing to pay [1–2 months] of rent as a clean buy-out, forfeit the deposit if needed, and help market the unit. In exchange I'd want a written mutual release effective [move-out date]. Does that work?",
45
+ "ask_for_mutual_release": "Before I move anything out, I need a signed mutual release stating that the lease is terminated effective [date], my deposit treatment is [terms], and neither party has further obligations. Can you send that for review?",
46
+ "decline_holdback": "I can't agree to leave the deposit as an open balance against future charges. The release needs to be final — full and final settlement.",
47
+ "graceful_close_resolved": "Thank you. To confirm: lease terminates [date], buy-out [amount] paid by [date], mutual release signed before move-out. I'll watch for the document.",
48
+ "graceful_close_unresolved": "Okay, sounds like we're stuck for today. I'm going to send you written notice and the supporting documentation by certified mail and email — that starts the clock on my end. Let's keep talking."
49
+ },
50
+ "tactics": [
51
+ {
52
+ "name": "Identify the path and lead with it",
53
+ "when": "First substantive turn.",
54
+ "script": "Use the matching opener. The path determines whether this is a notice (SCRA, DV, habitability, relocation clause) or a negotiation (buy-out). Mixing them weakens both.",
55
+ "priority": 1
56
+ },
57
+ {
58
+ "name": "Send written notice + documentation as the parallel act",
59
+ "when": "Always, regardless of how the call goes.",
60
+ "script": "Statutory paths require written notice. Have the operator send certified mail + email with the supporting docs the same day. Without written notice, no statute starts the clock.",
61
+ "priority": 2
62
+ },
63
+ {
64
+ "name": "Invoke the duty to mitigate",
65
+ "when": "Landlord threatens to hold you to the full lease term.",
66
+ "script": "Use `ask_about_re_let_process`. Most jurisdictions require the landlord to try to re-rent — your liability ends when they do (or when they reasonably could have).",
67
+ "priority": 3
68
+ },
69
+ {
70
+ "name": "Propose a specific, concrete buy-out",
71
+ "when": "No statute applies and the user just needs out.",
72
+ "script": "Use `propose_buyout`. Anchor with 1–2 months + deposit. Most landlords accept 2 months because re-letting takes about that long anyway.",
73
+ "priority": 4
74
+ },
75
+ {
76
+ "name": "Insist on mutual release",
77
+ "when": "Any termination deal — statutory OR negotiated.",
78
+ "script": "Use `ask_for_mutual_release`. This is the single document that prevents a 'you still owe us $X' letter from arriving 6 months later. Do NOT move out without it.",
79
+ "priority": 5
80
+ },
81
+ {
82
+ "name": "Refuse open-ended deposit holdback",
83
+ "when": "Landlord wants to keep the deposit as 'security against future charges.'",
84
+ "script": "Use `decline_holdback`. A release that doesn't settle the deposit isn't a release — it's a deferral. Hold for written terms.",
85
+ "priority": 6
86
+ }
87
+ ],
88
+ "boundaries": [
89
+ "Do NOT move out before the signed mutual release is in hand if any money is in dispute.",
90
+ "Do NOT use a statutory path you don't actually qualify for — falsifying SCRA or DV claims is a crime and destroys credibility.",
91
+ "Do NOT verbally agree to pay a buy-out amount above what the user pre-authorised.",
92
+ "Do NOT discuss new tenancy plans, new income, or financial position — those reduce sympathy and leverage.",
93
+ "Do NOT sign a release that contains a non-disparagement clause or a waiver of habitability claims without operator review."
94
+ ],
95
+ "success_signals": [
96
+ "Landlord acknowledges the statutory path and accepts the notice.",
97
+ "Landlord agrees to a specific buy-out amount and a release date.",
98
+ "Mutual-release document sent for review in writing.",
99
+ "Landlord commits to actively re-list and credit any re-rent month."
100
+ ],
101
+ "failure_signals": [
102
+ "Landlord disputes the statutory path even with documentation — escalate to tenant attorney before move-out.",
103
+ "Landlord demands more than 3 months' rent as a buy-out with no re-let credit.",
104
+ "Landlord refuses any written release.",
105
+ "Landlord threatens collections / deficiency judgment without acknowledging duty to mitigate."
106
+ ],
107
+ "exit_strategy": {
108
+ "on_success": "Confirm termination date, payment amount (if any), deposit treatment, and that mutual release will be signed before move-out. Operator emails the recap within 1 hour and sends the written notice + documents same day.",
109
+ "on_failure": "Send the written notice + documentation by certified mail and email regardless — this starts statutory clocks and creates the record. Consult a tenant attorney before move-out if a deficiency judgment is being threatened.",
110
+ "follow_ups": [
111
+ "Send written notice + supporting docs (PCS orders, protective order, habitability case number, relocation letter) by certified mail AND email same day.",
112
+ "Calendar the statutory effective date.",
113
+ "Once mutual release is signed, schedule the move-out walkthrough (see `move-out-walkthrough`).",
114
+ "After move-out, keep the mutual release in a permanent file — it's the document that defeats any future collection attempt."
115
+ ]
116
+ },
117
+ "required_user_info": [
118
+ "Lease copy and any early-termination clauses",
119
+ "Path: SCRA (with orders), DV (with order / police report), habitability (with case number), relocation clause, plain buy-out",
120
+ "Desired move-out date and flexibility window",
121
+ "Buy-out budget if a negotiated path is needed",
122
+ "Deposit amount and whether the user is willing to forfeit it as part of the deal"
123
+ ],
124
+ "contributed_by": "housing-tenancy agent (v0.9.87 community drop)",
125
+ "updated_at": "2026-05-20T06:09:47Z"
126
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "id": "elite-line-escalation",
3
+ "name": "Airline Elite-Line / Status-Credit Escalation",
4
+ "version": "1.0.1",
5
+ "category": "travel",
6
+ "tags": ["airline", "elite", "status", "phone-line", "concierge", "escalation"],
7
+ "description": "Route the call to the right tier of phone agent — 1K Voice, ConciergeKey, Diamond, 360, A-List Preferred — and use their wider discretion to unstick a problem the general line can't or won't solve.",
8
+ "disclaimer": null,
9
+ "context": {
10
+ "when_to_use": "User has airline elite status, OR is one tier away from status (status-match candidate), AND needs leverage on a request the general line just denied: change-fee waiver, mile redeposit, OAL rebook, upgrade clearance, fare-class hold, complaint resolution.",
11
+ "preconditions": [
12
+ "User has frequent flyer number and current tier confirmed.",
13
+ "User has PNR if the issue relates to an existing reservation.",
14
+ "User can articulate the exact ask in one sentence."
15
+ ],
16
+ "estimated_call_duration_minutes": 20
17
+ },
18
+ "principles": [
19
+ "Status agents have MORE discretion, not just shorter holds. Front-line CSRs cannot waive fees beyond a small ceiling; elite-line agents have meaningfully higher ceilings.",
20
+ "Each tier has a published phone tree. Calling the right number is half the battle — wrong number gets you front-line, which has the same script you already failed at.",
21
+ "Loyalty-loyalty matters. Mention years of status, lifetime miles, recent paid-cabin flying. 'I've been Executive Platinum for 9 years' is leverage; 'I'm Executive Platinum' is just a fact.",
22
+ "Even non-status callers can be PROMOTED in queue by calling the right ancillary line (Vacations, Reservations Spanish, Reservations Japanese, Group Desk). Hold times are often a fraction of the main line.",
23
+ "Tone with elite agents: peer-to-peer, not customer-to-rep. They handle thousands of seasoned travelers; sounding like one accelerates the call.",
24
+ "Status-match agents (the team that processes competitor-status matches) are a parallel escalation path. If your status is about to expire on Carrier A, a match offer from Carrier B is leverage."
25
+ ],
26
+ "phrases": {
27
+ "opener": "Hi — [name], [frequent flyer number], [tier]. I have a quick one: [specific ask in one sentence]. Front-line told me [outcome], but I think this falls in your discretion.",
28
+ "establish_loyalty": "I've been [tier] for [years] years and flew [N] paid segments with you last year — I'm not trying to game anything, I just want this to work.",
29
+ "specific_ask": "Specifically I'd like you to [redeposit the miles / waive the change fee / put me on partner X / clear an upgrade / open inventory in Y class / re-issue under a waiver code].",
30
+ "concede_gracefully": "If the system genuinely won't let you do that, no worries. Could you note the request on my PNR and see if a supervisor or the [HVC desk / liaison desk] can pick it up?",
31
+ "status_match_pivot": "If we can't get there, I'm thinking about [competitor tier match]. I'd rather stay with you — what can we do?",
32
+ "graceful_close_success": "Thank you — that's a huge help. Can you confirm the PNR shows [new state], read me the confirmation number, and email me the updated itinerary?",
33
+ "graceful_close_failure": "Okay, I'll let this one go. Could you note on my account that we tried this and that I'm a long-term flyer? It helps me when I call back."
34
+ },
35
+ "tactics": [
36
+ {
37
+ "name": "Use the right phone number for your tier",
38
+ "when": "Before dialling.",
39
+ "script": "United: 1K Voice (1K only), Premier Platinum line, Global Services has dedicated reps reach out to you. American: ConciergeKey (invite-only top tier, no public number — they call you), Executive Platinum line, Platinum Pro line. Delta: Diamond Medallion line, 360 line (top-tier invite-only). Alaska: MVP Gold 75K line. Southwest: A-List Preferred line. JetBlue: Mosaic line. Numbers are on each program's homepage when logged in.",
40
+ "priority": 1
41
+ },
42
+ {
43
+ "name": "State the specific ask in ≤15 seconds",
44
+ "when": "First substantive turn.",
45
+ "script": "Elite agents reward concision. 'I missed UA 12 LHR-EWR yesterday because of a mechanical, I'd like the miles redeposited and the change fee waived' — that's the whole opener. Save your story for if they need it.",
46
+ "priority": 2
47
+ },
48
+ {
49
+ "name": "Cite specific tools the agent has",
50
+ "when": "Agent says 'system won't let me'.",
51
+ "script": "Examples: 'override desk', 'waiver code', 'unlock fare class with WAIVE remarks', 'fee waiver under loyalty discretion', 'INVOL refund-to-original-FOP'. Knowing the tools by name signals you respect their job and you know what's possible.",
52
+ "priority": 3
53
+ },
54
+ {
55
+ "name": "Status match as leverage",
56
+ "when": "Status renewal is in question.",
57
+ "script": "If you're 5,000 mi shy of re-qualifying for Executive Platinum and you have an open status-match offer from DL Diamond — politely mention it. Agents have soft-discretion miles credits ('soft landing', 'loyalty miles', 'gesture of goodwill') and use them to retain status flyers.",
58
+ "priority": 4
59
+ },
60
+ {
61
+ "name": "Try ancillary desks for promotion",
62
+ "when": "Non-status caller, main line wait is >20 minutes.",
63
+ "script": "AA Vacations desk, UA Vacations, DL Vacations, Reservations Español, AA Australia desk all answer general reservation questions and have shorter queues. Outside-US offices (UA Manila, AA Sydney, DL India) too."
64
+ },
65
+ {
66
+ "name": "Ask for the supervisor only after the agent has tried",
67
+ "when": "Agent has clearly used their tools and still cannot help.",
68
+ "script": "'Could you loop in your supervisor? Not because you've done anything wrong, but because the gap is enough that I want to make sure we've checked everything.' This is the negotiate-bill-reduction playbook — works identically here."
69
+ }
70
+ ],
71
+ "boundaries": [
72
+ "Do NOT call the elite line if you're not at that tier — the agent verifies and the call goes nowhere.",
73
+ "Do NOT abuse the line for routine seat changes the app handles fine. Burning goodwill costs you on the next real ask.",
74
+ "Do NOT misrepresent the urgency or facts of the situation.",
75
+ "Do NOT threaten to switch programs without follow-through; agents have seen this 10,000 times."
76
+ ],
77
+ "success_signals": [
78
+ "Agent picks up in <5 minutes.",
79
+ "Agent immediately understands the ask without restating.",
80
+ "Agent applies a waiver code, redeposits miles, or rebooks without arguing.",
81
+ "Agent thanks you for being a loyal customer (industry tell for 'this is going to work out').",
82
+ "Agent escalates to a desk above them without prompting."
83
+ ],
84
+ "failure_signals": [
85
+ "Elite line routes you back to general reservations.",
86
+ "Agent recites the same script the front line used.",
87
+ "Hold music for 30+ minutes on a top-tier line (rare; usually means IRROPS-driven volume).",
88
+ "Agent declines and refuses to escalate to supervisor."
89
+ ],
90
+ "exit_strategy": {
91
+ "on_success": "Get the confirmation, email confirmation, agent's first name. Note any soft-landing miles in your tracker.",
92
+ "on_failure": "Polite goodbye, redial later (different agent often = different result), or write to customer relations / loyalty program team in writing — those teams have additional discretion.",
93
+ "follow_ups": [
94
+ "If a waiver was applied, double-check the PNR shows zero-balance and no residual fare difference.",
95
+ "If miles redeposited, confirm they show in the account within 7 days; if not, call back.",
96
+ "If status match was floated, follow up in writing with the competitor program now."
97
+ ]
98
+ },
99
+ "required_user_info": [
100
+ "Frequent flyer number, tier, years at tier",
101
+ "PNR if applicable",
102
+ "Specific ask in one sentence",
103
+ "Outcome from the front-line agent (so the elite agent doesn't repeat)",
104
+ "Any open status-match or competitor offers"
105
+ ],
106
+ "contributed_by": "travel-rebooking agent (v0.9.87 community drop)"
107
+ }
@@ -0,0 +1,126 @@
1
+ {
2
+ "id": "equipment-swap-cable-router-modem",
3
+ "name": "Equipment Swap: Cable Box / Router / Modem — Drop-Off vs. Mail-In Decision",
4
+ "version": "1.0.0",
5
+ "category": "customer-service",
6
+ "tags": [
7
+ "telecom",
8
+ "cable",
9
+ "isp",
10
+ "equipment",
11
+ "return",
12
+ "swap",
13
+ "phone-call",
14
+ "utility-telecom"
15
+ ],
16
+ "description": "Call a cable / ISP provider to swap or return rented equipment (modem, router/gateway, cable box, voice adapter, security gateway) — deciding between in-store drop-off and mail-in return, locking in tracked receipts, and stopping equipment-lease charges on the right date.",
17
+ "disclaimer": "Equipment lease fees continue billing until the provider's system marks the device as RETURNED, not when you hand it off. Drop-off receipts and mail-in tracking are the only proof of return; without them, the provider can charge $100-$500 per device as 'unreturned'.",
18
+ "context": {
19
+ "when_to_use": "User is returning equipment because: (a) cancelling service entirely, (b) replacing leased gear with personally-owned gear to drop the rental fee, (c) swapping a malfunctioning device for a working one, or (d) upgrading hardware. NOT for installing brand-new service (that's a different workflow).",
20
+ "preconditions": [
21
+ "Complete inventory of equipment to return: device, model, MAC address (or serial), all power adapters, all remotes, all cables that came with it.",
22
+ "Account number and account holder name.",
23
+ "Current monthly equipment lease charge (so you can verify it drops off after return).",
24
+ "Whether the swap is concurrent (new device first, return old) or sequential (return old, then activate new).",
25
+ "If replacing with personally-owned modem: model number to confirm provisioned compatibility."
26
+ ],
27
+ "estimated_call_duration_minutes": 15
28
+ },
29
+ "principles": [
30
+ "In-store drop-off at a CARRIER-OWNED store is the gold standard. Walk out with a printed receipt that lists every device's serial number and the timestamp. That receipt is your proof.",
31
+ "UPS Store drop-off (carrier-funded label) is the second-best. UPS scans the device serial against the carrier's return manifest — get a tracking number AND keep the receipt slip.",
32
+ "Mail-in via carrier-supplied box is the third-best — slower, but works. Photograph the device before sealing AND save the tracking number.",
33
+ "Authorised resellers (Best Buy, Walmart, third-party stores) are the worst option — they often can't formally accept returns and the device can sit in a back room for weeks while billing continues.",
34
+ "Recognise wrong-queue: 'tech support' often can't process returns; 'equipment services' or 'account services' is the right team.",
35
+ "Always ask: 'on what date does the lease fee stop billing?' Returning the device does not stop the bill automatically — there's an internal de-provisioning step that the rep can confirm or schedule."
36
+ ],
37
+ "phrases": {
38
+ "opener": "Hi, I need to return equipment on account [number]. The device is [model + MAC/serial], plus the [power adapter / remote / cables]. I want to confirm the return method and the date the lease fee stops billing.",
39
+ "queue_check": "Are you the equipment / account-services team? I want to be with whoever can formally close out the device and stop the lease charge.",
40
+ "transfer_request": "Could you do a warm transfer to equipment services and stay on the line until they pick up? I don't want to lose my hold position.",
41
+ "ask_return_options": "What are my return options — carrier-owned store drop-off, UPS Store with pre-paid label, mail-in kit? I'd prefer whichever gives me a tracked receipt that gets the device marked returned fastest.",
42
+ "ask_lease_stop_date": "When will the equipment lease fee stop billing — date of return scan, end of current cycle, or some other trigger? I want to confirm it doesn't keep charging through the next cycle.",
43
+ "ask_required_accessories": "What exactly needs to be returned with the device — power adapter, remotes, cables, original box? I want to avoid a 'missing accessory' charge.",
44
+ "personal_modem_compatibility": "I'm planning to replace the gateway with my own [make/model]. Can you confirm it's on your approved-device list and what info I'll need to provision — MAC address, account PIN, anything else?",
45
+ "swap_overlap": "If this is a swap (not a return), can the new device ship before I return the old one — so I don't lose service? What's the return window after the new device arrives?",
46
+ "lock_in_writing": "Please email me: return reference number, return method, what's required in the box, lease-fee stop date, and the deadline by which the device must be received. I want it in writing.",
47
+ "graceful_close": "Thanks — return reference [number], method [store / UPS / mail], lease stops [date], items required [list], return deadline [date]. I'll send tracking once it's on its way."
48
+ },
49
+ "tactics": [
50
+ {
51
+ "name": "Pick the highest-trust return method available",
52
+ "when": "After options are listed.",
53
+ "script": "Rank: (1) carrier-owned store with printed receipt > (2) UPS Store with pre-paid label and tracking > (3) carrier-supplied mail-in box with tracking > (4) authorised reseller (avoid). Use `ask_return_options` to surface the choices.",
54
+ "priority": 1
55
+ },
56
+ {
57
+ "name": "Pin the lease-stop date",
58
+ "when": "Within the first 5 minutes.",
59
+ "script": "Use `ask_lease_stop_date`. 'When you scan it in' and 'end of billing cycle' are both common answers — knowing which one applies tells you when to expect the lease fee to fall off.",
60
+ "priority": 2
61
+ },
62
+ {
63
+ "name": "Inventory accessories explicitly",
64
+ "when": "Before going to the store / sealing the box.",
65
+ "script": "Use `ask_required_accessories`. Missing power adapter: $20-$40 charge. Missing remote: $20. Missing cables: $5-$10. These accumulate.",
66
+ "priority": 3
67
+ },
68
+ {
69
+ "name": "Recognise wrong-queue / tech support trap",
70
+ "when": "Rep starts running diagnostics or troubleshooting the device.",
71
+ "script": "Use `queue_check`. Tech support's job is to keep the device in service; equipment services' job is to take it out. Different queues.",
72
+ "priority": 4
73
+ },
74
+ {
75
+ "name": "If swapping, get overlap right",
76
+ "when": "Not a pure return — also activating a new device.",
77
+ "script": "Use `swap_overlap`. The new device shipped before the old return = no service gap. Ask the return-window length (typically 14-30 days after new device arrival).",
78
+ "priority": 5
79
+ },
80
+ {
81
+ "name": "If switching to personal modem, verify compatibility",
82
+ "when": "Returning a leased gateway to use personal gear.",
83
+ "script": "Use `personal_modem_compatibility`. Mid-call confirmation prevents the 'I returned it and now my own modem won't activate' loop."
84
+ }
85
+ ],
86
+ "boundaries": [
87
+ "Do NOT drop equipment at an authorised reseller (Best Buy, Walmart, third-party) unless the rep explicitly confirms it appears in their return manifest. Many resellers cannot accept returns even though they sold the device.",
88
+ "Do NOT leave the store without a printed receipt listing each device's serial number.",
89
+ "Do NOT mail a device without tracking and without photographing it first (device + serial label + accessories).",
90
+ "Do NOT toss a device because you 'paid it off' — leased devices remain provider-owned regardless of how long you've had them.",
91
+ "Do NOT cancel autopay until the return is confirmed and the lease fee has fallen off two consecutive bills."
92
+ ],
93
+ "success_signals": [
94
+ "Return reference number issued.",
95
+ "Return method confirmed with tracking expectation.",
96
+ "Required accessories listed explicitly.",
97
+ "Lease-fee stop date confirmed.",
98
+ "Written confirmation email arrives."
99
+ ],
100
+ "failure_signals": [
101
+ "Rep cannot give a lease-fee stop date.",
102
+ "Rep says 'just drop it off, you'll be fine' with no reference number or written record.",
103
+ "Return method is mail-in but no pre-paid label is provided.",
104
+ "Personal modem is NOT on the approved list (and the user expected it would be)."
105
+ ],
106
+ "exit_strategy": {
107
+ "on_success": "Confirm reference number, return method, deadline. Within 24 hours: complete the return and capture the receipt or tracking number. Watch the next 2 bills to verify the lease fee dropped.",
108
+ "on_failure": "If a return method cannot be confirmed, escalate to a supervisor in equipment services. If the provider keeps deflecting, mail the device with tracking AND signature confirmation to the executive office address (publicly listed for most major carriers) with a cover letter referencing the case number.",
109
+ "follow_ups": [
110
+ "Day of return: photograph the device + serial + accessories before drop-off / sealing.",
111
+ "Within 7 days: verify the provider's system shows the device as 'received' — call back referencing the return reference number if not.",
112
+ "Next billing cycle: confirm the lease fee has dropped off. If not, dispute that line on the bill and escalate.",
113
+ "Cycle after that: confirm no 'unreturned equipment' charge appears."
114
+ ]
115
+ },
116
+ "required_user_info": [
117
+ "Account number and account holder name",
118
+ "Device(s) to return — model, MAC address or serial, accessories",
119
+ "Current monthly equipment lease amount",
120
+ "Whether also activating a replacement (and if so, what)",
121
+ "Nearest carrier-owned store and UPS Store",
122
+ "Best email for written confirmation"
123
+ ],
124
+ "contributed_by": "utility-telecom agent (v0.9.87 community drop)",
125
+ "updated_at": "2026-05-20T06:09:47Z"
126
+ }