@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.
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/skills/built-in/accommodation-intake.json +132 -0
- package/dist/skills/built-in/add-driver-vehicle-household.json +133 -0
- package/dist/skills/built-in/admissions-waitlist-followup.json +129 -0
- package/dist/skills/built-in/anchor-and-counter-anchor.json +161 -0
- package/dist/skills/built-in/anti-social-engineering.json +153 -0
- package/dist/skills/built-in/anything-else-sweep.json +120 -0
- package/dist/skills/built-in/apologise-correctly.json +126 -0
- package/dist/skills/built-in/ask-for-in-person-meeting.json +114 -0
- package/dist/skills/built-in/attorney-new-client-intake.json +133 -0
- package/dist/skills/built-in/bant-discovery-call.json +125 -0
- package/dist/skills/built-in/book-new-patient-appointment.json +131 -0
- package/dist/skills/built-in/bookmark-close.json +113 -0
- package/dist/skills/built-in/bypass-i-am-the-supervisor.json +130 -0
- package/dist/skills/built-in/bypass-scripted-rep.json +142 -0
- package/dist/skills/built-in/calibrated-questions.json +155 -0
- package/dist/skills/built-in/call-911-fire.json +118 -0
- package/dist/skills/built-in/call-911-medical-emergency.json +126 -0
- package/dist/skills/built-in/call-911-violent-crime-in-progress.json +133 -0
- package/dist/skills/built-in/call-988-crisis-line.json +128 -0
- package/dist/skills/built-in/call-poison-control.json +115 -0
- package/dist/skills/built-in/call-police-non-emergency.json +114 -0
- package/dist/skills/built-in/call-with-person-in-distress.json +133 -0
- package/dist/skills/built-in/cancel-cable-fiber-no-retention-loop.json +156 -0
- package/dist/skills/built-in/cancel-policy-clean.json +130 -0
- package/dist/skills/built-in/capture-rep-identity.json +113 -0
- package/dist/skills/built-in/childcare-provider-intake.json +157 -0
- package/dist/skills/built-in/close-account-no-residual-fees.json +127 -0
- package/dist/skills/built-in/close-on-concrete-next-step.json +116 -0
- package/dist/skills/built-in/confirm-agreement-readback.json +134 -0
- package/dist/skills/built-in/confirm-next-step-ownership.json +113 -0
- package/dist/skills/built-in/contractor-estimate-request.json +142 -0
- package/dist/skills/built-in/court-clerk-administrative-inquiry.json +119 -0
- package/dist/skills/built-in/cpa-intake-call.json +134 -0
- package/dist/skills/built-in/day-of-flight-cancellation.json +127 -0
- package/dist/skills/built-in/de-escalate-angry-rep.json +114 -0
- package/dist/skills/built-in/decline-unsolicited-pitch.json +110 -0
- package/dist/skills/built-in/deliver-difficult-news.json +122 -0
- package/dist/skills/built-in/detect-fake-escalation-loops.json +140 -0
- package/dist/skills/built-in/detect-lies-and-contradictions.json +139 -0
- package/dist/skills/built-in/dispute-billing-code-eob.json +147 -0
- package/dist/skills/built-in/dispute-charge-reg-e-reg-z.json +131 -0
- package/dist/skills/built-in/dispute-credit-report-via-bank.json +128 -0
- package/dist/skills/built-in/dispute-denied-claim.json +143 -0
- package/dist/skills/built-in/dispute-security-deposit.json +130 -0
- package/dist/skills/built-in/dispute-usage-spike-meter-reread.json +120 -0
- package/dist/skills/built-in/dmv-vehicle-registration-renewal.json +120 -0
- package/dist/skills/built-in/document-call-promises.json +145 -0
- package/dist/skills/built-in/early-lease-termination.json +126 -0
- package/dist/skills/built-in/elite-line-escalation.json +107 -0
- package/dist/skills/built-in/equipment-swap-cable-router-modem.json +126 -0
- package/dist/skills/built-in/eu261-uk261-dot-compensation.json +113 -0
- package/dist/skills/built-in/file-fnol-auto-claim.json +130 -0
- package/dist/skills/built-in/file-habitability-complaint.json +115 -0
- package/dist/skills/built-in/financial-aid-appeal.json +128 -0
- package/dist/skills/built-in/follow-up-stalled-claim.json +118 -0
- package/dist/skills/built-in/get-past-gatekeeper.json +115 -0
- package/dist/skills/built-in/get-past-tier-1-script.json +130 -0
- package/dist/skills/built-in/handle-callback-stall.json +120 -0
- package/dist/skills/built-in/handle-outsourced-no-escalation.json +138 -0
- package/dist/skills/built-in/handle-send-me-an-email-deflection.json +112 -0
- package/dist/skills/built-in/handle-time-pressure.json +159 -0
- package/dist/skills/built-in/health-prior-auth-appeal.json +131 -0
- package/dist/skills/built-in/hoa-dispute.json +123 -0
- package/dist/skills/built-in/hold-time-strategy.json +137 -0
- package/dist/skills/built-in/hold-warmth-cold-rep.json +114 -0
- package/dist/skills/built-in/hotel-walk-over-recovery.json +114 -0
- package/dist/skills/built-in/humour-when-it-lands.json +127 -0
- package/dist/skills/built-in/i20-visa-dso.json +134 -0
- package/dist/skills/built-in/invoke-regulator-firmly.json +137 -0
- package/dist/skills/built-in/irrops-waiver-awareness.json +103 -0
- package/dist/skills/built-in/irs-payment-plan-setup.json +134 -0
- package/dist/skills/built-in/k12-iep-504-enrollment.json +134 -0
- package/dist/skills/built-in/late-add-petition.json +128 -0
- package/dist/skills/built-in/leave-of-absence-deferral.json +130 -0
- package/dist/skills/built-in/lock-in-terms-verbally.json +127 -0
- package/dist/skills/built-in/match-energy-keep-goal.json +120 -0
- package/dist/skills/built-in/medical-records-transfer.json +138 -0
- package/dist/skills/built-in/medical-withdrawal.json +131 -0
- package/dist/skills/built-in/mid-call-evidence-collection.json +159 -0
- package/dist/skills/built-in/mirror-technique.json +145 -0
- package/dist/skills/built-in/missed-connection-distressed-passenger.json +111 -0
- package/dist/skills/built-in/mortgage-loan-hardship.json +130 -0
- package/dist/skills/built-in/move-out-walkthrough.json +114 -0
- package/dist/skills/built-in/multi-channel-escalation.json +141 -0
- package/dist/skills/built-in/multi-issue-tradeoffs.json +155 -0
- package/dist/skills/built-in/negotiate-rent-renewal.json +123 -0
- package/dist/skills/built-in/no-as-opening.json +154 -0
- package/dist/skills/built-in/not-sound-like-spam-dialer.json +118 -0
- package/dist/skills/built-in/outage-credit-applied.json +127 -0
- package/dist/skills/built-in/passport-expedite-or-appointment.json +123 -0
- package/dist/skills/built-in/pediatric-school-forms.json +141 -0
- package/dist/skills/built-in/personal-trainer-discovery.json +138 -0
- package/dist/skills/built-in/pharmacy-callback.json +134 -0
- package/dist/skills/built-in/pivot-mid-call.json +141 -0
- package/dist/skills/built-in/port-mobile-number-survive-retention.json +127 -0
- package/dist/skills/built-in/prescription-refill-followup.json +132 -0
- package/dist/skills/built-in/push-past-invented-policy.json +159 -0
- package/dist/skills/built-in/rapport-opening-30-seconds.json +130 -0
- package/dist/skills/built-in/reach-executive-office.json +137 -0
- package/dist/skills/built-in/read-vocal-cues.json +139 -0
- package/dist/skills/built-in/read-vocal-tone.json +159 -0
- package/dist/skills/built-in/realestate-agent-vetting.json +144 -0
- package/dist/skills/built-in/receive-difficult-news.json +115 -0
- package/dist/skills/built-in/recording-claim-conversation-legally.json +121 -0
- package/dist/skills/built-in/recover-summary-refusal.json +121 -0
- package/dist/skills/built-in/reengage-ghosted-lead.json +115 -0
- package/dist/skills/built-in/referral-followup-without-burning.json +116 -0
- package/dist/skills/built-in/referral-prior-authorization.json +130 -0
- package/dist/skills/built-in/refuse-the-split.json +142 -0
- package/dist/skills/built-in/refuse-upsell-at-close.json +114 -0
- package/dist/skills/built-in/rental-car-counter-defense.json +116 -0
- package/dist/skills/built-in/rental-scam-report.json +125 -0
- package/dist/skills/built-in/replace-lost-stolen-card-expedited.json +139 -0
- package/dist/skills/built-in/report-downed-line-gas-smell-911-triage.json +130 -0
- package/dist/skills/built-in/report-elder-or-child-abuse.json +125 -0
- package/dist/skills/built-in/report-fbi-tip.json +116 -0
- package/dist/skills/built-in/report-fraud-ic3-or-ftc.json +117 -0
- package/dist/skills/built-in/report-fraudulent-transaction.json +126 -0
- package/dist/skills/built-in/report-power-outage-get-etr.json +116 -0
- package/dist/skills/built-in/report-urgent-maintenance.json +123 -0
- package/dist/skills/built-in/request-credit-limit-increase.json +126 -0
- package/dist/skills/built-in/request-supervisor-gracefully.json +129 -0
- package/dist/skills/built-in/request-welfare-check.json +127 -0
- package/dist/skills/built-in/request-written-confirmation.json +113 -0
- package/dist/skills/built-in/reschedule-appointment.json +121 -0
- package/dist/skills/built-in/reset-by-callback.json +143 -0
- package/dist/skills/built-in/resist-urgency-manipulation.json +152 -0
- package/dist/skills/built-in/revisit-totaling-decision.json +125 -0
- package/dist/skills/built-in/roadside-assistance-dispatch.json +132 -0
- package/dist/skills/built-in/roommate-replacement.json +121 -0
- package/dist/skills/built-in/same-day-urgent-appointment.json +130 -0
- package/dist/skills/built-in/schedule-rental-viewing.json +111 -0
- package/dist/skills/built-in/service-move-shutoff-start-no-overlap.json +129 -0
- package/dist/skills/built-in/social-security-replacement-card.json +122 -0
- package/dist/skills/built-in/specialist-doctor-booking.json +136 -0
- package/dist/skills/built-in/spot-bait-and-switch.json +155 -0
- package/dist/skills/built-in/stop-recurring-ach.json +127 -0
- package/dist/skills/built-in/switch-postpaid-to-prepaid-mid-cycle.json +130 -0
- package/dist/skills/built-in/tactical-empathy-labeling.json +147 -0
- package/dist/skills/built-in/therapist-intake-call.json +133 -0
- package/dist/skills/built-in/train-cancellation-refund-rebook.json +104 -0
- package/dist/skills/built-in/transcript-request.json +128 -0
- package/dist/skills/built-in/travel-insurance-claim-on-the-road.json +114 -0
- package/dist/skills/built-in/travel-notice-unlock-card.json +119 -0
- package/dist/skills/built-in/unemployment-claim-status-and-appeal.json +123 -0
- package/dist/skills/built-in/uscis-case-status-and-biometrics.json +125 -0
- package/dist/skills/built-in/utility-deposit-waiver.json +122 -0
- package/dist/skills/built-in/utility-payment-plan-avoid-disconnect.json +122 -0
- package/dist/skills/built-in/verify-insurance-coverage-pre-procedure.json +140 -0
- package/dist/skills/built-in/verify-out-of-network-coverage.json +129 -0
- package/dist/skills/built-in/veteran-benefits-community-college.json +134 -0
- package/dist/skills/built-in/veterinary-new-patient-intake.json +135 -0
- package/dist/skills/built-in/visa-boarding-denial-recovery.json +115 -0
- package/dist/skills/built-in/vital-records-certificate-copy.json +120 -0
- package/dist/skills/built-in/voicemail-that-gets-called-back.json +114 -0
- package/dist/skills/built-in/voter-registration-and-ballot.json +124 -0
- package/dist/skills/built-in/walkaway-threats.json +159 -0
- package/dist/skills/built-in/wedding-vendor-intake.json +149 -0
- package/dist/skills/built-in/when-to-stop-being-polite.json +161 -0
- package/dist/skills/built-in/wire-funds-safely.json +129 -0
- package/package.json +1 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "hoa-dispute",
|
|
3
|
+
"name": "Dispute an HOA Fine, Denial, or Common-Area Issue",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"category": "real-estate",
|
|
6
|
+
"tags": [
|
|
7
|
+
"hoa",
|
|
8
|
+
"fine",
|
|
9
|
+
"architectural-review",
|
|
10
|
+
"common-area",
|
|
11
|
+
"covenants",
|
|
12
|
+
"phone-call",
|
|
13
|
+
"housing-tenancy"
|
|
14
|
+
],
|
|
15
|
+
"description": "Call the HOA management company or board liaison to dispute a fine, appeal an architectural-review denial, or escalate a common-area maintenance issue — establishing the formal record and timeline required by most HOA CC&Rs (covenants, conditions, and restrictions).",
|
|
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 received: (a) an HOA fine they believe is improper or excessive, (b) a denial from architectural review on a planned change (paint, fence, solar, landscaping), or (c) an unresolved common-area issue (broken gate, pool maintenance, drainage). Most HOAs have a formal dispute or appeal process with strict deadlines — this call opens that process.",
|
|
19
|
+
"preconditions": [
|
|
20
|
+
"User has a copy of the CC&Rs and the bylaws (or knows where to get them).",
|
|
21
|
+
"User has the fine notice, denial letter, or written complaint with date.",
|
|
22
|
+
"User knows the appeal / dispute deadline stated in the notice (commonly 14–30 days).",
|
|
23
|
+
"User has photos / documentation of the alleged violation or the common-area issue."
|
|
24
|
+
],
|
|
25
|
+
"estimated_call_duration_minutes": 15
|
|
26
|
+
},
|
|
27
|
+
"principles": [
|
|
28
|
+
"Read the CC&Rs BEFORE the call — knowing the actual rule cited beats any opinion.",
|
|
29
|
+
"Appeal deadlines are strict. Missing the appeal window in many HOAs forfeits the right to challenge at all.",
|
|
30
|
+
"Board members are volunteers; management-company staff are paid. Both deserve courtesy — but the management-company employee is usually the one to schedule the appeal.",
|
|
31
|
+
"Always request the formal appeal in writing and ask for the rule, section, and citation that the fine or denial is based on. Vague citations don't survive an appeal.",
|
|
32
|
+
"Document selective enforcement. If neighbors are not being fined for the same thing, that's a real defense — but it requires photos and dates, not anecdotes.",
|
|
33
|
+
"Keep the tone professional. HOA disputes are repeated games — you and the board see each other at the mailbox for years."
|
|
34
|
+
],
|
|
35
|
+
"phrases": {
|
|
36
|
+
"opener_fine": "Hi, I'm calling about a violation notice I received dated [date] for [property]. I'd like to formally dispute it and understand the appeal process.",
|
|
37
|
+
"opener_denial": "Hi, I'm calling about the architectural-review denial I received on [date] for my [project]. I'd like to appeal — what's the process and the deadline?",
|
|
38
|
+
"opener_common_area": "Hi, I'm calling about a common-area issue at [location] — [one-sentence description]. It's been [unaddressed since X / a recurring problem]. How do I get this on the board agenda?",
|
|
39
|
+
"ask_for_citation": "Can you tell me exactly which section of the CC&Rs or rules this notice cites? I want to look at the specific language.",
|
|
40
|
+
"ask_for_appeal_process": "Walk me through the appeal: do I submit in writing, do I get a hearing, who decides, and what's the deadline?",
|
|
41
|
+
"raise_selective_enforcement": "I've noticed [specific examples — addresses, photos, dates] where the same condition wasn't cited. Is the rule being enforced consistently? I'd like that addressed in my appeal.",
|
|
42
|
+
"ask_about_due_process": "Was there a notice-and-cure period before the fine was levied? Most HOAs require one — I'd like to confirm the procedure was followed.",
|
|
43
|
+
"graceful_close_appeal_scheduled": "Thank you. To confirm: appeal filed in writing by [date], hearing on [date], decision within [X] days. Anything else I should submit before then?",
|
|
44
|
+
"graceful_close_referral": "Understood. Could you also forward this to the board president? I want to make sure they're aware of my appeal directly."
|
|
45
|
+
},
|
|
46
|
+
"tactics": [
|
|
47
|
+
{
|
|
48
|
+
"name": "Open with the specific notice and the appeal intent",
|
|
49
|
+
"when": "First substantive turn.",
|
|
50
|
+
"script": "Use the matching opener. Be specific — date, property, action. Establishes a real dispute, not a vague complaint.",
|
|
51
|
+
"priority": 1
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "Demand the specific citation",
|
|
55
|
+
"when": "Once the dispute is logged.",
|
|
56
|
+
"script": "Use `ask_for_citation`. Many fines cite vague 'community standards.' Force them to the section number — that's what an appeal panel reviews.",
|
|
57
|
+
"priority": 2
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Lock the appeal process and deadlines",
|
|
61
|
+
"when": "After the citation is identified.",
|
|
62
|
+
"script": "Use `ask_for_appeal_process`. Get the form of appeal, who decides, and the deadlines. Missing the deadline ends the dispute.",
|
|
63
|
+
"priority": 3
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "Raise selective enforcement IF documented",
|
|
67
|
+
"when": "Other properties have the same condition uncited.",
|
|
68
|
+
"script": "Use `raise_selective_enforcement`. Bring it with documentation (addresses, photos, dates). Without documentation it weakens your case.",
|
|
69
|
+
"priority": 4
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "Probe due-process compliance",
|
|
73
|
+
"when": "Disputing a fine.",
|
|
74
|
+
"script": "Use `ask_about_due_process`. Many HOAs MUST give a notice-and-cure period; skipping it can void the fine entirely.",
|
|
75
|
+
"priority": 5
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "Loop in the board president",
|
|
79
|
+
"when": "Management-company response is dismissive.",
|
|
80
|
+
"script": "Use `graceful_close_referral`. Board members can override management staff. Keep tone neutral — you're asking for awareness, not complaining about the staffer."
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"boundaries": [
|
|
84
|
+
"Do NOT skip paying the underlying assessment or dues — pay them under protest if necessary. Non-payment compounds the problem and can result in liens.",
|
|
85
|
+
"Do NOT make claims about board members' personal motives or other owners — stick to the rule and the facts.",
|
|
86
|
+
"Do NOT accept a settlement that requires waiving future challenges to the same rule without operator review.",
|
|
87
|
+
"Do NOT threaten litigation on the first call. Mention the formal appeal as the path.",
|
|
88
|
+
"Do NOT discuss the dispute on social media or community forums — those quotes will surface in the appeal hearing."
|
|
89
|
+
],
|
|
90
|
+
"success_signals": [
|
|
91
|
+
"Specific CC&R section cited.",
|
|
92
|
+
"Appeal form, deadline, and hearing date confirmed.",
|
|
93
|
+
"Management agrees to forward to the board.",
|
|
94
|
+
"Management acknowledges a procedural gap (no notice-and-cure, ambiguous rule)."
|
|
95
|
+
],
|
|
96
|
+
"failure_signals": [
|
|
97
|
+
"Management refuses to identify the cited section.",
|
|
98
|
+
"Appeal process is described as 'just pay it.'",
|
|
99
|
+
"Hearing is scheduled past the cure deadline (fine compounds).",
|
|
100
|
+
"Board liaison won't take the call or respond to written appeal."
|
|
101
|
+
],
|
|
102
|
+
"exit_strategy": {
|
|
103
|
+
"on_success": "Confirm appeal deadline, hearing date, what must be submitted, and who will decide. Operator emails a recap within 24 hours.",
|
|
104
|
+
"on_failure": "Submit the written appeal anyway by certified mail to preserve the record. If the dispute involves a significant fine, lien threat, or pattern of selective enforcement, consult an HOA attorney before the hearing.",
|
|
105
|
+
"follow_ups": [
|
|
106
|
+
"Pull the CC&Rs section cited and read it carefully before drafting the written appeal.",
|
|
107
|
+
"Collect documentation: photos of the alleged violation, photos of identical uncited conditions on neighboring properties, prior correspondence.",
|
|
108
|
+
"Send the written appeal by both email AND certified mail before the deadline.",
|
|
109
|
+
"Calendar the hearing date and prepare a 2-minute statement.",
|
|
110
|
+
"If the dispute escalates to a lien threat, consult an HOA attorney immediately."
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"required_user_info": [
|
|
114
|
+
"Notice date, property address, CC&R citation (or claim of citation)",
|
|
115
|
+
"Stated fine amount or denial reason",
|
|
116
|
+
"Appeal deadline as stated in the notice",
|
|
117
|
+
"CC&Rs / bylaws (copy or link)",
|
|
118
|
+
"Photos and documentation supporting the dispute",
|
|
119
|
+
"Names of management-company contact and board liaison"
|
|
120
|
+
],
|
|
121
|
+
"contributed_by": "housing-tenancy agent (v0.9.87 community drop)",
|
|
122
|
+
"updated_at": "2026-05-20T06:09:47Z"
|
|
123
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "hold-time-strategy",
|
|
3
|
+
"name": "Hold-Time Strategy — Wait, Hang Up, or Call Back",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"category": "customer-service",
|
|
6
|
+
"tags": [
|
|
7
|
+
"phone-call",
|
|
8
|
+
"hold-time",
|
|
9
|
+
"queue-strategy",
|
|
10
|
+
"timing",
|
|
11
|
+
"patience",
|
|
12
|
+
"tactical",
|
|
13
|
+
"customer-support"
|
|
14
|
+
],
|
|
15
|
+
"description": "Decide when to hold, when to hang up, and when to call back at a different hour. Queue dynamics, time-of-day patterns, and call-center staffing curves create predictable windows — using them shortens a 90-minute ordeal to a 20-minute call.",
|
|
16
|
+
"disclaimer": null,
|
|
17
|
+
"context": {
|
|
18
|
+
"when_to_use": "You are about to call a support line, OR you are currently on hold and deciding whether to stay. Especially relevant for telco, ISP, airlines, banks, government agencies, and any service with notoriously bad hold times.",
|
|
19
|
+
"preconditions": [
|
|
20
|
+
"User has time flexibility — at least 2 hours of total availability across one or more calls.",
|
|
21
|
+
"User has tracked any prior hold times for this company (rough estimate is fine).",
|
|
22
|
+
"User has access to a speakerphone or wireless headset — being trapped at a desk for 60 minutes is much worse than being on hold while doing other tasks."
|
|
23
|
+
],
|
|
24
|
+
"estimated_call_duration_minutes": 35
|
|
25
|
+
},
|
|
26
|
+
"principles": [
|
|
27
|
+
"Call volume is predictable. Peak: 11am-2pm local time (lunch breaks) and the first 30 minutes after open. Trough: first 30 minutes after open IF you call BEFORE the rush (typically 7-8am local), late afternoon (4-5pm local), and the last hour before close. Saturday morning is usually quieter than weekday peak.",
|
|
28
|
+
"Day-of-week matters. Monday is the worst day for most services — everyone calls about the weekend's problems. Thursday and Friday afternoons are often the quietest weekdays. Weekends vary by service: financial/banking lines may be skeleton-crew; consumer goods/airlines may be normal.",
|
|
29
|
+
"Hold time is not free — it costs attention even if you're doing other work. Estimate the total ATTENTION cost (not just elapsed time): a 45-minute hold while you're trying to work is often more expensive than a 75-minute hold while you're doing laundry.",
|
|
30
|
+
"The 'callback' option offered by some IVRs (press 1 to hold your place in line) is almost always better than holding live — accept it whenever available. The callback usually preserves your position and frees your attention.",
|
|
31
|
+
"Decision point — every 15 minutes on hold, ask: 'do I have evidence I'm progressing in the queue?' If no (no estimated wait given, or the estimate keeps growing), hanging up is rational. If yes, continue.",
|
|
32
|
+
"Calling back can sometimes route you better than holding. Different queues have different staffing; the IVR sometimes routes by call volume — calling at a quieter time can land you in a less-loaded specialist queue.",
|
|
33
|
+
"Some hold-times are deliberate. Companies known for long holds often staff just enough to handle the customers who don't give up — the hold IS the filter. Once you understand that, you can choose to be the customer who waits, or you can route around the hold entirely (chat, email, escalation channel)."
|
|
34
|
+
],
|
|
35
|
+
"phrases": {
|
|
36
|
+
"ask_for_estimate": "Before I commit to holding — could you give me an estimated wait time? Or is there a callback option in lieu of holding?",
|
|
37
|
+
"request_callback_position": "I'd prefer not to hold for 40 minutes. Can I be put in a callback queue with my place preserved? Or could you schedule me a callback at a specific time today?",
|
|
38
|
+
"the_strategic_hangup": "Thank you — I'm going to call back at a different hour rather than hold. Could you note that I called at [time] about [issue] so the next rep has context?",
|
|
39
|
+
"midcall_pivot": "I've been on hold 30 minutes. Could you check the queue depth and tell me realistically how much longer? If it's more than another 15 minutes, I'd rather schedule a callback.",
|
|
40
|
+
"after_hours_inquiry": "What are your peak hours? I'd like to call back at a quieter time if possible.",
|
|
41
|
+
"channel_alternative": "While I'm holding — is there a chat or email option that would resolve this faster? I'd be happy to use whichever channel is least busy right now.",
|
|
42
|
+
"first_call_advantage": "Hi, I'm calling first thing this morning to get ahead of any backlog from yesterday. I have [issue] and I'd like to keep this efficient."
|
|
43
|
+
},
|
|
44
|
+
"tactics": [
|
|
45
|
+
{
|
|
46
|
+
"name": "Pick the call window deliberately",
|
|
47
|
+
"when": "Before placing the call.",
|
|
48
|
+
"script": "Default windows: weekday 7:30-9:00am local (pre-rush), 4:00-5:30pm local (post-rush). Avoid Monday morning. Avoid lunch hour. For 24/7 services, late-night (10pm-midnight) is often empty queues — but staff may be junior. Decide whether you need expertise (call peak) or just throughput (call trough).",
|
|
49
|
+
"priority": 1,
|
|
50
|
+
"decision_point": "If the issue is complex or needs senior judgment, the FASTEST queue may have the LEAST capable reps. Sometimes you want to call peak to reach a tenured agent. Match the time to the issue, not just to availability."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "Always ask for an estimate",
|
|
54
|
+
"when": "Immediately when a hold is offered.",
|
|
55
|
+
"script": "Use `ask_for_estimate`. Many IVRs and reps will give you a number if asked — and an honest number lets you make a real decision instead of sunk-cost-ing into a 90-minute hold.",
|
|
56
|
+
"priority": 2
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "Take the callback option if offered",
|
|
60
|
+
"when": "IVR mentions a callback or rep can offer one.",
|
|
61
|
+
"script": "Use `request_callback_position`. Callbacks are almost always better than live holding — your time becomes free, and the callback typically arrives near the original ETA. Risks: some callbacks expire if you don't answer immediately; some lose your queue position.",
|
|
62
|
+
"priority": 3,
|
|
63
|
+
"decision_point": "Take callback ONLY if (a) you can answer when they call, and (b) the callback preserves queue position or is scheduled. If neither, prefer live hold."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "Set a hold budget — and stick to it",
|
|
67
|
+
"when": "When you accept a hold.",
|
|
68
|
+
"script": "Decide BEFORE you start: 'I will hold for X minutes, then re-evaluate.' Without a budget, sunk cost takes over. With a budget, you make a clear decision at the checkpoint.",
|
|
69
|
+
"priority": 4
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "Re-evaluate at the checkpoint",
|
|
73
|
+
"when": "Hold budget reached.",
|
|
74
|
+
"script": "Use `midcall_pivot`. Ask for honest queue depth. If the rep can't or won't give you a number, that's evidence the queue is poorly managed — hang up.",
|
|
75
|
+
"priority": 5,
|
|
76
|
+
"decision_point": "If the rep says 'just a few more minutes' for the second time, the estimate is unreliable. Treat each 'just a few more' as +10 minutes of additional hold — and if you don't have +10 to give, end the call cleanly."
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "Strategic hangup with breadcrumb",
|
|
80
|
+
"when": "You've decided to give up on this call.",
|
|
81
|
+
"script": "Use `the_strategic_hangup`. Leaving a note on your account ('called at X about Y') is sometimes possible even if you didn't reach a rep — it's evidence of effort for any future escalation.",
|
|
82
|
+
"priority": 6
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "Switch channels mid-hold",
|
|
86
|
+
"when": "Hold is long AND you discover the company has a faster channel.",
|
|
87
|
+
"script": "Use `channel_alternative`. Some companies' chat is faster than phone — they routed support resources there. Email is rarely fast but creates a paper trail. Use chat/email IN PARALLEL with holding, not as a replacement (you may hit both at once and pick whichever lands first).",
|
|
88
|
+
"priority": 7
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "Learn the rhythm for future calls",
|
|
92
|
+
"when": "After the call (success or fail).",
|
|
93
|
+
"script": "Log: time of call, total hold time, time-to-first-rep, time-to-resolution. After 2-3 calls you have your own dataset on this company's actual queue rhythm — far more accurate than generic advice.",
|
|
94
|
+
"priority": 8
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"boundaries": [
|
|
98
|
+
"Do NOT vent frustration at the rep when they pick up — they didn't make you wait, the staffing did. Venting destroys your one chance to get help.",
|
|
99
|
+
"Do NOT hold longer than 60 minutes without a clear reason (specific specialist queue, or you can confirm you're #1-2 in line).",
|
|
100
|
+
"Do NOT hang up and call back in the same minute hoping for a different agent — most queues route by phone number for ~5-10 minutes, and you'll just get the same queue position.",
|
|
101
|
+
"Do NOT accept the same 'hold a few more minutes' from a rep for the third time. That's a stall pattern — see `detect-fake-escalation-loops`.",
|
|
102
|
+
"Do NOT abandon a confirmed callback by not answering the callback call. Some companies blacklist your number from callbacks if you miss two.",
|
|
103
|
+
"Do NOT take any escalation action (regulator, executive office) just because of hold time alone — long holds are annoying but not actionable. They become evidence when paired with substantive refusals."
|
|
104
|
+
],
|
|
105
|
+
"success_signals": [
|
|
106
|
+
"Rep gives you an honest ETA when you ask.",
|
|
107
|
+
"Callback option is offered and preserves queue position.",
|
|
108
|
+
"Live rep picks up in <15 minutes from initial call.",
|
|
109
|
+
"Hold music is interrupted with periodic position updates ('you are caller number 3').",
|
|
110
|
+
"Different/quieter hold tone after a transfer — you've left the main queue."
|
|
111
|
+
],
|
|
112
|
+
"failure_signals": [
|
|
113
|
+
"No ETA offered, or ETAs that keep increasing.",
|
|
114
|
+
"Hold music with no position updates and no rep check-ins for 20+ minutes.",
|
|
115
|
+
"Hold then disconnect (line drops while holding) — common stall pattern.",
|
|
116
|
+
"Rep picks up briefly, says 'one moment', then puts you on a fresh hold cycle.",
|
|
117
|
+
"Callback option offered but with a scheduled window 'within the next 24-72 hours' (effectively a ghost callback)."
|
|
118
|
+
],
|
|
119
|
+
"exit_strategy": {
|
|
120
|
+
"on_success": "Once a rep is on the line, transition to the appropriate escalation skill (`get-past-tier-1-script` or `request-supervisor-gracefully`). Log total time-to-rep for future planning.",
|
|
121
|
+
"on_failure": "Hang up cleanly, log the attempt, schedule a retry at a strategically different hour. If two attempts at different hours both fail to reach a rep, pivot channels — `multi-channel-escalation`.",
|
|
122
|
+
"follow_ups": [
|
|
123
|
+
"Track hold-time data points in a personal log. After 3 attempts, you'll know this company's real rhythm.",
|
|
124
|
+
"If hold times consistently exceed 45 minutes, that itself is evidence for an FCC/regulator complaint (some industries have service-level obligations) — but verify jurisdiction first.",
|
|
125
|
+
"Consider whether the issue actually needs a phone call. Many issues are better-served by chat, email, or even a written letter to the corporate office."
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"required_user_info": [
|
|
129
|
+
"User's available time window for the call",
|
|
130
|
+
"Whether speakerphone or headset is available (free attention while holding)",
|
|
131
|
+
"Time zone of the call center (often different from user's time zone)",
|
|
132
|
+
"Whether prior calls to this company succeeded — and at what time of day",
|
|
133
|
+
"Whether the user can accept callbacks during work hours"
|
|
134
|
+
],
|
|
135
|
+
"contributed_by": "support-escalator agent (v0.9.87 community drop)",
|
|
136
|
+
"updated_at": "2026-05-20T06:09:47Z"
|
|
137
|
+
}
|
|
@@ -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
|
+
}
|