@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,114 @@
1
+ {
2
+ "id": "hold-warmth-cold-rep",
3
+ "name": "Hold Warmth While the Rep Is Cold and Transactional",
4
+ "version": "1.0.0",
5
+ "category": "other",
6
+ "tags": [
7
+ "warmth",
8
+ "tone",
9
+ "phone-call",
10
+ "rapport",
11
+ "transactional",
12
+ "patience",
13
+ "emotional-intelligence"
14
+ ],
15
+ "description": "Stay warm, human, and patient when the rep is clipped, robotic, script-bound, or visibly checked out. Warmth is not a feeling here — it is a discipline that often thaws the rep enough to unlock judgement they were withholding.",
16
+ "disclaimer": null,
17
+ "context": {
18
+ "when_to_use": "The rep is reading off a script, giving one-word answers, refusing to deviate, using formal titles only, or sounds tired/dead-eyed. Common in high-volume call centers, government lines, insurance claims, and end-of-shift hours. Use when the goal requires ANY discretion from the rep (waivers, exceptions, expedites).",
19
+ "preconditions": [
20
+ "You have enough time to let warmth do its slow work — this is not a 90-second call.",
21
+ "You are NOT angry yourself. Cold rep + frustrated caller = stalemate.",
22
+ "The operator's goal benefits from rep discretion, not just rule lookup."
23
+ ],
24
+ "estimated_call_duration_minutes": 15
25
+ },
26
+ "principles": [
27
+ "Cold is usually armour, not personality. Most reps started warmer and got punished for it. Don't take it personally.",
28
+ "Warmth ≠ chatty. You can be warm in five words. Warm = patient, present, specific, and not in a hurry to perform.",
29
+ "Use their name. Once early, once mid-call, once at goodbye. More than that becomes a sales tactic and they'll notice.",
30
+ "Specific micro-thanks beat sweeping gratitude. 'Thank you for pulling that up' lands; 'You've been so helpful' is wallpaper.",
31
+ "Do not try to cheer them up. That's a performance and they can feel it. Just be a person who is not hostile.",
32
+ "The shift, when it comes, is small. Don't chase it — receive it."
33
+ ],
34
+ "phrases": {
35
+ "warm_opener": "Hi [name], thanks for picking up. I'll be brief and clear — appreciate your time.",
36
+ "humanise_small": "No rush on my end, take whatever time you need to check.",
37
+ "specific_thanks": "Thank you — that's exactly the detail I needed.",
38
+ "soft_curiosity": "Out of curiosity — and only if you can share — does the system usually let you do [X], or is that always a supervisor thing?",
39
+ "acknowledge_their_constraint": "I can tell you're working within what the system lets you do. I'm not asking you to break anything — just trying to figure out what door IS open.",
40
+ "warm_goodbye": "[Name], genuinely — thank you. Hope the rest of your shift is a kind one."
41
+ },
42
+ "tactics": [
43
+ {
44
+ "name": "Open warm, then get out of the way",
45
+ "when": "First 15 seconds.",
46
+ "script": "Use the `warm_opener`. State the goal in one sentence. Then stop talking. Reps brace for ramblers; brevity is its own warmth.",
47
+ "priority": 1
48
+ },
49
+ {
50
+ "name": "Patience as signal",
51
+ "when": "Rep says 'one moment' / 'let me check' / goes quiet.",
52
+ "script": "Do NOT fill the silence. Use `humanise_small` once if it stretches past 30 seconds. Comfortable silence reads as respect; nervous chatter reads as pressure.",
53
+ "priority": 2
54
+ },
55
+ {
56
+ "name": "Tone-shift detector — FIRST THAW",
57
+ "when": "Rep says something not in the script: a small opinion, a joke attempt, an explanation of WHY a rule exists, your first name unprompted.",
58
+ "script": "This is the moment. Match the half-step warmer, ask ONE soft question (`soft_curiosity`) — you've just been invited into discretion. Do not overplay; one question, not three.",
59
+ "priority": 3
60
+ },
61
+ {
62
+ "name": "Acknowledge their cage",
63
+ "when": "Rep tells you they can't do something — and you suspect 'can't' means 'not allowed to without justification.'",
64
+ "script": "Use `acknowledge_their_constraint`. You're telling them you understand they have a boss too. This is often what unlocks the 'well, one thing I CAN do is…' sentence.",
65
+ "priority": 4
66
+ },
67
+ {
68
+ "name": "Tone-shift detector — RE-FREEZE",
69
+ "when": "Rep audibly returns to script voice, or starts answering through closed teeth again.",
70
+ "script": "Something you said triggered the armour. Most likely: you pushed too hard, you sounded entitled, or a supervisor walked behind them. Back off, get crisply transactional yourself for 60 seconds, try warmth again later.",
71
+ "priority": 5
72
+ },
73
+ {
74
+ "name": "Use their name at the goodbye",
75
+ "when": "Last 20 seconds of the call.",
76
+ "script": "Use `warm_goodbye`. The end of a call is when reps remember you. Make the memory pleasant — they may help you better next time."
77
+ }
78
+ ],
79
+ "boundaries": [
80
+ "Do NOT fake warmth — reps are professional warmth-detectors. Be a quiet, present person instead.",
81
+ "Do NOT ask personal questions ('long shift?', 'where are you calling from?'). Crossing into their life uninvited reads as a sales play.",
82
+ "Do NOT comment on their coldness ('you sound tired', 'are you having a tough day?'). It corners them.",
83
+ "Do NOT mistake one warm moment for friendship — the rep can still say no, and that is still their job.",
84
+ "Do NOT carry false warmth into the close. If they stayed cold and gave you what you needed, just be respectfully crisp at goodbye."
85
+ ],
86
+ "success_signals": [
87
+ "Rep volunteers a workaround you didn't ask for.",
88
+ "Rep uses your name unprompted.",
89
+ "Rep explains the WHY of a policy, not just the rule.",
90
+ "Rep says 'between you and me' or 'off the record' — discretion just opened.",
91
+ "Rep tone softens for the next caller (you hear them say goodbye to you warmly)."
92
+ ],
93
+ "failure_signals": [
94
+ "20+ minutes in, still receiving one-word answers.",
95
+ "Rep starts cutting you off mid-sentence.",
96
+ "You catch yourself performing — the warmth has gone hollow.",
97
+ "Rep transfers you without a warm handoff."
98
+ ],
99
+ "exit_strategy": {
100
+ "on_success": "Confirm the outcome cleanly. Use the warm goodbye. Note the rep's name and ID if given — operator may want this rep again.",
101
+ "on_failure": "Close warmly anyway — you may call back. Cold reps are often warmer with different callers; a callback is not wasted.",
102
+ "follow_ups": [
103
+ "Log the rep ID and whether warmth shifted them — pattern over time tells you which lines reward warmth and which reward crisp efficiency.",
104
+ "If the goal wasn't met, brief the operator on what door, if any, the rep hinted was open."
105
+ ]
106
+ },
107
+ "required_user_info": [
108
+ "Operator's goal and which parts require rep discretion vs. pure lookup.",
109
+ "How much time the operator has — warmth needs runway.",
110
+ "Whether the operator wants to be transferred to a supervisor as a fallback."
111
+ ],
112
+ "contributed_by": "emotional-intel agent (v0.9.87 community drop)",
113
+ "updated_at": "2026-05-20T06:09:47Z"
114
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "id": "hotel-walk-over-recovery",
3
+ "name": "Hotel 'Walked' — Get a Real Comparable Room at the Original Rate",
4
+ "version": "1.0.1",
5
+ "category": "travel",
6
+ "tags": ["hotel", "walking", "overbook", "loyalty", "marriott", "hilton", "hyatt", "ihg"],
7
+ "description": "The hotel is overbooked and is 'walking' you to a sister or partner property. This skill secures the brand-mandated remedies: comparable room, paid transport, free first night, points compensation, and a path back to the original property for subsequent nights.",
8
+ "disclaimer": null,
9
+ "context": {
10
+ "when_to_use": "User arrives at the hotel and is told their room is unavailable due to overbooking, maintenance, or oversold conditions. Most powerful inside the Big Four loyalty programs (Marriott Bonvoy, Hilton Honors, Hyatt World of Hyatt, IHG One Rewards) because the brand-level walk policies are written and enforceable.",
11
+ "preconditions": [
12
+ "User has the original reservation confirmation (printed, screenshot, or in app).",
13
+ "User has their loyalty number and tier (if any).",
14
+ "User has not yet checked in (or has, but the room is unavailable for tonight)."
15
+ ],
16
+ "estimated_call_duration_minutes": 15
17
+ },
18
+ "principles": [
19
+ "Brand walk policies are written, public-facing, and enforceable at the front desk. Marriott Bonvoy's 'Ultimate Reservation Guarantee' is a published page; Hilton, Hyatt, and IHG all have analogues. Have the page bookmarked.",
20
+ "Comparable means equal or better: same brand tier or higher, same room category (e.g. king bed, not double-double), same general location.",
21
+ "Walked guests get the FIRST night free at the new property, paid transport, and one free phone call. For elite members, additional point compensation applies (e.g. Marriott: 90,000 Bonvoy points + $100 cash for Platinum and above).",
22
+ "The duty manager — not the front-desk agent — is the right person to talk to. Ask politely but firmly.",
23
+ "Get the remedy in writing BEFORE leaving the original property. A signed note from the manager or a printed confirmation prevents 'he said / she said' the next morning.",
24
+ "Loop the brand's customer care line if the property stonewalls. Marriott Bonvoy Member Support, Hilton Honors Diamond Desk, Hyatt Concierge — these can call the property and force compliance."
25
+ ],
26
+ "phrases": {
27
+ "opener": "Hi, I just learned you can't honor my reservation tonight — confirmation [number]. These things happen. Let's walk through the brand's walk policy together so we get this right: comparable room at a comparable property, you pay tonight, you cover transport, and the points compensation per your program.",
28
+ "ask_for_duty_manager": "Could the duty manager join us? I want to make sure we agree on which property I'm being walked to and what the compensation is, and they're usually the right person for that conversation.",
29
+ "specify_comparable": "I booked a [room type] for [nights]. The replacement should be the same category or better, same brand tier or higher, and within reasonable distance — I'd say [10–15] minutes by car. What property do you have in mind?",
30
+ "ask_for_transport": "Will you arrange a car or taxi voucher? Per policy that's on the hotel.",
31
+ "ask_for_points": "Since I'm a [tier] member, I'd like to apply the [program] walk compensation — for Marriott Bonvoy that's [90,000 points + $100] at my tier. Can you log that to my account before I leave?",
32
+ "ask_for_return": "I'd like to come back here for the remainder of my stay starting tomorrow. Can you confirm that and hold the room? I'd prefer to be in one place.",
33
+ "loop_brand_care": "If we can't agree at the property, I'll call [Marriott Bonvoy Member Support / Hilton Diamond Desk / Hyatt Concierge] together with you so we're on the same page.",
34
+ "graceful_close_success": "Thanks for handling this professionally. Can I get a printed note confirming: walked to [property] tonight, transport covered, [points/cash] credited, and returning to this property tomorrow with [room type] held?",
35
+ "graceful_close_failure": "Alright — I'll be calling [brand] member services now and filing a formal complaint. Please print or email me what you can confirm: comparable property name, address, and check-in instructions."
36
+ },
37
+ "tactics": [
38
+ {
39
+ "name": "Stay calm, voice low",
40
+ "when": "First moment after hearing 'we can't honor your reservation'.",
41
+ "script": "Walking is stressful but the front-desk agent didn't do this to you. The hotel revenue management system did. Anger forfeits goodwill; calm extracts maximum remedy. Channel slight disappointment, not anger.",
42
+ "priority": 1
43
+ },
44
+ {
45
+ "name": "Cite the brand walk policy by name",
46
+ "when": "Negotiating the remedy.",
47
+ "script": "Marriott: 'Ultimate Reservation Guarantee — compensation for not honoring a confirmed reservation.' Hilton: 'Hilton Honors guest service guarantee.' Hyatt: 'Guest of Honor / Globalist guarantee.' IHG: 'Service Guarantee.' Front desks know these but won't volunteer them.",
48
+ "priority": 2
49
+ },
50
+ {
51
+ "name": "Specify 'comparable' explicitly",
52
+ "when": "Property suggests an alternative.",
53
+ "script": "Push back on: a downbrand (e.g. Courtyard when you booked Westin), a downgrade in room type, or a property 30+ minutes away. Ask what other partner properties they have within 15 min that match your original tier.",
54
+ "priority": 3
55
+ },
56
+ {
57
+ "name": "Lock in the points + cash element",
58
+ "when": "Loyalty member at elite tier.",
59
+ "script": "Marriott Platinum+: 90,000 points + $100 cash (Ultimate Reservation Guarantee). Hilton Diamond: 'walk' policy adds extra points + cash equivalent depending on property. Get the points posted to your account BEFORE leaving — front desk can do it.",
60
+ "priority": 4
61
+ },
62
+ {
63
+ "name": "Demand a written remedy slip",
64
+ "when": "Before walking out the door.",
65
+ "script": "Ask for a printed confirmation: name of replacement property, tonight is comped, who's paying transport, points credited, and tomorrow's return room type. Sign it together. Photograph it."
66
+ },
67
+ {
68
+ "name": "Plan the return night",
69
+ "when": "Multi-night stay.",
70
+ "script": "If you booked 4 nights and are walked tonight, you want to come back tomorrow. Get the original property to commit in writing to your room type and any upgrade/late-checkout you had."
71
+ },
72
+ {
73
+ "name": "Call brand care if the property refuses",
74
+ "when": "Front desk says no to the written policy.",
75
+ "script": "Marriott Bonvoy Member Support: 800-535-4028 (or Bonvoy app chat). Hilton Diamond Desk: 800-548-8690. Hyatt Concierge: 800-323-7249. IHG: 888-211-9874. Call ON THE SPOT, with the front desk standing there."
76
+ }
77
+ ],
78
+ "boundaries": [
79
+ "Do NOT raise your voice — front-desk agents have the power to make this go very badly. Calm + cited policy = leverage.",
80
+ "Do NOT accept a vague 'we'll sort it out tomorrow'. Get tonight's remedy in writing tonight.",
81
+ "Do NOT leave for the partner property until you have transport arranged.",
82
+ "Do NOT cancel the reservation yourself — if you cancel, you lose 'walked' status and the program protections. Make the hotel cancel it on their end as 'walk'."
83
+ ],
84
+ "success_signals": [
85
+ "Duty manager engages directly.",
86
+ "Property names the brand walk policy without prompting.",
87
+ "Transport is offered automatically.",
88
+ "Points/cash compensation is logged in front of you.",
89
+ "Comparable property is at the same tier or higher."
90
+ ],
91
+ "failure_signals": [
92
+ "Offer is a sister-brand downbrand (Sheraton walked to Aloft, Hilton walked to Hampton Inn).",
93
+ "Replacement is 30+ min away with no transport.",
94
+ "Property refuses to commit to your return night.",
95
+ "Duty manager refuses to come out."
96
+ ],
97
+ "exit_strategy": {
98
+ "on_success": "Take the printed remedy slip, ride the comped transport, check in at the replacement, set an alarm for tomorrow's return. Email yourself the photo of the slip.",
99
+ "on_failure": "Pay for a competitor hotel out-of-pocket, save the receipt, and file a complaint with brand care within 24 hours. Brands usually pay even when properties resist — but only with documentation.",
100
+ "follow_ups": [
101
+ "If walking caused you to miss a paid activity (concert, tour), include that in the brand complaint — sometimes reimbursed.",
102
+ "Status credits — confirm the original night still counts toward elite-night totals; some brands credit walked stays at the original property, some don't.",
103
+ "If you paid via Amex Fine Hotels & Resorts or a similar program, loop the booking concierge — they have separate leverage."
104
+ ]
105
+ },
106
+ "required_user_info": [
107
+ "Hotel name, address, reservation confirmation number",
108
+ "Room type and rate booked",
109
+ "Number of nights, including tonight",
110
+ "Loyalty program and tier",
111
+ "Whether the stay is for a specific event (wedding, conference) requiring proximity"
112
+ ],
113
+ "contributed_by": "travel-rebooking agent (v0.9.87 community drop)"
114
+ }
@@ -0,0 +1,127 @@
1
+ {
2
+ "id": "humour-when-it-lands",
3
+ "name": "When Humour Lands and When It Offends — The Rules",
4
+ "version": "1.0.0",
5
+ "category": "other",
6
+ "tags": [
7
+ "humour",
8
+ "rapport",
9
+ "tone",
10
+ "phone-call",
11
+ "risk",
12
+ "calibration",
13
+ "emotional-intelligence"
14
+ ],
15
+ "description": "Use humour on a call to build rapport, defuse tension, and become memorable in a good way — without landing on the wrong side of someone's day. The rules for when a joke is leverage and when it is a tax.",
16
+ "disclaimer": null,
17
+ "context": {
18
+ "when_to_use": "Any call where rapport meaningfully changes the outcome — retention lines, customer service with discretion, sales calls inbound, first-meeting introductions, doctors' offices, contractors. Skip entirely on calls with: emergency services, bereavement-adjacent contexts, formal legal proceedings, and any line where the rep is visibly stressed or rushed.",
19
+ "preconditions": [
20
+ "You have a baseline read of the rep's energy.",
21
+ "You are not the one who needs the humour — you are reading whether the other person would welcome it.",
22
+ "You have a way to recover if a joke lands badly."
23
+ ],
24
+ "estimated_call_duration_minutes": 0
25
+ },
26
+ "principles": [
27
+ "Humour is a SIDE EFFECT of warmth, not a tool to manufacture it. Trying to be funny is the fastest way to be unfunny.",
28
+ "Self-deprecating > situation-observational > everything else. Never punch at the rep, the company (to the rep), or anyone not present.",
29
+ "Wait for the invitation. The rep cracks the first joke, you echo gently. Going first is high-risk and almost never necessary.",
30
+ "Dry > broad. Subtle humour leaves the rep an exit ('was that a joke?') without forcing a laugh.",
31
+ "ONE joke per call segment. Repeated humour reads as audition.",
32
+ "If a joke misses, do not double down or explain it. Move on cleanly. Explaining a joke is the second-worst social move on a phone call.",
33
+ "Phone calls strip ~30% of comedic timing. What's funny in person is mid on a phone. Calibrate down."
34
+ ],
35
+ "phrases": {
36
+ "safe_self_deprecating": "I am NOT a morning-call kind of person, you've caught me on my second coffee — bear with me.",
37
+ "safe_situational": "Of course the form asks for that — it always asks for the one thing I don't have in front of me.",
38
+ "echo_their_joke_low_risk": "Ha — yeah, fair.",
39
+ "echo_their_joke_warm": "Okay, I needed that — thank you.",
40
+ "recover_after_miss": "Anyway — back to it.",
41
+ "decline_a_dark_joke": "Mm — okay. So, on [topic]…"
42
+ },
43
+ "tactics": [
44
+ {
45
+ "name": "Wait one full turn before any humour",
46
+ "when": "Always.",
47
+ "script": "Do not joke in the first 30 seconds. You haven't read the rep yet. Premature humour is the most common miss.",
48
+ "priority": 1
49
+ },
50
+ {
51
+ "name": "Tone-shift detector — REP CRACKS A JOKE",
52
+ "when": "Rep makes a self-deprecating remark, a dry observation, or a small absurd aside.",
53
+ "script": "Echo gently (`echo_their_joke_low_risk` or `echo_their_joke_warm`). Do NOT try to top them. Echoing reads as warmth; topping reads as competition.",
54
+ "priority": 2
55
+ },
56
+ {
57
+ "name": "Use situational over personal",
58
+ "when": "You feel a window for one light remark.",
59
+ "script": "Use `safe_situational`. Joking about the form, the hold music, the weather is low-risk. Joking about the rep's accent, name, mood, or company is high-risk.",
60
+ "priority": 3
61
+ },
62
+ {
63
+ "name": "Self-deprecating as the safest opening",
64
+ "when": "You need to break the ice and the rep is neutral.",
65
+ "script": "Use `safe_self_deprecating`. A joke at YOUR expense costs the rep nothing — they can laugh without complicity. Universal safe move.",
66
+ "priority": 4
67
+ },
68
+ {
69
+ "name": "Tone-shift detector — JOKE LANDED",
70
+ "when": "Rep audibly laughs, you hear a smile in their voice, they riff back.",
71
+ "script": "Do not press the advantage. Move to the task immediately. Humour bought you rapport — spending it on the goal is the play.",
72
+ "priority": 5
73
+ },
74
+ {
75
+ "name": "Tone-shift detector — JOKE MISSED",
76
+ "when": "Silence, a flat 'okay,' a return to script voice.",
77
+ "script": "Use `recover_after_miss`. Do NOT acknowledge the miss directly ('sorry, that was a bad one' makes it worse). Just keep moving. The rep will pretend it didn't happen if you do.",
78
+ "priority": 6
79
+ },
80
+ {
81
+ "name": "Tone-shift detector — REP GETS DARK",
82
+ "when": "Rep makes a joke that's racist, sexist, cruel, or about a serious topic.",
83
+ "script": "Do not laugh. Do not lecture. Use `decline_a_dark_joke` — a non-response and a hard pivot back to task. The non-laugh IS the response.",
84
+ "priority": 7
85
+ },
86
+ {
87
+ "name": "No callbacks late in the call",
88
+ "when": "After the first joke has been used.",
89
+ "script": "Resist the urge to callback the joke later. Repeated humour is auditioning. One joke per call segment is the ceiling."
90
+ }
91
+ ],
92
+ "boundaries": [
93
+ "Do NOT joke about: the rep's accent, name, perceived age/gender, location, or workload.",
94
+ "Do NOT joke about the operator's situation if it's sensitive (medical, legal, grief).",
95
+ "Do NOT use political, religious, or geopolitical humour. Ever. The downside cost dwarfs the upside.",
96
+ "Do NOT use sarcasm directed at the rep — even gentle sarcasm reads sharp on the phone.",
97
+ "Do NOT laugh at jokes that are racist, sexist, or otherwise cruel, even out of social reflex.",
98
+ "Do NOT use humour as deflection from a real question the rep asked."
99
+ ],
100
+ "success_signals": [
101
+ "Rep audibly laughs and the next sentence is more open.",
102
+ "Rep volunteers a story or aside they wouldn't have shared with a stiff caller.",
103
+ "Rep uses your name unprompted afterwards.",
104
+ "You feel slightly lighter and the rep does too — and the goal still landed."
105
+ ],
106
+ "failure_signals": [
107
+ "Silence after the joke.",
108
+ "Rep's tone gets MORE formal after the joke than before.",
109
+ "You explained the joke.",
110
+ "You used humour three times to deflect a real question."
111
+ ],
112
+ "exit_strategy": {
113
+ "on_success": "End the call with one warm beat (callback NOT recommended — a simple 'genuinely, thank you for being a good sport about all this' is enough).",
114
+ "on_failure": "If a joke offended, do not apologise extensively — one quiet 'sorry, that wasn't the right read' and back to task. Over-apologising amplifies the mistake.",
115
+ "follow_ups": [
116
+ "Self-debrief: what made the joke land or miss? Log it for future calls to the same line.",
117
+ "Note which industries / call types reward humour and which don't — pattern over time matters more than any single call."
118
+ ]
119
+ },
120
+ "required_user_info": [
121
+ "Any topics absolutely off-limits for the operator (personal sensitivities, ongoing situations).",
122
+ "The operator's preferred style — some want crisp business calls and would be uncomfortable with humour even when it would work.",
123
+ "Cultural context — humour translates very unevenly across languages and regions."
124
+ ],
125
+ "contributed_by": "emotional-intel agent (v0.9.87 community drop)",
126
+ "updated_at": "2026-05-20T06:09:47Z"
127
+ }
@@ -0,0 +1,134 @@
1
+ {
2
+ "id": "i20-visa-dso",
3
+ "name": "International-Student I-20 / Visa Issue with the DSO",
4
+ "version": "1.0.0",
5
+ "category": "other",
6
+ "tags": [
7
+ "international",
8
+ "F-1",
9
+ "J-1",
10
+ "I-20",
11
+ "SEVIS",
12
+ "DSO",
13
+ "visa",
14
+ "phone-call",
15
+ "education"
16
+ ],
17
+ "description": "Call the international-students office's Designated School Official (DSO) to handle an I-20 / SEVIS / F-1 (or J-1) status issue: late arrival, reduced course load, change of major or program level, employment authorization (CPT / OPT), travel signature, transfer-in / transfer-out, dependent I-20s, and status reinstatement after a violation.",
18
+ "disclaimer": "Immigration status is governed by federal regulations (8 CFR 214.2(f) / (j) for F-1 / J-1, and SEVP / DOS policy). The DSO is the ONLY person authorized to update SEVIS for an F-1; the Responsible Officer (RO/ARO) does so for J-1. Nothing in this skill is legal advice; complex cases (visa fraud accusations, reinstatement denials, immigrant intent disputes) warrant an immigration attorney.",
19
+ "context": {
20
+ "when_to_use": "User is on F-1 or J-1 status and needs to (a) get a travel signature on the I-20 / DS-2019, (b) authorize Curricular Practical Training or apply for Optional Practical Training, (c) drop below full course load (RCL — Reduced Course Load) for medical, academic, or final-term reasons, (d) change major / program level / education level, (e) transfer SEVIS record to another school, (f) add dependents (F-2 / J-2), (g) request reinstatement after a status violation, or (h) handle visa-stamp / port-of-entry issues for re-entry.",
21
+ "preconditions": [
22
+ "User has SEVIS ID (starts with N00…), passport, I-20 or DS-2019, visa stamp, and most recent I-94 (download from CBP).",
23
+ "User knows the specific issue, including dates (start of program, last entry, current term dates).",
24
+ "User has checked the international-students office's website for the request form (most issues have a specific form: travel signature request, RCL request, CPT request, OPT request, etc.)."
25
+ ],
26
+ "estimated_call_duration_minutes": 25
27
+ },
28
+ "principles": [
29
+ "Only the DSO can touch SEVIS. Not the registrar, not the dean, not the professor. If front-desk staff is making promises about SEVIS, slow down and confirm with a DSO.",
30
+ "Timelines are FEDERAL, not institutional. Late arrival, dropping below full-time, working without authorization — these are status violations that the school cannot waive.",
31
+ "RCL (Reduced Course Load) is the safe way to drop below 12 credits (undergrad) or 9 credits (graduate). Without an authorized RCL, dropping below is a status violation.",
32
+ "CPT must be authorized BEFORE the user starts work, on the specific employer and specific dates. Working a day early is a violation.",
33
+ "OPT applications take USCIS 3–5 months. STEM OPT extension applications are time-sensitive. Plan months ahead.",
34
+ "Travel signatures (page 2 of the I-20 / DS-2019) are valid for one year (six months while on OPT). Get a fresh one BEFORE every international trip.",
35
+ "Reinstatement is possible for some violations but requires fast action and immigration-attorney involvement for anything beyond minor lapses."
36
+ ],
37
+ "phrases": {
38
+ "opener_general": "Hi, I'm an F-1 / J-1 student, SEVIS ID [N00…]. I have a question about [travel signature / RCL / CPT / OPT / transfer / dependent / reinstatement]. Could I speak with a DSO?",
39
+ "ask_for_DSO_directly": "I'd like to speak with a Designated School Official, not just front-desk staff — this is an immigration question and I want to make sure the answer is authoritative.",
40
+ "travel_signature_request": "I'm planning international travel on [dates]. Could I get a travel signature added to page 2 of my I-20 / DS-2019? What's the process — drop-off, email, in-person?",
41
+ "RCL_request": "I need to drop below full-time enrollment this term because [medical / academic difficulty in first term / final term needs fewer credits]. Could you process an RCL authorization in SEVIS before I drop the course?",
42
+ "CPT_request": "I have a CPT internship offer from [employer]. The dates are [start-end], the hours are [N]/week, and the work is integral to my [program]. What does your office need to issue a CPT authorization on my I-20?",
43
+ "OPT_inquiry": "I'm planning to apply for post-completion OPT. My program ends [date]. When's the earliest I can file the I-765, and what does your office need to issue the OPT-recommended I-20?",
44
+ "STEM_OPT_inquiry": "I'm currently on OPT and want to apply for the 24-month STEM extension. My current OPT ends [date]. Could we map the timeline and form requirements?",
45
+ "transfer_in_or_out": "I'm transferring [in from / out to] [school] for [term]. Could we schedule the SEVIS transfer release / transfer-in pickup?",
46
+ "reinstatement": "I may have fallen out of status because [reason]. I need urgent guidance — possibly reinstatement, possibly a travel-and-reentry option. Can we get on the calendar today?",
47
+ "ask_for_director_of_OISS": "Could I escalate to the Director of International Student Services? My situation is complex and I want to make sure I'm being routed correctly.",
48
+ "graceful_close_success": "Thank you. To confirm: [form] submitted by [date], expected I-20 issuance [date], pickup method [in-person / mail / e-sign]. May I have your direct email as my DSO contact?"
49
+ },
50
+ "tactics": [
51
+ {
52
+ "name": "Get to a DSO on the first call",
53
+ "when": "Opening.",
54
+ "script": "Use `ask_for_DSO_directly`. Front-desk staff can answer logistics; only DSOs can answer the actual immigration question. Avoid building a plan on advice that has to be re-confirmed later.",
55
+ "priority": 1
56
+ },
57
+ {
58
+ "name": "Authorize BEFORE doing",
59
+ "when": "CPT, RCL, employment, travel.",
60
+ "script": "Every immigration action requires authorization in SEVIS or on the I-20 before the action. Working before CPT issuance, dropping before RCL authorization, traveling without a current signature — all are violations even when 'fixed' afterward. Use `CPT_request`, `RCL_request`, `travel_signature_request` proactively.",
61
+ "priority": 2
62
+ },
63
+ {
64
+ "name": "Plan OPT timing backward from program-end date",
65
+ "when": "Pre-final-term.",
66
+ "script": "Use `OPT_inquiry`. I-765 can be filed up to 90 days before program end and up to 60 days after. The OPT-recommended I-20 must be issued first. Total process: schedule a DSO meeting 4 months out.",
67
+ "priority": 3
68
+ },
69
+ {
70
+ "name": "Handle transfer SEVIS releases carefully",
71
+ "when": "Switching schools.",
72
+ "script": "Use `transfer_in_or_out`. The release date determines which school controls SEVIS. Don't release too early (you can lose access to the old campus systems) or too late (new school can't issue the I-20).",
73
+ "priority": 4
74
+ },
75
+ {
76
+ "name": "Treat potential status violations as same-day",
77
+ "when": "User suspects a violation (overstayed term, unauthorized work, dropped below full-time without RCL, expired I-20).",
78
+ "script": "Use `reinstatement`. Time is critical: reinstatement applications generally must be filed within 5 months of the violation, and the 'travel and reentry' option may not work after that. Get the DSO involved today, then loop in an immigration attorney.",
79
+ "priority": 5
80
+ },
81
+ {
82
+ "name": "Escalate to the OISS Director for non-standard cases",
83
+ "when": "Complex transfers, dependent issues, denied OPT, change-of-status involvement.",
84
+ "script": "Use `ask_for_director_of_OISS`. Directors handle exceptions and have direct lines to SEVP / SEVIS-help. They also know which immigration attorneys the school's students have used."
85
+ },
86
+ {
87
+ "name": "Document with photos, not staples",
88
+ "when": "Receiving the new I-20 / DS-2019.",
89
+ "script": "Photograph both pages. Keep every prior I-20 forever — OPT, H-1B, green-card adjudicators may ask for any of them years later. Don't staple or write on the I-20."
90
+ }
91
+ ],
92
+ "boundaries": [
93
+ "Do NOT work without authorization, even one hour, even unpaid 'volunteer' work in a paid role.",
94
+ "Do NOT drop below full-time without an authorized RCL in SEVIS.",
95
+ "Do NOT travel internationally without a current travel signature.",
96
+ "Do NOT misrepresent the funding or employment on the I-20 — it can affect future visa adjudications.",
97
+ "Do NOT take immigration advice from non-DSO staff, faculty, or friends as authoritative. Confirm with the DSO."
98
+ ],
99
+ "success_signals": [
100
+ "DSO confirms the action in SEVIS (RCL authorized, CPT printed on I-20, OPT-recommended I-20 issued).",
101
+ "Travel signature dated within the last 6 months.",
102
+ "Form receipt or pickup date scheduled.",
103
+ "DSO offers direct email and named follow-up.",
104
+ "Transfer release / pickup dates are aligned with the new school's start."
105
+ ],
106
+ "failure_signals": [
107
+ "Violation already occurred and reinstatement window is closing.",
108
+ "OPT timing slipped (filing window missed).",
109
+ "CPT request denied because the work isn't integral to the program.",
110
+ "Dependent I-20 can't be issued without additional financial documentation.",
111
+ "Transfer-out school disputes the release date."
112
+ ],
113
+ "exit_strategy": {
114
+ "on_success": "Confirm SEVIS action, I-20 / DS-2019 issuance date, pickup method, DSO email. Photograph the new document immediately.",
115
+ "on_failure": "Stop. Do not act on a violation track without the DSO + ideally an immigration attorney. Identify whether reinstatement, travel-and-reentry, or change-of-status is the path. Loop the operator immediately.",
116
+ "follow_ups": [
117
+ "Email operator the new I-20 / DS-2019 dates and DSO contact.",
118
+ "Calendar travel-signature expiration minus 30 days.",
119
+ "If OPT: calendar I-765 receipt notice, EAD card arrival, employer reporting deadlines, and unemployment day-count.",
120
+ "If reinstatement: calendar all filing windows and attorney consult."
121
+ ]
122
+ },
123
+ "required_user_info": [
124
+ "SEVIS ID, passport number, visa-stamp expiration, I-94 admit-until date",
125
+ "Current I-20 / DS-2019 with travel signature date",
126
+ "Program major, level (BS/MS/PhD), current term, expected end date",
127
+ "Specific issue (travel, RCL, CPT, OPT, STEM OPT, transfer, dependent, reinstatement)",
128
+ "Employer details if CPT / OPT",
129
+ "Funding source and amount on the I-20",
130
+ "History of prior status changes (CPT used, prior OPT, prior schools)"
131
+ ],
132
+ "contributed_by": "education-admin agent (v0.9.87 community drop)",
133
+ "updated_at": "2026-05-20T06:09:47Z"
134
+ }