@agenticmail/core 0.9.32 → 0.9.34

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 +128 -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 +125 -0
  118. package/dist/skills/built-in/report-fbi-tip.json +116 -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": "mirror-technique",
3
+ "name": "The Mirror: Repeat to Unlock",
4
+ "version": "1.0.0",
5
+ "category": "negotiation",
6
+ "tags": ["voss", "mirroring", "isopraxism", "stalling", "phone-call", "real-time"],
7
+ "description": "Repeat the last 1-3 words (or a critical phrase) of what the counterparty just said, with upward inflection. Triggers them to elaborate, exposes constraints, and buys you thinking time without disrupting flow.",
8
+ "disclaimer": "Mirroring overused sounds parrot-like and condescending. 3-4 mirrors per 30-minute call is normal; 10+ is a tic. Vary with labels and calibrated questions.",
9
+ "context": {
10
+ "when_to_use": "When you want the counterparty to keep talking — to surface constraints, expand on policy, justify a number, or reveal a hidden lever. Especially useful in the first 10 minutes when you're building a map of what's negotiable.",
11
+ "preconditions": [
12
+ "Voice channel (mirrors via email work but are much weaker — they read as snark).",
13
+ "Counterparty has just said something containing a number, policy, jargon term, or hesitation marker.",
14
+ "You can deliver the mirror with curious upward inflection — same words but as a question."
15
+ ],
16
+ "estimated_call_duration_minutes": 15
17
+ },
18
+ "principles": [
19
+ "A mirror is the last 1 to 3 words of what they said, repeated as a question. Not paraphrased. Verbatim. The verbatim repetition is what triggers the elaboration instinct.",
20
+ "Pair every mirror with silence (4-6 seconds). The mirror is the question; the silence is the rest of the question.",
21
+ "Pick the words that carry the constraint. If they say 'we can't go below $200 for new accounts', mirror 'new accounts?' — that's where the flex lives.",
22
+ "Mirroring buys you time. While they elaborate, you're free to think about what to ask next or to consult your notes.",
23
+ "Mirrors are non-confrontational. You're not arguing; you're inviting more detail. The counterparty rarely notices the move.",
24
+ "When in doubt between a label and a mirror: use a label for emotion, a mirror for information."
25
+ ],
26
+ "phrases": {
27
+ "policy_mirror": "[Rep: 'It's a 30-day return policy.'] → 'A 30-day return policy?'",
28
+ "number_mirror": "[Rep: 'The list price is $4,200.'] → '$4,200?'",
29
+ "jargon_mirror": "[Rep: 'That account is on a legacy tier.'] → 'A legacy tier?'",
30
+ "qualifier_mirror": "[Rep: 'We don't usually do that mid-cycle.'] → 'Usually?'",
31
+ "hesitation_mirror": "[Rep: 'I don't think I can…'] → 'You don't think you can?'",
32
+ "constraint_mirror": "[Rep: 'For new accounts only.'] → 'New accounts only?'",
33
+ "mirror_followup_silence": "[Just stay quiet for 4-6 seconds — do not soften the mirror.]"
34
+ },
35
+ "tactics": [
36
+ {
37
+ "name": "Mirror the constraint word",
38
+ "when": "Rep states a rule, policy, or limit with a qualifying word (only, usually, typically, currently, for now).",
39
+ "script": "Repeat the qualifying word back as a question. 'Usually?' / 'For now?' / 'Currently?' — qualifiers signal the rule has exceptions; the mirror invites the exception out.",
40
+ "priority": 1
41
+ },
42
+ {
43
+ "name": "Mirror the jargon",
44
+ "when": "Rep uses internal terminology ('legacy account', 'grandfathered rate', 'override code', 'CC promo').",
45
+ "script": "Mirror the jargon as a question. The rep will explain — and the explanation will tell you about adjacent tiers and override paths you didn't know existed.",
46
+ "priority": 2
47
+ },
48
+ {
49
+ "name": "Mirror the number",
50
+ "when": "Rep delivers a price, fee, or limit number.",
51
+ "script": "Mirror the number with upward inflection. Forces the rep to either justify it or move it.",
52
+ "priority": 3
53
+ },
54
+ {
55
+ "name": "Mirror the hesitation",
56
+ "when": "Rep uses softening verbs: 'I think', 'I believe', 'I might be able to', 'probably'.",
57
+ "script": "Mirror the hedge. 'You think?' / 'Might be able to?' — converts a soft maybe into either a firm yes or a firm no, which is more actionable than soft maybe.",
58
+ "priority": 4
59
+ },
60
+ {
61
+ "name": "Mirror to stall",
62
+ "when": "You need 5-10 seconds to think and don't want a verbal 'um' or 'let me think'.",
63
+ "script": "Mirror the last few words of what the rep said. The rep will spend 20-30 seconds elaborating, giving you cover.",
64
+ "priority": 5
65
+ }
66
+ ],
67
+ "decision_tree": {
68
+ "description": "Mirrors must be deployed within ~2 seconds of the counterparty finishing their sentence — any longer and the moment is gone. Listen for the trigger word; when you hear it, mirror immediately.",
69
+ "branches": [
70
+ {
71
+ "if_you_hear": "A qualifying word: 'usually', 'typically', 'for now', 'currently', 'normally', 'in most cases'.",
72
+ "interpretation": "There IS an exception. The qualifier is the door.",
73
+ "say": "Mirror the qualifier alone: 'Usually?' / 'For now?'",
74
+ "do_not": "Do not say 'so there are exceptions?' — too direct. The mirror does the same work without confrontation."
75
+ },
76
+ {
77
+ "if_you_hear": "A specific number — price, fee, term length, limit.",
78
+ "interpretation": "Numbers spoken aloud often have flex the rep is mentally bracketing.",
79
+ "say": "Mirror the number with upward inflection: '$200?' / '12 months?'",
80
+ "do_not": "Do not add 'is that flexible?' — the mirror already asks that."
81
+ },
82
+ {
83
+ "if_you_hear": "Internal jargon you don't know the meaning of.",
84
+ "interpretation": "Hidden product/policy layer. Probably has tiers you haven't explored.",
85
+ "say": "Mirror the jargon: 'A legacy tier?' / 'Override code?'",
86
+ "do_not": "Do not pretend to know what it means. The mirror is a free education that doesn't reveal ignorance."
87
+ },
88
+ {
89
+ "if_you_hear": "Soft modal verbs: 'I think', 'I believe', 'might', 'probably', 'maybe'.",
90
+ "interpretation": "The rep is uncertain. There's space to move.",
91
+ "say": "Mirror the hedge: 'You think?' / 'Might be able to?'",
92
+ "do_not": "Do not call out the uncertainty directly ('you don't sound sure'). Mirror is friendlier."
93
+ },
94
+ {
95
+ "if_you_hear": "An emotionally charged statement ('that's just how it is', 'I'm being honest with you').",
96
+ "interpretation": "Emotional, not informational. Mirror is the WRONG tool.",
97
+ "say": "Use a label from `01-tactical-empathy-labeling` instead.",
98
+ "do_not": "Do not mirror emotion — it reads as mockery."
99
+ },
100
+ {
101
+ "if_you_hear": "A flat 'no' with no surrounding qualifying language.",
102
+ "interpretation": "Not enough material to mirror. Need a different tool.",
103
+ "say": "Use a calibrated question from `02-calibrated-questions`: 'What about it doesn't work for you?'",
104
+ "do_not": "Do not mirror 'no?' — it's combative."
105
+ },
106
+ {
107
+ "if_you_hear": "A long rambling explanation.",
108
+ "interpretation": "Rep is overexplaining; they're not sure of their position OR they're stalling.",
109
+ "say": "Mirror the SINGLE most consequential phrase from the ramble: the one with the constraint.",
110
+ "do_not": "Do not mirror the whole sentence. Pick 1-3 words."
111
+ },
112
+ {
113
+ "if_you_hear": "Silence after your mirror.",
114
+ "interpretation": "Mirror is working — they're constructing the elaboration.",
115
+ "say": "Nothing. Wait 6-8 seconds.",
116
+ "do_not": "Do not rescue. The mirror's power comes from forcing them to fill the air."
117
+ }
118
+ ]
119
+ },
120
+ "boundaries": [
121
+ "Do NOT mirror more than 4 times in a single 30-minute call — diminishing returns and reads as parrot.",
122
+ "Do NOT mirror emotional outbursts — label them instead.",
123
+ "Do NOT mirror sarcastically — tone must be genuinely curious.",
124
+ "Do NOT mirror your own previous mirror (loops happen — break with a label or calibrated question)."
125
+ ],
126
+ "success_signals": [
127
+ "Rep elaborates on the mirrored word for 20+ seconds, revealing nuance.",
128
+ "Rep softens the qualifier ('well, usually — but I could see making an exception if…').",
129
+ "Rep explains the jargon AND volunteers an adjacent tier you didn't know existed.",
130
+ "Number you mirrored gets moved by the rep without you asking."
131
+ ],
132
+ "failure_signals": [
133
+ "Rep responds 'yes, that's what I said' — your mirror was clumsy or too obvious. Pivot to label.",
134
+ "Rep gets annoyed — you've mirrored too often or with wrong tone.",
135
+ "Mirror produces only a one-word confirmation, not elaboration — try a calibrated question instead."
136
+ ],
137
+ "exit_strategy": {
138
+ "on_success": "Once the mirror surfaces the exception/flex, immediately use it: 'Got it — and how do I get access to that legacy tier?'",
139
+ "on_failure": "If mirrors aren't producing elaboration, the rep may be too disengaged or too scripted. Switch tools: try `01-tactical-empathy-labeling` to break the script."
140
+ },
141
+ "required_user_info": [
142
+ "None directly — this is a real-time technique. But knowing the user's goal helps pick WHICH word to mirror."
143
+ ],
144
+ "contributed_by": "negotiation-master agent (v0.9.87 community drop)"
145
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "id": "missed-connection-distressed-passenger",
3
+ "name": "Missed Connection — Secure Hotel, Meal Vouchers, and Rebook",
4
+ "version": "1.0.1",
5
+ "category": "travel",
6
+ "tags": ["airline", "irrops", "hotel-voucher", "meal-voucher", "controllable", "dot-dashboard"],
7
+ "description": "Your inbound was late, you missed the connection, and you're stuck overnight. If the delay was carrier-controllable, US airlines committed via the DOT Customer Service Dashboard to provide hotel, meals, and rebooking. This skill extracts those entitlements without being fobbed off.",
8
+ "disclaimer": null,
9
+ "context": {
10
+ "when_to_use": "User has just missed (or is about to miss) a connection because the previous segment ran late or was cancelled. Most useful when the cause is carrier-controllable (mechanical, crew, IT outage, late inbound aircraft) — NOT weather or ATC, which are 'uncontrollable' and unlock fewer entitlements.",
11
+ "preconditions": [
12
+ "User can name the cause of the delay as posted by the airline (mechanical, crew, late-arriving aircraft, ATC, weather).",
13
+ "User has PNR and ticket number.",
14
+ "User is at the airport (gate, service desk, or club) — physical presence helps.",
15
+ "User has a credit card to charge the room in case the airline declines and reimburses later."
16
+ ],
17
+ "estimated_call_duration_minutes": 20
18
+ },
19
+ "principles": [
20
+ "Cause-of-delay language is everything. 'Controllable' (mechanical, crew, IT) unlocks the DOT Dashboard commitments. 'Uncontrollable' (weather, ATC, security) does not. Force the agent to name the cause.",
21
+ "Go to the right counter in the right order: gate first (fastest if they have voucher stock), then service desk, then the lounge if you have access (lounge agents have more time and tools), then phone.",
22
+ "The DOT Customer Service Dashboard (dot.gov/airconsumer) lists each major US airline's commitments. AA, AS, B6, DL, F9, HA, NK, UA, WN all committed to hotel + meal + rebook for controllable overnight delays. Cite the dashboard if pushed back.",
23
+ "Distressed-passenger hotel rates are pre-negotiated. If the airline can't issue a direct voucher, they will give you a 'distressed pax code' for a partner hotel — ask for it explicitly.",
24
+ "Meal vouchers are typically $12-$15 per meal, sometimes loaded onto a digital wallet code. Don't refuse them because they're small — they're symbolic and they count.",
25
+ "Save every receipt. Even with vouchers, reimbursement claims later may require originals."
26
+ ],
27
+ "phrases": {
28
+ "opener": "Hi — I just missed my connection from [origin] to [destination] because [previous flight] arrived late. Can you confirm the delay cause posted on the flight is [cause]? I'd like to rebook and get the overnight kit per your DOT Dashboard commitment.",
29
+ "force_cause_naming": "What's the official cause code on the inbound delay? I want to make sure we're on the same page about whether this is controllable.",
30
+ "ask_for_hotel": "Since this is controllable, I'd like the hotel voucher you committed to on the DOT Customer Service Dashboard. Where is the partner hotel and how do I get there?",
31
+ "ask_for_meals": "Can I also get the meal vouchers for tonight's dinner and tomorrow's breakfast?",
32
+ "ask_for_distressed_code": "If you can't issue a direct hotel voucher, can you give me the distressed-passenger rate code so I can book at the partner hotel and submit for reimbursement?",
33
+ "ask_for_transport": "How am I getting to the hotel — shuttle, taxi voucher, or rideshare reimbursement?",
34
+ "escalate": "Okay, if the front desk doesn't have voucher stock — can you connect me to the duty manager or station ops? This is a controllable delay and I'm trying to use what the airline committed to.",
35
+ "graceful_close_success": "Thanks. Can I get this in writing — an email or a printout of the rebooked itinerary, the hotel voucher details, and the meal voucher codes?",
36
+ "graceful_close_failure": "Alright. Please note on my PNR that I requested distressed-passenger services tonight at [station] and that they couldn't be provided. I'll book my own and file for reimbursement."
37
+ },
38
+ "tactics": [
39
+ {
40
+ "name": "Pin down the cause-of-delay code first",
41
+ "when": "Opening the conversation.",
42
+ "script": "Ask the agent to read out the cause code. Mechanical, crew, late-inbound-aircraft, IT/system = controllable. Weather, ATC, security = uncontrollable. Everything downstream hangs on this single fact.",
43
+ "priority": 1
44
+ },
45
+ {
46
+ "name": "Cite the DOT Customer Service Dashboard by name",
47
+ "when": "Agent claims no hotel/meal voucher is available for a controllable delay.",
48
+ "script": "Say: 'Your airline's commitment on the DOT Customer Service Dashboard at dot.gov/airconsumer says you provide hotel and meals for controllable overnight delays. I'd like to use that.' This is a public, regulator-posted commitment — agents back down fast.",
49
+ "priority": 2
50
+ },
51
+ {
52
+ "name": "Ask for the distressed-pax rate if direct vouchers are out",
53
+ "when": "Airport runs out of paper vouchers or hotel block is full.",
54
+ "script": "Most airlines have a backup: a coded rate at a partner hotel that you book yourself and they reimburse, OR a flat reimbursement cap (usually $100-$200/night). Ask for both the code and the cap.",
55
+ "priority": 3
56
+ },
57
+ {
58
+ "name": "Lounge as a workstation",
59
+ "when": "User has lounge access (status, day pass, Priority Pass).",
60
+ "script": "Lounge agents (Admirals, Sky, Polaris, Centurion) often have voucher-issuing authority and dramatically more time per passenger than a gate agent during IRROPS. This is one of the most underrated leverage points in air travel.",
61
+ "priority": 4
62
+ },
63
+ {
64
+ "name": "Book your own hotel as a backstop",
65
+ "when": "It's late, voucher hotel is 45 min away, and you have status with a better property nearby.",
66
+ "script": "Book the better hotel yourself, keep the receipt, and submit for reimbursement. The airline will pay up to their distressed-pax cap. You eat the difference for a better night's sleep — sometimes worth it for a 6am flight."
67
+ },
68
+ {
69
+ "name": "Get rebooking and amenities in one transaction",
70
+ "when": "After the cause/voucher conversation is settled.",
71
+ "script": "Don't let the agent close the file with just the voucher. Confirm the rebooked itinerary, new boarding passes, seat assignments, baggage rerouting, and where to collect bags overnight (sometimes they ride through to destination, sometimes you take them to the hotel)."
72
+ }
73
+ ],
74
+ "boundaries": [
75
+ "Do NOT misrepresent the cause of the delay. If it was weather, the airline owes you a rebook but not hotel/meals on most US carriers.",
76
+ "Do NOT walk away from the desk until you have either (a) a voucher in hand, or (b) a distressed-pax code, or (c) an explicit denial noted on the PNR so reimbursement is clean.",
77
+ "Do NOT accept 'we'll email it' as the only confirmation — get something printed or screenshot the agent's screen.",
78
+ "Do NOT pay for the hotel out-of-pocket without first asking for a direct voucher; many airlines will not retroactively reimburse if they weren't given a chance to issue the voucher in real time."
79
+ ],
80
+ "success_signals": [
81
+ "Agent reads out the controllable cause code without prodding.",
82
+ "Agent volunteers the DOT Dashboard commitment.",
83
+ "Voucher is printed and handed over.",
84
+ "Meal vouchers come in addition to the hotel voucher, not as a substitute.",
85
+ "Ground transport is included (shuttle or taxi voucher)."
86
+ ],
87
+ "failure_signals": [
88
+ "Agent insists the delay is 'weather' when the official posted reason is 'maintenance' or 'crew'.",
89
+ "Agent says 'we don't do hotels' for an airline on the DOT Dashboard list.",
90
+ "Voucher hotel is 90+ minutes away with no transport.",
91
+ "Cap offered is below the local hotel market rate by a wide margin (e.g. $75 cap in Manhattan)."
92
+ ],
93
+ "exit_strategy": {
94
+ "on_success": "Pocket the voucher, walk to the shuttle, confirm tomorrow's flight on the app. Set two alarms.",
95
+ "on_failure": "Book hotel + dinner yourself, save EVERY receipt + boarding passes + the cancellation/delay notification SMS. File a written claim within 7 days via the airline's customer relations portal, citing the DOT Dashboard. If they refuse, escalate to DOT (file.dot.gov).",
96
+ "follow_ups": [
97
+ "If the cause was extraordinary and >3 hours into the EU on an EU carrier — also pursue EU261 cash (load `eu261-uk261-dot-compensation`).",
98
+ "If you have travel insurance, file the trip-delay claim while you're still in the hotel (load `travel-insurance-claim-on-the-road`).",
99
+ "If status, double-check your account 30 days later — sometimes carriers proactively add bonus miles or e-credits for affected passengers."
100
+ ]
101
+ },
102
+ "required_user_info": [
103
+ "PNR / record locator",
104
+ "Inbound flight number and posted delay cause",
105
+ "Missed connecting flight number and the next available rebook option",
106
+ "Frequent flyer number and status",
107
+ "Whether checked baggage is involved",
108
+ "Credit card for backstop booking"
109
+ ],
110
+ "contributed_by": "travel-rebooking agent (v0.9.87 community drop)"
111
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "id": "mortgage-loan-hardship",
3
+ "name": "Mortgage or Loan Rate-Modification / Hardship Inquiry",
4
+ "version": "1.0.1",
5
+ "category": "finance-admin",
6
+ "tags": [
7
+ "mortgage",
8
+ "loan-modification",
9
+ "hardship",
10
+ "loss-mitigation",
11
+ "forbearance",
12
+ "phone-call",
13
+ "banking-finance"
14
+ ],
15
+ "description": "Call a mortgage servicer or loan provider's loss-mitigation department to inquire about a rate modification, hardship plan, forbearance, or repayment plan — without committing to anything that would damage credit or trigger acceleration without explicit operator approval.",
16
+ "disclaimer": "Not financial or tax advice. Agent must NEVER share SSN unprompted, NEVER initiate wires above the operator's stated cap, NEVER agree to a hardship plan / settlement that affects credit without explicit ask_operator approval.",
17
+ "context": {
18
+ "when_to_use": "User is facing or anticipating financial hardship affecting a mortgage, auto, personal, or student loan: income loss, medical event, divorce, business setback. Call EARLY — before missing payments, when possible. Most servicers have more options before delinquency than after.",
19
+ "preconditions": [
20
+ "Operator has authorized an INQUIRY only. Agreeing to any plan that re-amortizes, defers, or settles requires a fresh operator approval.",
21
+ "User has loan account number, monthly payment, and approximate balance.",
22
+ "User can describe the hardship: cause, duration estimate (temporary vs ongoing), supporting documentation available.",
23
+ "User knows the loan type: conventional, FHA, VA, USDA, private — different rules and programs apply.",
24
+ "User has 2-3 months of income + expense snapshots ready (servicers ask for budget figures)."
25
+ ],
26
+ "estimated_call_duration_minutes": 45
27
+ },
28
+ "principles": [
29
+ "Talk to LOSS MITIGATION, not customer service. Loss-mit is the team with actual authority to modify, defer, or restructure. Customer service can only take payments.",
30
+ "Use the right vocabulary: 'forbearance' (temporary pause), 'loan modification' (permanent rate / term change), 'repayment plan' (catch-up over months), 'deferral' (move missed payments to end of loan). Asking for the wrong one wastes 20 minutes.",
31
+ "Frame as 'I want to keep paying — what's the structured path that works?' — NOT 'I can't pay'. Servicers route motivated borrowers to better programs than panicked ones.",
32
+ "Federal programs may apply: HAMP successor flex-mod, FHA partial claim, VA loan-mod, federal student-loan IDR / PSLF. Mention the loan type to anchor the rep on relevant programs.",
33
+ "DO NOT agree to anything on the first call. 'I'd like to understand the options. I will not be agreeing to anything today — I need to review and confirm with my [operator / co-signer].' This protects against accidental credit damage.",
34
+ "Some 'modifications' report negatively to credit bureaus (e.g., 'partial payment' codes). Always ask: 'How will this be reported to the bureaus?' before agreeing."
35
+ ],
36
+ "phrases": {
37
+ "opener": "Hi, I'd like to speak with the loss-mitigation team about my [mortgage / auto loan / personal loan / student loan]. I'm exploring options for a [forbearance / repayment plan / modification] due to [hardship category]. I'm in inquiry mode today — I won't be agreeing to anything on this call.",
38
+ "ask_for_loss_mit": "If I'm with general customer service, can you transfer me to the loss-mitigation or hardship-assistance team directly?",
39
+ "name_the_loan_type": "Just to anchor the conversation — this is a [conventional / FHA / VA / USDA / private] loan, originated [year], current balance approximately [$amount].",
40
+ "ask_for_all_programs": "Can you walk me through ALL the programs I might be eligible for — forbearance, repayment plan, modification, deferral — and for each, the impact on (a) monthly payment, (b) total interest, (c) credit-bureau reporting, and (d) whether it extends the loan term?",
41
+ "credit_impact_question": "How will [each option] be reported to Equifax / Experian / TransUnion? Will it show as 'paying as agreed', 'modified', 'partial payment', 'in forbearance', or something else?",
42
+ "documentation_question": "What documentation do you need from me to formally apply — hardship letter, tax returns, paystubs, bank statements, hardship affidavit?",
43
+ "hold_for_approval": "These options are helpful. I'm going to take this information back to [operator / co-signer / spouse], review the impact on credit and total interest, and call back to formally apply. Can you note today's conversation on the account and give me a reference number?",
44
+ "decline_pressure": "I hear you on the streamlined option, but I'm not in a position to commit today. Send me the terms in writing and I'll review and come back to you.",
45
+ "graceful_close": "Thanks. Can you confirm what's been noted on the account, list the program names and timing windows I can apply for, and give me your name and a direct extension if available?"
46
+ },
47
+ "tactics": [
48
+ {
49
+ "name": "Get to loss-mit fast",
50
+ "when": "Connected to general CS.",
51
+ "script": "Use `ask_for_loss_mit`. Loss-mit teams have written authority levels CS doesn't. If you can't get transferred, ask for the loss-mit DIRECT number.",
52
+ "priority": 1
53
+ },
54
+ {
55
+ "name": "Set scope: inquiry only",
56
+ "when": "First substantive turn.",
57
+ "script": "Use `opener`. Stating up front that you're not committing today removes pressure tactics and gets clearer information.",
58
+ "priority": 2
59
+ },
60
+ {
61
+ "name": "Get the full menu",
62
+ "when": "Rep starts pitching ONE program.",
63
+ "script": "Use `ask_for_all_programs`. Otherwise reps default to the most-pitched option, which isn't always the user's best fit.",
64
+ "priority": 3
65
+ },
66
+ {
67
+ "name": "Pin credit reporting per option",
68
+ "when": "Each program is described.",
69
+ "script": "Use `credit_impact_question` for EACH option. 'In forbearance' reports differently than 'partial payment', and the differences cost real points on the user's credit score for years.",
70
+ "priority": 4
71
+ },
72
+ {
73
+ "name": "Capture documentation requirements",
74
+ "when": "Programs identified.",
75
+ "script": "Use `documentation_question`. Many federal programs require a hardship affidavit, 2 years of returns, recent paystubs, and bank statements. Knowing this saves a callback."
76
+ },
77
+ {
78
+ "name": "Resist same-call commitment",
79
+ "when": "Rep pushes 'we can lock this in right now.'",
80
+ "script": "Use `decline_pressure`. Some 'streamlined' programs reduce future eligibility for better federal options — never agree without time to compare."
81
+ },
82
+ {
83
+ "name": "Lock in writeback",
84
+ "when": "Inquiry complete.",
85
+ "script": "Use `graceful_close`. Notes on file + program names + windows + rep name. Without these, the next rep starts from zero."
86
+ }
87
+ ],
88
+ "boundaries": [
89
+ "Do NOT agree to ANY plan, modification, forbearance, settlement, or rate change without explicit operator approval. Inquiry only.",
90
+ "Do NOT make a partial payment 'as a good-faith gesture' — partial payments can be applied as suspense items and trigger negative credit reporting.",
91
+ "Do NOT verbally accept a 'trial modification' — these convert to permanent and have credit-reporting consequences.",
92
+ "Do NOT provide full SSN, full DOB, full income unless the loss-mit team confirms it's required to enter the program AND operator has approved disclosure.",
93
+ "Do NOT discuss settlement / charge-off — those are last-resort and severely impact credit and may have tax consequences (cancellation of debt income).",
94
+ "Do NOT close the call without notes-on-file and rep name."
95
+ ],
96
+ "success_signals": [
97
+ "Connected to loss-mit / hardship-assistance team (not general CS).",
98
+ "Multiple programs described with payment, interest, term, and credit-reporting impact for each.",
99
+ "Documentation checklist obtained.",
100
+ "Account noted with today's inquiry; reference number issued.",
101
+ "No pressure to commit on the call."
102
+ ],
103
+ "failure_signals": [
104
+ "Rep insists on a same-day commitment with 'limited-time' framing — that's a pressure tactic.",
105
+ "Cannot reach loss-mit and CS won't transfer.",
106
+ "Rep refuses to disclose credit-bureau reporting impact.",
107
+ "Account already in delinquency status that changes available options (note and escalate).",
108
+ "Rep proposes settlement / charge-off as the first option — escalate."
109
+ ],
110
+ "exit_strategy": {
111
+ "on_success": "Bring program comparison back to operator with: monthly payment, interest impact, term impact, credit reporting, documentation needed, application window. Get operator's pick. Schedule the application call.",
112
+ "on_failure": "If loss-mit was unreachable: try at off-peak hours (Tue-Thu, 10am-2pm local). If credit-impact disclosure was refused: escalate to a supervisor or file CFPB complaint. If hardship is severe: consult HUD-approved housing counselor (mortgage) or a nonprofit credit counselor.",
113
+ "follow_ups": [
114
+ "Send hardship-letter draft to operator for approval.",
115
+ "Calendar: application deadline.",
116
+ "If federal program (FHA partial claim, VA loan-mod, etc.): research program-specific timelines.",
117
+ "If student loan: explore IDR (income-driven repayment) and PSLF separately."
118
+ ]
119
+ },
120
+ "required_user_info": [
121
+ "Loan account number, type, originator, current balance, monthly payment",
122
+ "Hardship category: income loss, medical, divorce, business, other",
123
+ "Hardship duration estimate: temporary (<6 mo), extended (6-18 mo), permanent",
124
+ "Income + expense snapshot (gross, net, fixed obligations)",
125
+ "Operator approval scope (inquiry only vs ready to apply)",
126
+ "Any prior loss-mit history on this loan"
127
+ ],
128
+ "contributed_by": "banking-finance agent (v0.9.87 community drop)",
129
+ "updated_at": "2026-05-20T06:09:47Z"
130
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "id": "move-out-walkthrough",
3
+ "name": "Request and Document a Move-Out Walkthrough",
4
+ "version": "1.0.1",
5
+ "category": "real-estate",
6
+ "tags": [
7
+ "move-out",
8
+ "walkthrough",
9
+ "inspection",
10
+ "security-deposit",
11
+ "documentation",
12
+ "phone-call",
13
+ "housing-tenancy"
14
+ ],
15
+ "description": "Call the landlord or property manager to schedule a joint move-out walkthrough (also called a pre-move-out or final inspection) — and lock in the conditions, attendees, and documentation that protect the tenant's security deposit.",
16
+ "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.",
17
+ "context": {
18
+ "when_to_use": "User has given notice of move-out (or is about to). Ideally schedule the walkthrough 5–10 days BEFORE the actual move-out so the tenant has time to cure any issues the landlord flags. Some states (e.g. California) give the tenant a STATUTORY RIGHT to a pre-move-out inspection — ask the operator to check.",
19
+ "preconditions": [
20
+ "User has given written notice of move-out OR has a confirmed lease end date.",
21
+ "User has move-in photos / video (or the original move-in inspection sheet).",
22
+ "User has 2–3 windows of availability for the walkthrough.",
23
+ "User has reviewed the lease for any specific move-out clauses (carpet cleaning, hole patching, paint touch-up requirements)."
24
+ ],
25
+ "estimated_call_duration_minutes": 8
26
+ },
27
+ "principles": [
28
+ "A pre-move-out walkthrough is a tenant's strongest deposit-protection tool. Schedule it.",
29
+ "Have the walkthrough BEFORE you move your stuff out — the empty unit reveals more, but doing it 5–10 days early gives time to cure flagged issues.",
30
+ "Bring a written checklist and a camera. Photograph every flagged item with the landlord present, timestamped.",
31
+ "If the landlord won't do a joint walkthrough, do a SOLO walkthrough with timestamped photos / video of every wall, appliance, floor, fixture, and outlet — that record is admissible.",
32
+ "Get the landlord to sign or initial a walkthrough checklist if possible. If not, email a recap immediately.",
33
+ "Never accept verbal 'oh that's fine' assurances — those are the items that come back as deductions. Insist on written acknowledgment."
34
+ ],
35
+ "phrases": {
36
+ "opener": "Hi, my move-out is [date] and I'd like to schedule a pre-move-out walkthrough with you. In my jurisdiction tenants are generally entitled to one — and even where it's not required, it protects both of us. What times work in the next [5–10 days]?",
37
+ "confirm_purpose": "Just so we're aligned: the goal is to walk the unit together, identify anything you'd flag as damage so I can cure it before move-out, and agree on the move-in baseline. Sound good?",
38
+ "ask_who_attends": "Will it be you or another team member doing the walkthrough? Could I get their name?",
39
+ "ask_for_checklist": "Do you have a standard walkthrough form, or should I bring my own checklist?",
40
+ "ask_for_post_walkthrough_summary": "After the walkthrough can you email me a written list of anything you flagged, and what I'd need to do to cure it? I want to make sure we have the same record before move-out.",
41
+ "deflect_no_walkthrough": "No worries if it's not standard for you. I'll do a solo walkthrough with photos then — and I'll email the photos to you the same day so we have a shared record.",
42
+ "graceful_close": "Great — putting [day/time] in my calendar. I'll bring my move-in photos and a checklist. See you then."
43
+ },
44
+ "tactics": [
45
+ {
46
+ "name": "Open by naming the right and the timing",
47
+ "when": "First substantive turn.",
48
+ "script": "Use the `opener`. Naming the legal frame ('tenants are generally entitled') signals the tenant knows the process without being adversarial.",
49
+ "priority": 1
50
+ },
51
+ {
52
+ "name": "State the purpose explicitly",
53
+ "when": "After scheduling is initiated.",
54
+ "script": "Use `confirm_purpose`. Pre-naming the goal — cure flagged items, agree on baseline — prevents the walkthrough from devolving into a vague conversation.",
55
+ "priority": 2
56
+ },
57
+ {
58
+ "name": "Identify the attendee and ask for their checklist",
59
+ "when": "Once a window is selected.",
60
+ "script": "Use `ask_who_attends` and `ask_for_checklist`. Knowing the form in advance lets the tenant address items the landlord cares about.",
61
+ "priority": 3
62
+ },
63
+ {
64
+ "name": "Pre-arm the written summary",
65
+ "when": "Before ending the call.",
66
+ "script": "Use `ask_for_post_walkthrough_summary`. The post-walkthrough email is the document that wins (or prevents) the deposit dispute.",
67
+ "priority": 4
68
+ },
69
+ {
70
+ "name": "Fall back to solo walkthrough",
71
+ "when": "Landlord refuses to do a joint walkthrough.",
72
+ "script": "Use `deflect_no_walkthrough`. Then do a thorough solo walkthrough with timestamped photos and video and email a full set to the landlord same day with a written summary. The refusal itself helps the tenant's posture if disputed later."
73
+ }
74
+ ],
75
+ "boundaries": [
76
+ "Do NOT skip the walkthrough because the landlord seems friendly — friendly landlords change their mind when they see a contractor quote.",
77
+ "Do NOT sign any move-out condition document on the spot unless you've reviewed it. Take it home and review.",
78
+ "Do NOT agree to verbal-only assurances about what's 'fine.' Get every flagged item in writing.",
79
+ "Do NOT raise unrelated complaints (rent disputes, prior issues) during the walkthrough — it muddies the record.",
80
+ "Do NOT pay any move-out fees on the walkthrough call — those belong in the final accounting."
81
+ ],
82
+ "success_signals": [
83
+ "Joint walkthrough scheduled BEFORE move-out date.",
84
+ "Landlord agrees to send a written list of flagged items afterwards.",
85
+ "Landlord names the attendee and is willing to use a checklist.",
86
+ "Pre-move-out gives the tenant time to cure any flagged item before final."
87
+ ],
88
+ "failure_signals": [
89
+ "Landlord refuses any walkthrough.",
90
+ "Landlord schedules walkthrough only on move-out day (no time to cure).",
91
+ "Landlord refuses to send written summary.",
92
+ "Landlord insists on signed releases or waivers at the walkthrough."
93
+ ],
94
+ "exit_strategy": {
95
+ "on_success": "Confirm date, time, attendee name, and that a written summary will follow. Operator should email a recap within 1 hour confirming the appointment.",
96
+ "on_failure": "Plan and execute a solo walkthrough with full photo / video documentation. Email the landlord a same-day recap with photos attached, noting the request for a joint walkthrough was declined.",
97
+ "follow_ups": [
98
+ "Bring move-in photos / video to the walkthrough on phone or printed.",
99
+ "Bring a written checklist covering every room, appliance, wall, floor, fixture.",
100
+ "Take a new photo of every item the landlord flags WITH the landlord visible if possible.",
101
+ "Send a recap email within 24 hours summarising what was flagged and the cure plan.",
102
+ "Calendar a follow-up cure-by date if anything was flagged."
103
+ ]
104
+ },
105
+ "required_user_info": [
106
+ "Move-out date and notice date",
107
+ "Move-in photos / video / inspection sheet",
108
+ "Lease copy with any move-out clauses highlighted",
109
+ "Two or three pre-move-out walkthrough windows",
110
+ "Landlord name + property manager number"
111
+ ],
112
+ "contributed_by": "housing-tenancy agent (v0.9.87 community drop)",
113
+ "updated_at": "2026-05-20T06:09:47Z"
114
+ }