@agenticmail/core 0.9.31 → 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.
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +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 +106 -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 +117 -0
- package/dist/skills/built-in/report-fbi-tip.json +109 -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,159 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "walkaway-threats",
|
|
3
|
+
"name": "Walk-Away Threats: When They're Real, When They're a Fold",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"category": "negotiation",
|
|
6
|
+
"tags": ["BATNA", "walkaway", "ultimatum", "leverage", "phone-call", "real-time"],
|
|
7
|
+
"description": "Threatening to leave a negotiation is leverage only if (a) you have a real BATNA and (b) you are psychologically prepared to actually walk. False walks teach the counterparty you bluff and destroy future leverage. This skill teaches how to set the line, deliver the walk, and recover when one or the other side actually leaves.",
|
|
8
|
+
"disclaimer": "Walking away is a high-cost, sometimes-irrevocable move. Do not deploy without explicit user authorization. Some counterparties will not call you back. Others will treat your return as full surrender. Walks should be rare and considered.",
|
|
9
|
+
"context": {
|
|
10
|
+
"when_to_use": "Late-stage stalled negotiation where (a) you have a credible BATNA, (b) the gap is large enough to justify the walk, and (c) you would genuinely prefer the BATNA to a bad deal. Also: when the counterparty has issued an ultimatum and you must respond.",
|
|
11
|
+
"preconditions": [
|
|
12
|
+
"User has explicitly authorized walking away.",
|
|
13
|
+
"BATNA is real and quantified — not just 'I'll keep looking'.",
|
|
14
|
+
"You are emotionally prepared to leave and mean it.",
|
|
15
|
+
"You have NOT signaled urgency or attachment earlier in the call."
|
|
16
|
+
],
|
|
17
|
+
"estimated_call_duration_minutes": 30
|
|
18
|
+
},
|
|
19
|
+
"principles": [
|
|
20
|
+
"A walk is leverage only if it is credible. Credibility = real BATNA × visible composure × stated line.",
|
|
21
|
+
"Soft walks ('if we can't get to X, I'll have to pass — not a threat, just being honest about my constraints') outperform hard walks ('this is my final offer or I'm out'). Soft walks preserve the relationship and let the counterparty save face.",
|
|
22
|
+
"Never ultimate in anger. The most credible walks are calm, almost regretful — they signal 'I have somewhere else to go' more than 'I'm bluffing for effect'.",
|
|
23
|
+
"The line you draw must be specific and falsifiable. 'I need a better deal' is not a line. 'I need to be at $X with N-day payment terms' is a line.",
|
|
24
|
+
"Once the line is drawn, you must HOLD it. Drawing a line and then crossing it yourself trains the counterparty that every line is negotiable — destroying all future lines.",
|
|
25
|
+
"If you walk, walk cleanly. No parting shots, no 'you'll regret this', no last-minute concessions on the way out. Clean walks come back. Messy walks don't.",
|
|
26
|
+
"When THEY walk, do not chase. The counterparty who returns after walking gives you 80% of what you wanted. The counterparty you chase gives you 20%."
|
|
27
|
+
],
|
|
28
|
+
"phrases": {
|
|
29
|
+
"soft_walk_signal": "I want to make this work — and I will if we can get to [X]. But if we can't, I'll need to pass and explore other options. Not as a threat, just being honest about where I am.",
|
|
30
|
+
"draw_the_line": "I can do [A], [B], and [C]. I can't do [D] — that's a line for me. If [D] is non-negotiable on your end, we may not have a deal.",
|
|
31
|
+
"respond_to_ultimatum": "I hear that's where you are. Is that final-final, or final-for-today?",
|
|
32
|
+
"ask_for_BATNA_check": "Before we both walk, let me ask: what's your best alternative if this doesn't close?",
|
|
33
|
+
"graceful_exit": "Thanks for the time. We weren't able to bridge it today, but I'd like to leave the door open. Can I follow up in [N] weeks?",
|
|
34
|
+
"they_called_my_bluff_recover": "OK, you're right that I want this to work — let me find another angle. What if [creative move]?",
|
|
35
|
+
"they_walked_clean": "I understand. Best of luck with [next step]. If anything changes, you have my number.",
|
|
36
|
+
"they_came_back_calmly": "Good to hear from you. Where do you want to pick up?"
|
|
37
|
+
},
|
|
38
|
+
"tactics": [
|
|
39
|
+
{
|
|
40
|
+
"name": "Set the line BEFORE you signal walk",
|
|
41
|
+
"when": "Before any walk threat — usually early in the call.",
|
|
42
|
+
"script": "Use `draw_the_line`. Specific. Falsifiable. Said calmly. Sets expectations and saves you from having to walk later if they hit the line.",
|
|
43
|
+
"priority": 1
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "Soft walk first, hard walk only if needed",
|
|
47
|
+
"when": "After multiple stalled exchanges and the line you drew is being pushed.",
|
|
48
|
+
"script": "Use `soft_walk_signal`. Gives counterparty a chance to find a path without losing face — often produces movement.",
|
|
49
|
+
"priority": 2
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "Test their ultimatum before treating it as final",
|
|
53
|
+
"when": "Counterparty says 'take it or leave it' or similar.",
|
|
54
|
+
"script": "`respond_to_ultimatum`: 'Is that final-final, or final-for-today?' Said warmly. Almost always reveals room.",
|
|
55
|
+
"priority": 3
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "If you walk, walk clean",
|
|
59
|
+
"when": "Line is being crossed and your BATNA is genuinely better.",
|
|
60
|
+
"script": "Use `graceful_exit`. No anger. No final speech. Door stays open. Leave with composure.",
|
|
61
|
+
"priority": 4
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "If they walk, don't chase",
|
|
65
|
+
"when": "Counterparty terminates the call after your hold.",
|
|
66
|
+
"script": "Use `they_walked_clean`. Calmly close. 60% return within 48 hours. The 40% who don't were never going to give you a deal you wanted.",
|
|
67
|
+
"priority": 5
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "If they call your bluff and you weren't really walking, recover cleanly",
|
|
71
|
+
"when": "You threatened a walk; they called it; you're not actually willing to leave.",
|
|
72
|
+
"script": "Use `they_called_my_bluff_recover`. Don't double down — that just digs the hole. Acknowledge and pivot to a new angle. You've lost some leverage but the deal is salvageable."
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"decision_tree": {
|
|
76
|
+
"description": "Walk decisions are existential — they reshape the call entirely. Run this carefully. Each branch has long-tail consequences.",
|
|
77
|
+
"branches": [
|
|
78
|
+
{
|
|
79
|
+
"if_you_hear": "Counterparty hits or crosses your stated line.",
|
|
80
|
+
"interpretation": "Decision point. You said this was a line; if you don't hold it, the line never existed.",
|
|
81
|
+
"say": "If your BATNA is real → `soft_walk_signal` first, then `graceful_exit` if no movement. If your BATNA is weak → admit it and pivot to multi-issue (see `08-multi-issue-tradeoffs`).",
|
|
82
|
+
"do_not": "Do not cross your own line in the same call you drew it. That nukes your credibility for the rest of the relationship."
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"if_you_hear": "Counterparty issues an ultimatum: 'take it or leave it.'",
|
|
86
|
+
"interpretation": "Almost always not final-final. Test it.",
|
|
87
|
+
"say": "`respond_to_ultimatum`: 'Is that final-final, or final-for-today?'",
|
|
88
|
+
"do_not": "Do not accept on the spot. Do not walk on the spot. Test first."
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"if_you_hear": "Counterparty says 'I'm going to have to walk away from this.'",
|
|
92
|
+
"interpretation": "Soft walk signal from them. They want you to find movement.",
|
|
93
|
+
"say": "Acknowledge calmly. Offer a small move OR introduce a new dimension (see `08-multi-issue-tradeoffs`). Or call it: 'I hear you — I'd hate to lose this, but I also can't go past [line]. Can you check with [manager / system] one more time?'",
|
|
94
|
+
"do_not": "Do not panic-concede. The soft walk is theater 70% of the time."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"if_you_hear": "You realize you're about to walk over a small gap.",
|
|
98
|
+
"interpretation": "Walks have high transaction cost. Confirm the gap is worth it.",
|
|
99
|
+
"say": "Buy time: 'Let me think about this for a moment.' Compute: gap × probability of BATNA succeeding × value of relationship. If gap × ~ relationship value, accept and move on.",
|
|
100
|
+
"do_not": "Do not walk over $50 from a $5,000 deal because your line was a round number. Lines are tactical, not sacred."
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"if_you_hear": "You walked, they called back within hours.",
|
|
104
|
+
"interpretation": "You won. They will likely give 80% of what you asked for.",
|
|
105
|
+
"say": "`they_came_back_calmly` — no gloating, no 'I told you so'. Pick up calmly.",
|
|
106
|
+
"do_not": "Do not punish them with new asks. Take the win cleanly."
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"if_you_hear": "You walked, 48 hours pass, no call.",
|
|
110
|
+
"interpretation": "Either they had a real wall OR they're testing your patience too.",
|
|
111
|
+
"say": "Decide: re-engage gently ('wanted to check if anything's shifted?') OR pursue BATNA fully. Re-engaging is fine if you have the patience to be soft about it.",
|
|
112
|
+
"do_not": "Do not crawl back with desperate concessions. Re-engagement should be light, not pleading."
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"if_you_hear": "Counterparty calls YOUR bluff: 'I'm sorry to hear that. Best of luck.'",
|
|
116
|
+
"interpretation": "They believed you and let you go. Your move now.",
|
|
117
|
+
"say": "If BATNA is real → leave cleanly. If BATNA is weak → recover with `they_called_my_bluff_recover` — but expect to give up some leverage to come back to the table.",
|
|
118
|
+
"do_not": "Do not pretend the bluff was real if it wasn't. They'll see through it on the next call."
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"if_you_hear": "Mid-call gridlock and you have no real BATNA.",
|
|
122
|
+
"interpretation": "You CANNOT credibly walk. A walk threat would be a lie.",
|
|
123
|
+
"say": "Don't threaten. Pivot to multi-issue trading (see `08-multi-issue-tradeoffs`) or schedule a callback to develop BATNA off-call.",
|
|
124
|
+
"do_not": "Do not bluff a walk you can't execute. Cost of being called is much higher than cost of slowing down."
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"boundaries": [
|
|
129
|
+
"Do NOT threaten a walk without user authorization AND a real BATNA.",
|
|
130
|
+
"Do NOT walk in anger. Walks must be calm — anger destroys the return option.",
|
|
131
|
+
"Do NOT use a walk as a manipulation tactic when you intend to stay. Bluffs caught are catastrophic.",
|
|
132
|
+
"Do NOT walk and then concede mid-walk ('OK, fine, just $X more'). That's worse than not walking at all.",
|
|
133
|
+
"Do NOT chase a counterparty who walked. Wait 48 hours minimum before re-engaging, and only if it's light-touch."
|
|
134
|
+
],
|
|
135
|
+
"success_signals": [
|
|
136
|
+
"Counterparty offers movement immediately after your soft walk signal.",
|
|
137
|
+
"Counterparty escalates to supervisor after you draw the line — supervisor often has authority.",
|
|
138
|
+
"You walked; counterparty called back within 48 hours.",
|
|
139
|
+
"Your line held and counterparty came up to meet it.",
|
|
140
|
+
"Counterparty respects your line and proposes alternate dimensions to close the gap."
|
|
141
|
+
],
|
|
142
|
+
"failure_signals": [
|
|
143
|
+
"Your line gets crossed and you're not willing to walk — you've lost credibility for future asks.",
|
|
144
|
+
"You walked and 7 days pass with no contact — BATNA was probably weaker than you thought; review.",
|
|
145
|
+
"Counterparty called your bluff and you concede on the way back — expect worse next time.",
|
|
146
|
+
"Counterparty walked permanently after your hold — re-evaluate whether the line was correctly calibrated."
|
|
147
|
+
],
|
|
148
|
+
"exit_strategy": {
|
|
149
|
+
"on_success": "Once line is held and counterparty meets it, close confidently. Get terms in writing.",
|
|
150
|
+
"on_failure": "If walk doesn't produce return AND BATNA isn't viable, debrief: did you signal urgency? Was the line too aggressive? Adjust before next negotiation."
|
|
151
|
+
},
|
|
152
|
+
"required_user_info": [
|
|
153
|
+
"EXPLICIT authorization to walk away.",
|
|
154
|
+
"A real, quantified BATNA — 'what we do if this deal doesn't happen'.",
|
|
155
|
+
"Lines the user is unwilling to cross (specific numbers / terms).",
|
|
156
|
+
"User's tolerance for the counterparty actually walking and not returning."
|
|
157
|
+
],
|
|
158
|
+
"contributed_by": "negotiation-master agent (v0.9.87 community drop)"
|
|
159
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "wedding-vendor-intake",
|
|
3
|
+
"name": "Wedding / Event Vendor Intake: Deposits, Refund Clauses, Cancellation",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"category": "other",
|
|
6
|
+
"tags": [
|
|
7
|
+
"wedding",
|
|
8
|
+
"event",
|
|
9
|
+
"vendor",
|
|
10
|
+
"venue",
|
|
11
|
+
"photographer",
|
|
12
|
+
"caterer",
|
|
13
|
+
"florist",
|
|
14
|
+
"dj",
|
|
15
|
+
"deposit",
|
|
16
|
+
"cancellation",
|
|
17
|
+
"phone-call",
|
|
18
|
+
"professional-services"
|
|
19
|
+
],
|
|
20
|
+
"description": "Place an intake / inquiry call with a wedding or event vendor (venue, photographer, caterer, florist, DJ, planner, officiant) to confirm availability, get a realistic price range, surface deposit / refund / force majeure / cancellation terms, and request a written contract BEFORE any money moves.",
|
|
21
|
+
"disclaimer": "Wedding-vendor deposits are the highest-volume source of contract disputes in this category. Never wire, Zelle, or charge a deposit on this call. All commitments are deferred to ask_operator after written-contract review.",
|
|
22
|
+
"context": {
|
|
23
|
+
"when_to_use": "Operator is sourcing vendors for a wedding or large event. Use one call per vendor early in the process. Date-blocking is the leverage point — popular vendors release dates on a first-deposit basis, so the operator's clarity on terms matters BEFORE the date is held.",
|
|
24
|
+
"preconditions": [
|
|
25
|
+
"Operator has the event date (preferably with one or two alternates), location, and guest count.",
|
|
26
|
+
"Operator has a clear budget range for this specific vendor category.",
|
|
27
|
+
"Operator has a 2-3 sentence description of the event style and any vendor-specific specifics (cuisine style for catering, photo style for photographer, etc.).",
|
|
28
|
+
"Operator has identified at least 2-3 vendors to compare so this isn't a one-quote engagement."
|
|
29
|
+
],
|
|
30
|
+
"estimated_call_duration_minutes": 20
|
|
31
|
+
},
|
|
32
|
+
"principles": [
|
|
33
|
+
"Date availability is the gating question. Without an open date, fit and price are irrelevant.",
|
|
34
|
+
"Wedding contracts skew vendor-friendly. Deposits are typically non-refundable; the operator's leverage is at the PRE-signature stage, not after.",
|
|
35
|
+
"Pricing varies seasonally and by day of week. Friday and Sunday rates are often 20-40% below Saturday. Off-season can be 30%+ lower. Mention flexibility if the operator has it.",
|
|
36
|
+
"Force majeure / postponement language is now standard post-2020 but inconsistently written. Pin down what triggers a free reschedule vs a forfeited deposit.",
|
|
37
|
+
"Vendor scope creep is the second-biggest cost driver. Travel, overtime, setup, breakdown, vendor meals, parking — surface every add-on category before signing.",
|
|
38
|
+
"References from the operator's specific venue or planner often matter more than star ratings. Ask for them."
|
|
39
|
+
],
|
|
40
|
+
"phrases": {
|
|
41
|
+
"opener": "Hi — I'm calling for a client planning a wedding on [date] in [location], roughly [guest count] guests. Quick first question before anything else: are you available that date, and at a high level what's your deposit and cancellation policy?",
|
|
42
|
+
"date_probe": "Are you available on [date], and what about [alt date 1] and [alt date 2] as backups? And is there a price difference by day of week?",
|
|
43
|
+
"pricing_probe": "For an event of this size and style, what's a realistic baseline package, and what's the typical all-in including the common add-ons — travel, overtime, setup, meals, gratuity?",
|
|
44
|
+
"deposit_probe": "What's the deposit, when is it due, is it refundable, and what's the payment schedule for the remainder?",
|
|
45
|
+
"cancellation_probe": "What's the cancellation policy at 90 days, 60 days, 30 days, and 7 days out? Is the deposit forfeited, are partial refunds tiered, and are there fees beyond the deposit?",
|
|
46
|
+
"postponement_probe": "If we postpone due to [force majeure event — illness, weather, venue loss], can we reschedule without forfeiting the deposit? What's the window — 6 months, 12 months, 18 months?",
|
|
47
|
+
"scope_probe": "What's explicitly in the package, and what's commonly billed separately — overtime hours, additional staff, travel, parking, vendor meals, equipment rentals, model releases, raw files, edits?",
|
|
48
|
+
"team_probe": "Who actually shows up on the day — you personally, a team you employ, or freelancers? If a backup, who, and is there an additional fee for the operator's first-choice point person?",
|
|
49
|
+
"insurance_probe": "Do you carry liability insurance, and can you provide a Certificate of Insurance naming the venue as additional insured if required?",
|
|
50
|
+
"references_probe": "Could you share two recent events at [venue / same planner / similar style] completed in the last 12-18 months — with contacts the operator can reach?",
|
|
51
|
+
"hold_probe": "If the operator wants to proceed, can you provide a 5-7 day soft hold on the date while we review the written contract?",
|
|
52
|
+
"stall_to_check": "Let me run the deposit and cancellation terms past my client before we lock anything — I'm not going to put money down on this call.",
|
|
53
|
+
"graceful_close": "Thanks — could you email the written contract over with the deposit, cancellation, postponement, and an itemised package? My client will review and get back to you within [timeframe]."
|
|
54
|
+
},
|
|
55
|
+
"tactics": [
|
|
56
|
+
{
|
|
57
|
+
"name": "Date first, always",
|
|
58
|
+
"when": "Opening minute.",
|
|
59
|
+
"script": "Use `date_probe`. If the primary date is gone and the operator has no flex, end politely and move on. Don't waste either side's time.",
|
|
60
|
+
"priority": 1
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "Baseline + add-ons",
|
|
64
|
+
"when": "After date.",
|
|
65
|
+
"script": "Use `pricing_probe` and `scope_probe`. The baseline package is rarely the operator's all-in number. Get the typical add-ons named so the comparison across vendors is apples-to-apples.",
|
|
66
|
+
"priority": 2
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "Deposit and cancellation explicit",
|
|
70
|
+
"when": "Money comes up.",
|
|
71
|
+
"script": "Use `deposit_probe` and `cancellation_probe`. Wedding deposits are typically 25-50%. Cancellation grids range from 100% loss to tiered partial refunds. Get the numbers.",
|
|
72
|
+
"priority": 3
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "Postponement / force majeure",
|
|
76
|
+
"when": "Right after cancellation.",
|
|
77
|
+
"script": "Use `postponement_probe`. Post-2020, vendors are more willing to write in a one-time free reschedule for force majeure within 12-18 months. Make sure it's in writing, not verbal.",
|
|
78
|
+
"priority": 4
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "Surface backups and team",
|
|
82
|
+
"when": "Mid-call.",
|
|
83
|
+
"script": "Use `team_probe`. Photographers and DJs especially: who is the contracted person, who is the realistic backup, and what fee structure applies if the backup is sent.",
|
|
84
|
+
"priority": 5
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "Venue-required insurance",
|
|
88
|
+
"when": "Vendor is venue-facing.",
|
|
89
|
+
"script": "Use `insurance_probe`. Many venues require COI with additional-insured language. Surface this early so a chosen vendor can comply."
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "Real references at comparable venues",
|
|
93
|
+
"when": "Late in call.",
|
|
94
|
+
"script": "Use `references_probe`. Two recent events at the same venue or similar style beats 500 Instagram followers."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "Soft hold while reviewing",
|
|
98
|
+
"when": "Fit looks strong.",
|
|
99
|
+
"script": "Use `hold_probe`. A 5-7 day soft hold lets the operator review the contract without losing the date. Reasonable vendors offer this."
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"boundaries": [
|
|
103
|
+
"Do NOT pay a deposit, retainer, or 'date hold fee' mid-call. NO exceptions. Use ask_operator.",
|
|
104
|
+
"Do NOT provide credit card, Zelle, Venmo, CashApp, or bank-transfer details to anyone on this call. Vendor payments go through the operator and an audited channel only.",
|
|
105
|
+
"Do NOT sign a contract or e-sign a 'simplified booking form' on the call. Every wedding contract requires offline review.",
|
|
106
|
+
"Do NOT accept a verbal-only quote. Wedding pricing is famously creative — written quote or it didn't happen.",
|
|
107
|
+
"Do NOT agree to a contract without force-majeure / postponement language the operator has approved.",
|
|
108
|
+
"Do NOT release the operator's full address, parents' contact info, or co-host details before booking. Vendor side-channel mailing is a known nuisance.",
|
|
109
|
+
"Do NOT commit to vendor meal counts, parking allocation, or overtime authority without the operator's say-so."
|
|
110
|
+
],
|
|
111
|
+
"success_signals": [
|
|
112
|
+
"Date availability confirmed with day-of-week pricing notes.",
|
|
113
|
+
"Written baseline package with add-ons enumerated as line items.",
|
|
114
|
+
"Deposit, cancellation grid, and postponement window explicit and in writing.",
|
|
115
|
+
"Force-majeure clause covers a sensible window (12-18 months reschedule).",
|
|
116
|
+
"Team / backup plan is clear, with named primary and backup.",
|
|
117
|
+
"Vendor will issue COI if the venue requires it.",
|
|
118
|
+
"Soft hold offered for 5-7 days while contract is under review."
|
|
119
|
+
],
|
|
120
|
+
"failure_signals": [
|
|
121
|
+
"Pressure to deposit on the call to 'lock the date'.",
|
|
122
|
+
"Deposit non-refundable AND no postponement clause at all.",
|
|
123
|
+
"Verbal-only quote with promise to 'figure out the contract later'.",
|
|
124
|
+
"No backup plan for sole-proprietor vendors (photographer / officiant) who could be sick on the day.",
|
|
125
|
+
"Refusal to provide references at comparable venues.",
|
|
126
|
+
"Aggressive add-on disclosure ('that's billed separately, but everyone pays it').",
|
|
127
|
+
"Refusal to write a force-majeure clause post-2020 norms."
|
|
128
|
+
],
|
|
129
|
+
"exit_strategy": {
|
|
130
|
+
"on_success": "Confirm vendor will email: written contract, deposit and cancellation grid, postponement clause, itemised package and common add-ons, references, COI if needed, and a soft hold confirmation. Operator reviews and decides within the soft-hold window.",
|
|
131
|
+
"on_failure": "Politely close. If terms are the issue, ask if they have a counterpart in the same network whose contract terms are more reasonable. Report back with the specific deal-breaker for the operator.",
|
|
132
|
+
"follow_ups": [
|
|
133
|
+
"Email the operator: vendor name, package, deposit / cancellation terms, postponement clause, add-on totals, references, red/green flags, comparison vs other quotes.",
|
|
134
|
+
"Calendar a hard deadline 24-48 hours BEFORE the soft hold expires to ensure the operator decides.",
|
|
135
|
+
"If proceeding: a separate contract-review pass before any signature."
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
"required_user_info": [
|
|
139
|
+
"Event date (primary + 1-2 alternates if flexible)",
|
|
140
|
+
"Venue (city, name if booked) and guest count",
|
|
141
|
+
"Vendor category and a 2-3 sentence style description",
|
|
142
|
+
"Budget range for this vendor specifically",
|
|
143
|
+
"Operator's tolerance for non-Saturday or off-season dates (price leverage)",
|
|
144
|
+
"Operator's preferred communication channel and decision timeline",
|
|
145
|
+
"Names and contacts to keep private vs share with vendor"
|
|
146
|
+
],
|
|
147
|
+
"contributed_by": "professional-intake agent (v0.9.87 community drop)",
|
|
148
|
+
"updated_at": "2026-05-20T06:10:08Z"
|
|
149
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "when-to-stop-being-polite",
|
|
3
|
+
"name": "When to Stop Being Polite — and What That Actually Looks Like",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"category": "other",
|
|
6
|
+
"tags": [
|
|
7
|
+
"meta-skill",
|
|
8
|
+
"adversarial-robustness",
|
|
9
|
+
"escalation",
|
|
10
|
+
"phone-call",
|
|
11
|
+
"boundary-setting",
|
|
12
|
+
"critical-reasoning"
|
|
13
|
+
],
|
|
14
|
+
"description": "99% of calls succeed with patience, warmth, and curiosity. A small minority require a hard pivot: firm refusal, named consequences, regulatory escalation language, or immediate disengagement. This skill defines the narrow triggers for that pivot, and what 'no longer polite' looks like in practice — which is NOT rude, hostile, or threatening, but is deliberately formal, citing-rights, and unambiguous about non-cooperation.",
|
|
15
|
+
"disclaimer": null,
|
|
16
|
+
"context": {
|
|
17
|
+
"when_to_use": "ONLY when a clearly bright-line condition is met (see triggers). Default posture remains warm and collaborative — this skill is the exception, not the rule.",
|
|
18
|
+
"preconditions": [
|
|
19
|
+
"Agent has confirmed at least one trigger condition with a specific recent example, not a vague sense.",
|
|
20
|
+
"Agent has authority from the user to formally escalate, lodge complaints, or disengage.",
|
|
21
|
+
"Agent has the user's relevant rights / protections clear (jurisdiction, regulator, statute if known)."
|
|
22
|
+
],
|
|
23
|
+
"estimated_call_duration_minutes": 5
|
|
24
|
+
},
|
|
25
|
+
"principles": [
|
|
26
|
+
"Politeness is leverage. You spend politeness when you've truly run out of other options — not when you're frustrated.",
|
|
27
|
+
"'Stopping being polite' does not mean becoming rude. It means becoming FORMAL — citing rights, naming consequences, declining to play within the framing the rep is using.",
|
|
28
|
+
"Hostility is never useful. Anger is never useful. Naming a specific regulator, requesting a specific form, or invoking a specific right IS useful.",
|
|
29
|
+
"Triggers must be SPECIFIC: a concrete observable behaviour, not a feeling. 'They were rude' is not a trigger; 'They lied about a written policy I have in hand' is.",
|
|
30
|
+
"Once you escalate formally, you cannot un-escalate cheaply. Make sure you mean it.",
|
|
31
|
+
"Even in the formal mode, leave the rep an off-ramp. People who feel cornered escalate; people who see a graceful exit comply."
|
|
32
|
+
],
|
|
33
|
+
"phrases": {
|
|
34
|
+
"name_the_trigger": "I want to flag something. You just said [X], and the written [bill/contract/email] in front of me says [Y]. That gap is significant.",
|
|
35
|
+
"request_formal_record": "I'd like this conversation noted formally in the account record. Could you confirm a note has been added with [specific summary]?",
|
|
36
|
+
"decline_to_proceed": "Given that, I don't want to continue on this call. I'd like a supervisor, or I'll end the call and take this through [written / regulatory] channels.",
|
|
37
|
+
"regulatory_invocation": "If we can't resolve this here, my next step is to file a complaint with [CFPB / state insurance commissioner / FCC / state AG / FTC]. I'd rather not — could we try one more path first?",
|
|
38
|
+
"rights_invocation_billing": "Under [FCBA / FCRA / state statute], I'm formally disputing this charge. Please log the dispute, hold collection activity, and send confirmation in writing.",
|
|
39
|
+
"rights_invocation_debt": "If this is a debt-collection call, I'm asking under the FDCPA that you cease contacting me by phone and communicate only in writing.",
|
|
40
|
+
"hard_disengage": "I'm going to end this call now. Thank you."
|
|
41
|
+
},
|
|
42
|
+
"tactics": [
|
|
43
|
+
{
|
|
44
|
+
"name": "Confirm a hard trigger, not a soft frustration",
|
|
45
|
+
"when": "Before pivoting out of the warm mode.",
|
|
46
|
+
"script": "Triggers: (a) caught lie about a written fact you have in hand; (b) rep refusing identity verification on inbound call that's asking for sensitive info; (c) threats from the rep ('we'll send to collections today unless...'); (d) refusal to escalate AND refusal to provide refusal-source; (e) extracting personal data not relevant to the stated purpose; (f) repeated refusal across two calls + one supervisor on a clearly bright-line right. Anything else: stay warm.",
|
|
47
|
+
"priority": 1
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "Shift to formal register without becoming hostile",
|
|
51
|
+
"when": "Trigger confirmed.",
|
|
52
|
+
"script": "Slow down. Speak more precisely. Use full sentences. Name the specific behaviour. Stop using filler words like 'sorry' and 'just'. Tone is still calm — the change is in the formality, not the volume.",
|
|
53
|
+
"priority": 2
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "Name the gap on the record",
|
|
57
|
+
"when": "After trigger confirmation.",
|
|
58
|
+
"script": "Use `name_the_trigger`. The point is to put the rep on notice that the conversation is now being treated formally, while still giving them a chance to correct.",
|
|
59
|
+
"priority": 3
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "Invoke the specific right or regulator",
|
|
63
|
+
"when": "Trigger involves a regulated industry.",
|
|
64
|
+
"script": "Use `rights_invocation_billing` / `rights_invocation_debt` / `regulatory_invocation`. Cite the SPECIFIC statute or agency that applies. Generic threats ('I'll report you') carry less weight than 'I will file an FCC complaint reference Title 47, Section X'.",
|
|
65
|
+
"priority": 4
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "Demand a formal account note",
|
|
69
|
+
"when": "Before disengaging or escalating.",
|
|
70
|
+
"script": "Use `request_formal_record`. Make sure the company's own record reflects the dispute. This is critical for any later legal or regulatory action."
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "Leave an off-ramp",
|
|
74
|
+
"when": "Even in the formal mode.",
|
|
75
|
+
"script": "Offer ONE more path: a supervisor, a written summary, a 24-hour pause. Reps who see a graceful resolution take it. Reps who are cornered double down."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "Hard disengage if needed",
|
|
79
|
+
"when": "Rep escalates abuse, persists in clear violation, or you are no longer being heard.",
|
|
80
|
+
"script": "Use `hard_disengage`. Do not slam. Do not insult. End. Document. Take it to writing or regulator."
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"alternative_interpretations": [
|
|
84
|
+
{
|
|
85
|
+
"observation": "Rep is curt / unfriendly / having a bad day.",
|
|
86
|
+
"consider": [
|
|
87
|
+
"Bad day, no policy issue — stay polite, do not escalate. This is NOT a trigger.",
|
|
88
|
+
"Hostile but providing correct service — stay polite.",
|
|
89
|
+
"Hostile AND withholding service the user is entitled to — combination triggers, but the hostility is not the reason; the withholding is.",
|
|
90
|
+
"Mirror-induced — you are being curt and they are matching you."
|
|
91
|
+
],
|
|
92
|
+
"next_action": "Reset your own warmth first. Most 'rude reps' soften when met with consistent calm."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"observation": "Rep states something you can verify in writing is false.",
|
|
96
|
+
"consider": [
|
|
97
|
+
"Rep is mistaken, not malicious — usually true. Surface gently first per `detect-lies-and-contradictions`.",
|
|
98
|
+
"Rep is improvising under pressure — same.",
|
|
99
|
+
"Rep is following a script known to misrepresent — material; escalate formally if it costs the user money.",
|
|
100
|
+
"Rep is deliberately deceiving — rare; treat as material if pattern is clear."
|
|
101
|
+
],
|
|
102
|
+
"next_action": "Try `detect-lies-and-contradictions` first. Only formally escalate if (a) the misstatement is material AND (b) the rep refuses to correct after one clean opportunity."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"observation": "Rep threatens consequences ('we'll send this to collections', 'we'll terminate your service today').",
|
|
106
|
+
"consider": [
|
|
107
|
+
"Standard, lawful collections language — not a trigger by itself.",
|
|
108
|
+
"Premature threat — would violate billing dispute rules if a dispute is on file.",
|
|
109
|
+
"False urgency — see `resist-urgency-manipulation`.",
|
|
110
|
+
"Genuine final notice — verify against any written notices the user has.",
|
|
111
|
+
"Designed to extract immediate payment to circumvent normal dispute process."
|
|
112
|
+
],
|
|
113
|
+
"next_action": "Calmly ask: 'When was the written notice sent and what does it say?' If under active billing dispute, invoke `rights_invocation_billing`."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"observation": "Your own emotional temperature is rising.",
|
|
117
|
+
"consider": [
|
|
118
|
+
"Trigger is real and your reaction is calibrated — proceed but keep volume down.",
|
|
119
|
+
"Trigger is real and your reaction is overcalibrated — pause; cool down before escalating.",
|
|
120
|
+
"Trigger is not real and you're frustrated — DO NOT escalate; you'll regret it.",
|
|
121
|
+
"Manipulation working in reverse — rep deliberately provoking you so they can label you 'difficult'."
|
|
122
|
+
],
|
|
123
|
+
"next_action": "Take a 10-second silent beat. Confirm the trigger is observable, specific, and recent. If yes, proceed formally. If no, stay polite or end the call cleanly."
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"boundaries": [
|
|
127
|
+
"NEVER raise your voice, threaten the rep personally, or use profanity. Formality has more force than anger.",
|
|
128
|
+
"NEVER threaten to 'report' someone vaguely. Either cite a specific regulator or don't invoke escalation.",
|
|
129
|
+
"NEVER invoke statute language you don't understand — get it right or don't say it.",
|
|
130
|
+
"DO disengage rather than fight, when the call is no longer recoverable.",
|
|
131
|
+
"DO loop the user in immediately if the formal mode is entered — they should know their call has crossed a threshold."
|
|
132
|
+
],
|
|
133
|
+
"success_signals": [
|
|
134
|
+
"Rep self-corrects after the gap is named.",
|
|
135
|
+
"Supervisor takes over and recovers the situation.",
|
|
136
|
+
"Formal note is added to the account.",
|
|
137
|
+
"Rep agrees to send a written summary acknowledging the dispute.",
|
|
138
|
+
"Threatened action (collections, termination) is paused while dispute is open."
|
|
139
|
+
],
|
|
140
|
+
"failure_signals": [
|
|
141
|
+
"Rep doubles down on the contested behaviour.",
|
|
142
|
+
"Supervisor confirms the rep's position without acknowledging the cited right.",
|
|
143
|
+
"Rep refuses to add a formal note.",
|
|
144
|
+
"Call ends with no record of the dispute."
|
|
145
|
+
],
|
|
146
|
+
"exit_strategy": {
|
|
147
|
+
"on_success": "Capture the corrected outcome in writing. Confirm the formal note. Step back to a polite register if the rest of the call continues — formality is a tool, not a default.",
|
|
148
|
+
"on_failure": "End the call cleanly. Move to written channels: certified letter, regulatory complaint, executive customer service. Provide the user with a clear summary including (a) what was alleged, (b) what was said by the rep, (c) what right or rule applies, (d) recommended next channel.",
|
|
149
|
+
"follow_ups": [
|
|
150
|
+
"If regulator was invoked, follow through — empty threats train future reps to ignore the invocation.",
|
|
151
|
+
"Pull all evidence collected per `mid-call-evidence-collection` for any complaint filing."
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"required_user_info": [
|
|
155
|
+
"Jurisdiction and relevant regulators / statutes the user is willing to invoke.",
|
|
156
|
+
"Explicit authority to escalate formally on the user's behalf.",
|
|
157
|
+
"Any prior dispute filings, written notices, or contractual provisions that bear on the trigger."
|
|
158
|
+
],
|
|
159
|
+
"contributed_by": "critical-reasoning agent (v0.9.87 community drop)",
|
|
160
|
+
"updated_at": "2026-05-20T06:10:17Z"
|
|
161
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "wire-funds-safely",
|
|
3
|
+
"name": "Initiate a Wire Transfer Safely",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"category": "finance-admin",
|
|
6
|
+
"tags": [
|
|
7
|
+
"wire-transfer",
|
|
8
|
+
"wire-fraud",
|
|
9
|
+
"verification",
|
|
10
|
+
"real-estate",
|
|
11
|
+
"business-email-compromise",
|
|
12
|
+
"phone-call",
|
|
13
|
+
"banking-finance"
|
|
14
|
+
],
|
|
15
|
+
"description": "Call a bank to initiate (or authorize) a domestic or international wire transfer with rigorous recipient verification — wires are irrevocable once sent, and impersonation / BEC fraud accounts for the largest dollar losses in retail banking.",
|
|
16
|
+
"disclaimer": "Not financial or tax advice. Agent must NEVER share SSN unprompted, NEVER initiate wires above the operator's stated cap, NEVER agree to a hardship plan / settlement that affects credit without explicit ask_operator approval.",
|
|
17
|
+
"context": {
|
|
18
|
+
"when_to_use": "User needs to send funds via wire — real-estate closing, large vendor payment, family transfer abroad, business B2B, etc. Critical context: wires settle in minutes and are practically irrevocable once sent. Fraud rings impersonate title companies, lawyers, executives, family members in distress. This skill exists to add friction in the right places, not to slow legitimate payments.",
|
|
19
|
+
"preconditions": [
|
|
20
|
+
"Explicit operator approval for the wire amount, recipient, and reason — recorded.",
|
|
21
|
+
"Recipient banking details verified through a SECOND channel (phone call to a known-good number, NOT a number from the email that requested the wire).",
|
|
22
|
+
"User has authentication factors ready: account, PIN/passcode, possibly callback-verification setup.",
|
|
23
|
+
"User has the bank's wire cutoff time (typically 3-5pm local) and knows weekend / holiday delays.",
|
|
24
|
+
"For real-estate / closings: title company contact verified at the brokerage's main line, NOT a number from a 'wire instructions' email."
|
|
25
|
+
],
|
|
26
|
+
"estimated_call_duration_minutes": 25
|
|
27
|
+
},
|
|
28
|
+
"principles": [
|
|
29
|
+
"Wires are IRREVOCABLE. Treat every detail like a one-way door — verify before, not after.",
|
|
30
|
+
"The number-one fraud pattern is a SPOOFED EMAIL with last-minute changed wire instructions. Always verify wire instructions on a fresh outbound call to a known-good number BEFORE the wire call.",
|
|
31
|
+
"Match the wire amount to the operator's pre-approved cap. Anything above triggers an `ask_operator` halt, full stop. No clever interpretations.",
|
|
32
|
+
"Read recipient details back digit-by-digit to the rep. ABA/routing, account number, SWIFT/IBAN for international, beneficiary name exactly as on the receiving account.",
|
|
33
|
+
"Use the bank's callback-verification or out-of-band approval feature if available — it's there because wire fraud is the bank's largest loss category.",
|
|
34
|
+
"Be skeptical of urgency. 'Send it now or we lose the deal' is the single most common fraud pressure tactic — legitimate counterparties tolerate a 30-minute verification delay."
|
|
35
|
+
],
|
|
36
|
+
"phrases": {
|
|
37
|
+
"opener": "Hi, I'd like to initiate a wire transfer. Before we start: I'd like to verify recipient details carefully, confirm any applicable cutoff times, and use any callback-verification process the bank offers.",
|
|
38
|
+
"state_the_wire": "The wire is for $[amount] to [recipient name] at [bank], routing [###], account [###]. The purpose is [closing / vendor / family transfer / etc.].",
|
|
39
|
+
"verify_callback": "Does the bank offer a callback-verification step where you call me back on the phone number on file before releasing the wire? I'd like to use that.",
|
|
40
|
+
"ask_cutoff_times": "What is today's cutoff time for [domestic / international] wires, and when will the funds settle at the receiving bank?",
|
|
41
|
+
"international_extras": "For the international wire — please confirm the SWIFT/BIC, IBAN if applicable, intermediary bank details, and the currency. Also, what FX rate are you applying and what are the total fees?",
|
|
42
|
+
"ask_for_purpose_field": "What goes in the purpose / memo field? Please use exactly: [text].",
|
|
43
|
+
"stop_on_red_flag": "I'd like to pause and re-verify the recipient details. Please hold the wire — I'll call back after I confirm the instructions via my second channel.",
|
|
44
|
+
"graceful_close": "Can you confirm the wire is queued, read back the amount, recipient name, account number, routing/SWIFT, expected settlement time, total fees, and give me the reference / Federal Reference (IMAD/OMAD) number?"
|
|
45
|
+
},
|
|
46
|
+
"tactics": [
|
|
47
|
+
{
|
|
48
|
+
"name": "Re-verify recipient on a fresh outbound call FIRST",
|
|
49
|
+
"when": "Before even dialing the bank.",
|
|
50
|
+
"script": "Call the recipient (title company, vendor, family member) on a number you ALREADY know — not one from any email. Read back the routing + account they expect. If they don't match the emailed instructions, STOP — the email was spoofed.",
|
|
51
|
+
"priority": 1
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "Check operator-approved cap",
|
|
55
|
+
"when": "Before authorizing any dollar amount on the call.",
|
|
56
|
+
"script": "If the wire is at or below the operator's pre-approved cap and to the pre-approved recipient — proceed. If either differs — halt and `ask_operator`. No exceptions.",
|
|
57
|
+
"priority": 2
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Open with verification request",
|
|
61
|
+
"when": "First substantive turn with the bank.",
|
|
62
|
+
"script": "Use `opener` + `verify_callback`. Banks have these features because wire fraud is rampant; using them is normal and signals you're cautious.",
|
|
63
|
+
"priority": 3
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "Read details back digit-by-digit",
|
|
67
|
+
"when": "Stating the wire.",
|
|
68
|
+
"script": "Use `state_the_wire`, then have the REP read back routing/account/SWIFT. Catch transpositions live — once sent, a mis-keyed digit can land funds at a random account and recovery is not guaranteed.",
|
|
69
|
+
"priority": 4
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "International extras",
|
|
73
|
+
"when": "Wire is cross-border.",
|
|
74
|
+
"script": "Use `international_extras`. Compare the FX rate to mid-market (e.g., Google's rate) so the spread is known. Confirm intermediary-bank fees that can shave 20-40 USD off the received amount."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "Pause on red flags",
|
|
78
|
+
"when": "Anything feels off — pressure to hurry, last-minute detail changes, rep waiving the callback step, mismatched recipient names.",
|
|
79
|
+
"script": "Use `stop_on_red_flag`. Hang up if needed. Re-verify, then restart. A 30-minute delay is cheap; an irrecoverable $50k wire is not."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "Capture the audit trail",
|
|
83
|
+
"when": "Wire is queued or sent.",
|
|
84
|
+
"script": "Use `graceful_close`. Get IMAD (incoming) / OMAD (outgoing) Federal Reference numbers — these are the unique identifiers used to trace the wire if a recall is later needed."
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"boundaries": [
|
|
88
|
+
"Do NOT initiate a wire above the operator's stated cap under any pretext — halt and `ask_operator`.",
|
|
89
|
+
"Do NOT use wire instructions from an email without out-of-band verification — assume the email is spoofed until proven otherwise.",
|
|
90
|
+
"Do NOT proceed if anyone is pressuring urgency (rep, recipient, third party). Urgency is the universal fraud tell.",
|
|
91
|
+
"Do NOT initiate a wire to crypto exchanges, gift-card processors, or 'IRS payment' addresses — these are the canonical scam destinations.",
|
|
92
|
+
"Do NOT skip the callback-verification step even if the rep offers to.",
|
|
93
|
+
"Do NOT share full SSN unless it's bank policy for the wire desk and operator has approved disclosure.",
|
|
94
|
+
"Do NOT close the call without IMAD/OMAD or equivalent reference number."
|
|
95
|
+
],
|
|
96
|
+
"success_signals": [
|
|
97
|
+
"Recipient details verified out-of-band match the bank-call details exactly.",
|
|
98
|
+
"Bank callback-verification step completed.",
|
|
99
|
+
"Rep reads back details accurately, no transpositions.",
|
|
100
|
+
"Wire queued with reference number; cutoff time confirmed.",
|
|
101
|
+
"Fees and (if FX) rate disclosed and within expectations."
|
|
102
|
+
],
|
|
103
|
+
"failure_signals": [
|
|
104
|
+
"Recipient details don't match between channels — suspected BEC, halt.",
|
|
105
|
+
"Rep waives or skips the bank's standard callback step.",
|
|
106
|
+
"Urgency pressure ('send now or it's gone').",
|
|
107
|
+
"Recipient name on the receiving account doesn't match what the user expects.",
|
|
108
|
+
"Wire destination is a personal account at an obscure overseas bank when the deal context says corporate domestic."
|
|
109
|
+
],
|
|
110
|
+
"exit_strategy": {
|
|
111
|
+
"on_success": "Confirm IMAD/OMAD reference, settlement time, fees, FX (if applicable). Notify the operator immediately with the reference. Notify the recipient on a known-good channel so they can confirm receipt.",
|
|
112
|
+
"on_failure": "If the wire was sent in error or to a fraudster, call the bank IMMEDIATELY — within minutes — and request a wire RECALL via the Federal Reserve's recall process. File a complaint at IC3.gov and a report with local law enforcement. Inform the operator.",
|
|
113
|
+
"follow_ups": [
|
|
114
|
+
"Day +1: confirm receipt with recipient via known-good channel.",
|
|
115
|
+
"If international: confirm intermediary fees were as quoted.",
|
|
116
|
+
"If anything off: file IC3.gov report within 24 hours — recall windows are short."
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"required_user_info": [
|
|
120
|
+
"Wire amount, currency, purpose",
|
|
121
|
+
"Recipient legal name (exact match to receiving account)",
|
|
122
|
+
"Routing / ABA (domestic), SWIFT/BIC + IBAN (international), beneficiary account",
|
|
123
|
+
"Out-of-band-verified phone number for the recipient",
|
|
124
|
+
"Operator-approved cap and explicit approval for THIS wire",
|
|
125
|
+
"Source account from which to debit"
|
|
126
|
+
],
|
|
127
|
+
"contributed_by": "banking-finance agent (v0.9.87 community drop)",
|
|
128
|
+
"updated_at": "2026-05-20T06:09:47Z"
|
|
129
|
+
}
|