@agenticmail/core 0.9.32 → 0.9.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/index.d.cts +1 -1
  2. package/dist/index.d.ts +1 -1
  3. package/dist/skills/built-in/accommodation-intake.json +132 -0
  4. package/dist/skills/built-in/add-driver-vehicle-household.json +133 -0
  5. package/dist/skills/built-in/admissions-waitlist-followup.json +129 -0
  6. package/dist/skills/built-in/anchor-and-counter-anchor.json +161 -0
  7. package/dist/skills/built-in/anti-social-engineering.json +153 -0
  8. package/dist/skills/built-in/anything-else-sweep.json +120 -0
  9. package/dist/skills/built-in/apologise-correctly.json +126 -0
  10. package/dist/skills/built-in/ask-for-in-person-meeting.json +114 -0
  11. package/dist/skills/built-in/attorney-new-client-intake.json +133 -0
  12. package/dist/skills/built-in/bant-discovery-call.json +125 -0
  13. package/dist/skills/built-in/book-new-patient-appointment.json +131 -0
  14. package/dist/skills/built-in/bookmark-close.json +113 -0
  15. package/dist/skills/built-in/bypass-i-am-the-supervisor.json +130 -0
  16. package/dist/skills/built-in/bypass-scripted-rep.json +142 -0
  17. package/dist/skills/built-in/calibrated-questions.json +155 -0
  18. package/dist/skills/built-in/call-911-fire.json +118 -0
  19. package/dist/skills/built-in/call-911-medical-emergency.json +126 -0
  20. package/dist/skills/built-in/call-911-violent-crime-in-progress.json +133 -0
  21. package/dist/skills/built-in/call-988-crisis-line.json +106 -0
  22. package/dist/skills/built-in/call-poison-control.json +115 -0
  23. package/dist/skills/built-in/call-police-non-emergency.json +114 -0
  24. package/dist/skills/built-in/call-with-person-in-distress.json +133 -0
  25. package/dist/skills/built-in/cancel-cable-fiber-no-retention-loop.json +156 -0
  26. package/dist/skills/built-in/cancel-policy-clean.json +130 -0
  27. package/dist/skills/built-in/capture-rep-identity.json +113 -0
  28. package/dist/skills/built-in/childcare-provider-intake.json +157 -0
  29. package/dist/skills/built-in/close-account-no-residual-fees.json +127 -0
  30. package/dist/skills/built-in/close-on-concrete-next-step.json +116 -0
  31. package/dist/skills/built-in/confirm-agreement-readback.json +134 -0
  32. package/dist/skills/built-in/confirm-next-step-ownership.json +113 -0
  33. package/dist/skills/built-in/contractor-estimate-request.json +142 -0
  34. package/dist/skills/built-in/court-clerk-administrative-inquiry.json +119 -0
  35. package/dist/skills/built-in/cpa-intake-call.json +134 -0
  36. package/dist/skills/built-in/day-of-flight-cancellation.json +127 -0
  37. package/dist/skills/built-in/de-escalate-angry-rep.json +114 -0
  38. package/dist/skills/built-in/decline-unsolicited-pitch.json +110 -0
  39. package/dist/skills/built-in/deliver-difficult-news.json +122 -0
  40. package/dist/skills/built-in/detect-fake-escalation-loops.json +140 -0
  41. package/dist/skills/built-in/detect-lies-and-contradictions.json +139 -0
  42. package/dist/skills/built-in/dispute-billing-code-eob.json +147 -0
  43. package/dist/skills/built-in/dispute-charge-reg-e-reg-z.json +131 -0
  44. package/dist/skills/built-in/dispute-credit-report-via-bank.json +128 -0
  45. package/dist/skills/built-in/dispute-denied-claim.json +143 -0
  46. package/dist/skills/built-in/dispute-security-deposit.json +130 -0
  47. package/dist/skills/built-in/dispute-usage-spike-meter-reread.json +120 -0
  48. package/dist/skills/built-in/dmv-vehicle-registration-renewal.json +120 -0
  49. package/dist/skills/built-in/document-call-promises.json +145 -0
  50. package/dist/skills/built-in/early-lease-termination.json +126 -0
  51. package/dist/skills/built-in/elite-line-escalation.json +107 -0
  52. package/dist/skills/built-in/equipment-swap-cable-router-modem.json +126 -0
  53. package/dist/skills/built-in/eu261-uk261-dot-compensation.json +113 -0
  54. package/dist/skills/built-in/file-fnol-auto-claim.json +130 -0
  55. package/dist/skills/built-in/file-habitability-complaint.json +115 -0
  56. package/dist/skills/built-in/financial-aid-appeal.json +128 -0
  57. package/dist/skills/built-in/follow-up-stalled-claim.json +118 -0
  58. package/dist/skills/built-in/get-past-gatekeeper.json +115 -0
  59. package/dist/skills/built-in/get-past-tier-1-script.json +130 -0
  60. package/dist/skills/built-in/handle-callback-stall.json +120 -0
  61. package/dist/skills/built-in/handle-outsourced-no-escalation.json +138 -0
  62. package/dist/skills/built-in/handle-send-me-an-email-deflection.json +112 -0
  63. package/dist/skills/built-in/handle-time-pressure.json +159 -0
  64. package/dist/skills/built-in/health-prior-auth-appeal.json +131 -0
  65. package/dist/skills/built-in/hoa-dispute.json +123 -0
  66. package/dist/skills/built-in/hold-time-strategy.json +137 -0
  67. package/dist/skills/built-in/hold-warmth-cold-rep.json +114 -0
  68. package/dist/skills/built-in/hotel-walk-over-recovery.json +114 -0
  69. package/dist/skills/built-in/humour-when-it-lands.json +127 -0
  70. package/dist/skills/built-in/i20-visa-dso.json +134 -0
  71. package/dist/skills/built-in/invoke-regulator-firmly.json +137 -0
  72. package/dist/skills/built-in/irrops-waiver-awareness.json +103 -0
  73. package/dist/skills/built-in/irs-payment-plan-setup.json +134 -0
  74. package/dist/skills/built-in/k12-iep-504-enrollment.json +134 -0
  75. package/dist/skills/built-in/late-add-petition.json +128 -0
  76. package/dist/skills/built-in/leave-of-absence-deferral.json +130 -0
  77. package/dist/skills/built-in/lock-in-terms-verbally.json +127 -0
  78. package/dist/skills/built-in/match-energy-keep-goal.json +120 -0
  79. package/dist/skills/built-in/medical-records-transfer.json +138 -0
  80. package/dist/skills/built-in/medical-withdrawal.json +131 -0
  81. package/dist/skills/built-in/mid-call-evidence-collection.json +159 -0
  82. package/dist/skills/built-in/mirror-technique.json +145 -0
  83. package/dist/skills/built-in/missed-connection-distressed-passenger.json +111 -0
  84. package/dist/skills/built-in/mortgage-loan-hardship.json +130 -0
  85. package/dist/skills/built-in/move-out-walkthrough.json +114 -0
  86. package/dist/skills/built-in/multi-channel-escalation.json +141 -0
  87. package/dist/skills/built-in/multi-issue-tradeoffs.json +155 -0
  88. package/dist/skills/built-in/negotiate-rent-renewal.json +123 -0
  89. package/dist/skills/built-in/no-as-opening.json +154 -0
  90. package/dist/skills/built-in/not-sound-like-spam-dialer.json +118 -0
  91. package/dist/skills/built-in/outage-credit-applied.json +127 -0
  92. package/dist/skills/built-in/passport-expedite-or-appointment.json +123 -0
  93. package/dist/skills/built-in/pediatric-school-forms.json +141 -0
  94. package/dist/skills/built-in/personal-trainer-discovery.json +138 -0
  95. package/dist/skills/built-in/pharmacy-callback.json +134 -0
  96. package/dist/skills/built-in/pivot-mid-call.json +141 -0
  97. package/dist/skills/built-in/port-mobile-number-survive-retention.json +127 -0
  98. package/dist/skills/built-in/prescription-refill-followup.json +132 -0
  99. package/dist/skills/built-in/push-past-invented-policy.json +159 -0
  100. package/dist/skills/built-in/rapport-opening-30-seconds.json +130 -0
  101. package/dist/skills/built-in/reach-executive-office.json +137 -0
  102. package/dist/skills/built-in/read-vocal-cues.json +139 -0
  103. package/dist/skills/built-in/read-vocal-tone.json +159 -0
  104. package/dist/skills/built-in/realestate-agent-vetting.json +144 -0
  105. package/dist/skills/built-in/receive-difficult-news.json +115 -0
  106. package/dist/skills/built-in/recording-claim-conversation-legally.json +121 -0
  107. package/dist/skills/built-in/recover-summary-refusal.json +121 -0
  108. package/dist/skills/built-in/reengage-ghosted-lead.json +115 -0
  109. package/dist/skills/built-in/referral-followup-without-burning.json +116 -0
  110. package/dist/skills/built-in/referral-prior-authorization.json +130 -0
  111. package/dist/skills/built-in/refuse-the-split.json +142 -0
  112. package/dist/skills/built-in/refuse-upsell-at-close.json +114 -0
  113. package/dist/skills/built-in/rental-car-counter-defense.json +116 -0
  114. package/dist/skills/built-in/rental-scam-report.json +125 -0
  115. package/dist/skills/built-in/replace-lost-stolen-card-expedited.json +139 -0
  116. package/dist/skills/built-in/report-downed-line-gas-smell-911-triage.json +130 -0
  117. package/dist/skills/built-in/report-elder-or-child-abuse.json +117 -0
  118. package/dist/skills/built-in/report-fbi-tip.json +109 -0
  119. package/dist/skills/built-in/report-fraud-ic3-or-ftc.json +117 -0
  120. package/dist/skills/built-in/report-fraudulent-transaction.json +126 -0
  121. package/dist/skills/built-in/report-power-outage-get-etr.json +116 -0
  122. package/dist/skills/built-in/report-urgent-maintenance.json +123 -0
  123. package/dist/skills/built-in/request-credit-limit-increase.json +126 -0
  124. package/dist/skills/built-in/request-supervisor-gracefully.json +129 -0
  125. package/dist/skills/built-in/request-welfare-check.json +127 -0
  126. package/dist/skills/built-in/request-written-confirmation.json +113 -0
  127. package/dist/skills/built-in/reschedule-appointment.json +121 -0
  128. package/dist/skills/built-in/reset-by-callback.json +143 -0
  129. package/dist/skills/built-in/resist-urgency-manipulation.json +152 -0
  130. package/dist/skills/built-in/revisit-totaling-decision.json +125 -0
  131. package/dist/skills/built-in/roadside-assistance-dispatch.json +132 -0
  132. package/dist/skills/built-in/roommate-replacement.json +121 -0
  133. package/dist/skills/built-in/same-day-urgent-appointment.json +130 -0
  134. package/dist/skills/built-in/schedule-rental-viewing.json +111 -0
  135. package/dist/skills/built-in/service-move-shutoff-start-no-overlap.json +129 -0
  136. package/dist/skills/built-in/social-security-replacement-card.json +122 -0
  137. package/dist/skills/built-in/specialist-doctor-booking.json +136 -0
  138. package/dist/skills/built-in/spot-bait-and-switch.json +155 -0
  139. package/dist/skills/built-in/stop-recurring-ach.json +127 -0
  140. package/dist/skills/built-in/switch-postpaid-to-prepaid-mid-cycle.json +130 -0
  141. package/dist/skills/built-in/tactical-empathy-labeling.json +147 -0
  142. package/dist/skills/built-in/therapist-intake-call.json +133 -0
  143. package/dist/skills/built-in/train-cancellation-refund-rebook.json +104 -0
  144. package/dist/skills/built-in/transcript-request.json +128 -0
  145. package/dist/skills/built-in/travel-insurance-claim-on-the-road.json +114 -0
  146. package/dist/skills/built-in/travel-notice-unlock-card.json +119 -0
  147. package/dist/skills/built-in/unemployment-claim-status-and-appeal.json +123 -0
  148. package/dist/skills/built-in/uscis-case-status-and-biometrics.json +125 -0
  149. package/dist/skills/built-in/utility-deposit-waiver.json +122 -0
  150. package/dist/skills/built-in/utility-payment-plan-avoid-disconnect.json +122 -0
  151. package/dist/skills/built-in/verify-insurance-coverage-pre-procedure.json +140 -0
  152. package/dist/skills/built-in/verify-out-of-network-coverage.json +129 -0
  153. package/dist/skills/built-in/veteran-benefits-community-college.json +134 -0
  154. package/dist/skills/built-in/veterinary-new-patient-intake.json +135 -0
  155. package/dist/skills/built-in/visa-boarding-denial-recovery.json +115 -0
  156. package/dist/skills/built-in/vital-records-certificate-copy.json +120 -0
  157. package/dist/skills/built-in/voicemail-that-gets-called-back.json +114 -0
  158. package/dist/skills/built-in/voter-registration-and-ballot.json +124 -0
  159. package/dist/skills/built-in/walkaway-threats.json +159 -0
  160. package/dist/skills/built-in/wedding-vendor-intake.json +149 -0
  161. package/dist/skills/built-in/when-to-stop-being-polite.json +161 -0
  162. package/dist/skills/built-in/wire-funds-safely.json +129 -0
  163. package/package.json +1 -1
@@ -0,0 +1,135 @@
1
+ {
2
+ "id": "veterinary-new-patient-intake",
3
+ "name": "Veterinary New-Patient Intake: Records Transfer and Urgent vs Routine Triage",
4
+ "version": "1.0.1",
5
+ "category": "medical-admin",
6
+ "tags": [
7
+ "veterinary",
8
+ "vet",
9
+ "pet",
10
+ "intake",
11
+ "records-transfer",
12
+ "urgent-care",
13
+ "phone-call",
14
+ "professional-services"
15
+ ],
16
+ "description": "Call a veterinary clinic to establish a new-patient file for the operator's pet, request records transfer from prior vet, triage urgent vs routine timing, and confirm cost structure and emergency-after-hours coverage — without authorising procedures or deposits.",
17
+ "disclaimer": "If the pet shows signs of true emergency (laboured breathing, collapse, bloated abdomen, prolonged seizures, suspected toxin ingestion, unproductive retching, trauma), STOP this call and direct the operator to the nearest 24-hour emergency vet IMMEDIATELY. This skill is for non-emergent intake.",
18
+ "context": {
19
+ "when_to_use": "Operator has a new pet, just moved, switched clinics, or needs to see a specialist (cardiology, oncology, derm, surgery, behaviour). Use for non-emergent intake. Pair with `vet-emergency-triage` (separate skill) if symptoms cross urgent thresholds mid-call.",
20
+ "preconditions": [
21
+ "Pet basics: species, breed, age, sex, neuter status, weight, microchip number.",
22
+ "Vaccination and parasite-prevention status with dates if available.",
23
+ "Prior clinic name and a release-of-records form already authorised, or the operator's permission to authorise one.",
24
+ "Current concern in lay terms (well-visit, recurring symptom, post-op follow-up) plus duration and severity at the high level.",
25
+ "Pet insurance: carrier, policy number, deductible status."
26
+ ],
27
+ "estimated_call_duration_minutes": 15
28
+ },
29
+ "principles": [
30
+ "Triage drives timing. Routine wellness can wait days; lethargy + not eating > 24h, repeated vomiting, or limping non-weight-bearing should be seen within 24-48h. True emergencies skip this skill entirely.",
31
+ "Records transfer is the single biggest source of duplicated cost. Always request prior records BEFORE the first visit so vaccines, labs, and imaging aren't redone unnecessarily.",
32
+ "First-visit cost is more than the exam fee. Expect exam + diagnostics + possibly vaccines + possibly meds. Get an estimated range, not just the consult fee.",
33
+ "After-hours coverage varies wildly. Some clinics partner with a 24-hour ER; others say 'call this number then drive'. Operator should know BEFORE midnight on a Sunday.",
34
+ "Pet insurance reimburses; it rarely pays directly. Operator pays at checkout and files. Confirm the clinic provides itemised invoices with CPT-equivalent codes.",
35
+ "Behavioural concerns deserve a behaviour-savvy vet, not a generalist who will hand back trazodone. Probe for this if the issue is behavioural."
36
+ ],
37
+ "phrases": {
38
+ "opener": "Hi — looking to set up a new patient file for [pet name], a [age]-[species]-[breed]. Before we book anything, can I run the current concern by you to make sure we're picking the right kind of slot?",
39
+ "triage_probe": "The current concern is [HIGH-level description]. Based on that, would you recommend a routine wellness slot, an urgent same/next-day slot, or an ER referral?",
40
+ "records_probe": "[Prior clinic] has [pet]'s records. Can your office initiate a records request, or does the operator need to sign a release on your portal first? What's the typical turnaround?",
41
+ "cost_probe": "What's the new-patient exam fee, and what's a realistic all-in range for the first visit given likely vaccines, parasite prevention, and basic blood work for a [species/age]?",
42
+ "vaccine_protocol_probe": "What's your protocol for [species/age]? The operator wants to avoid over-vaccinating — do you titre when appropriate, or follow a default schedule?",
43
+ "after_hours_probe": "What's your after-hours coverage? Do you have an in-house ER, partner with a 24-hour hospital, or refer out — and who do we call at 2am?",
44
+ "insurance_probe": "Do you provide itemised invoices with diagnosis codes for pet-insurance claims? Will the operator pay at checkout and file, or do you bill insurance directly?",
45
+ "behavior_probe": "If behaviour is in scope (anxiety, reactivity, aggression), does anyone in the practice have specific behaviour training, or would you refer to a veterinary behaviourist?",
46
+ "stall_to_check": "Let me confirm the slot timing with the operator. They want to make sure they can transport the pet calmly and bring the records.",
47
+ "graceful_close": "Thank you — please email the new-patient forms and the records-release form. The operator will sign and we'll confirm the slot within [timeframe]."
48
+ },
49
+ "tactics": [
50
+ {
51
+ "name": "Triage urgency BEFORE booking",
52
+ "when": "First 90 seconds.",
53
+ "script": "Use `triage_probe`. If the clinic says 'sounds like ER', stop the intake and divert. Otherwise, route to routine or urgent slot based on their guidance.",
54
+ "priority": 1
55
+ },
56
+ {
57
+ "name": "Records transfer initiated immediately",
58
+ "when": "Right after triage.",
59
+ "script": "Use `records_probe`. Get the release-of-records form started in the same call. Vaccines / titre results / recent labs / imaging are the high-value documents.",
60
+ "priority": 2
61
+ },
62
+ {
63
+ "name": "Cost range, not point estimate",
64
+ "when": "Once a slot type is known.",
65
+ "script": "Use `cost_probe`. The exam fee is the smallest line. Get the low/high for the realistic all-in.",
66
+ "priority": 3
67
+ },
68
+ {
69
+ "name": "After-hours plan in writing",
70
+ "when": "Before booking.",
71
+ "script": "Use `after_hours_probe`. Confirm whether the clinic has its own 24h staffing or refers to an ER. Get phone number and address of the ER referral partner.",
72
+ "priority": 4
73
+ },
74
+ {
75
+ "name": "Insurance and itemisation",
76
+ "when": "Mid-call.",
77
+ "script": "Use `insurance_probe`. Confirm itemised invoice with diagnosis codes — without them, insurance claims often get denied.",
78
+ "priority": 5
79
+ },
80
+ {
81
+ "name": "Behaviour referral if relevant",
82
+ "when": "Concern is behavioural.",
83
+ "script": "Use `behavior_probe`. If the practice has no behaviour expertise, ask for a referral to a board-certified veterinary behaviourist (DACVB) or qualified veterinary behaviour consultant."
84
+ },
85
+ {
86
+ "name": "Defer payment-on-file",
87
+ "when": "Coordinator wants card to hold slot.",
88
+ "script": "Use `stall_to_check`. Slot holds with a card-on-file should be explicitly approved by the operator. Confirm cancellation window before agreeing."
89
+ }
90
+ ],
91
+ "boundaries": [
92
+ "Do NOT authorise any procedure, sedation, vaccine, or diagnostic over the phone. Operator authorises in person via the consent form.",
93
+ "Do NOT confirm euthanasia, surgery, or expensive workup paths during intake. Those decisions happen with the vet, in person, after exam.",
94
+ "Do NOT skip the triage step. If the symptom description includes red flags (collapse, bloat, prolonged seizure, suspected toxin), divert to ER immediately and end the call.",
95
+ "Do NOT provide a credit card to hold the new-patient slot unless explicitly authorised by the operator.",
96
+ "Do NOT consent to over-vaccination on schedule alone. Ask about titres or risk-based scheduling when age and history warrant it.",
97
+ "Do NOT share full pet medical history with non-clinical staff beyond what's needed to book and triage."
98
+ ],
99
+ "success_signals": [
100
+ "Clinic triages the symptom into routine / urgent / ER on the call.",
101
+ "Records-release form is sent and the prior clinic is contacted.",
102
+ "Realistic all-in cost range for the first visit is given.",
103
+ "After-hours / ER referral plan is clear and in writing.",
104
+ "Vaccine protocol is risk-based or includes titre options when appropriate.",
105
+ "Itemised-invoice support for pet insurance is confirmed."
106
+ ],
107
+ "failure_signals": [
108
+ "Refusal or inability to triage urgency on the call.",
109
+ "Records transfer is 'something the operator should figure out'.",
110
+ "Exam fee given without any range for likely add-ons.",
111
+ "No after-hours plan or unclear ER partner.",
112
+ "Aggressive vaccine schedule with no flexibility for adult / senior pets.",
113
+ "Card-on-file pressure before the operator has reviewed cancellation policy."
114
+ ],
115
+ "exit_strategy": {
116
+ "on_success": "Confirm clinic will email: new-patient forms, records-release form, cost estimate range, after-hours protocol, and cancellation policy. Operator confirms the slot once forms are reviewed. Note the records request and expected turnaround so the visit isn't booked before records arrive.",
117
+ "on_failure": "Politely close. If the failure was triage-related and the pet may need urgent care, immediately escalate the operator to a 24-hour ER (Google + state vet board are reasonable next steps).",
118
+ "follow_ups": [
119
+ "Email the operator: clinic name, vet name, slot timing, cost range, records request status, after-hours plan, insurance handling, red/green flags.",
120
+ "Coordinate records arrival with the prior clinic (call back if not received within 5 business days).",
121
+ "If species or condition warrants a specialist, note referral options for the operator's next step."
122
+ ]
123
+ },
124
+ "required_user_info": [
125
+ "Pet: species, breed, age, sex, neuter status, weight, microchip number",
126
+ "Vaccination and parasite-prevention history with dates",
127
+ "Prior clinic name, address, phone, and an authorised release of records",
128
+ "Current concern in lay terms (well-visit, recurring symptom, post-op) plus onset/duration/severity at the high level",
129
+ "Pet insurance: carrier, policy, deductible state",
130
+ "Operator's availability windows and transport constraints",
131
+ "Any prior medications, supplements, diet specifics, and known allergies / sensitivities"
132
+ ],
133
+ "contributed_by": "professional-intake agent (v0.9.87 community drop)",
134
+ "updated_at": "2026-05-20T06:09:47Z"
135
+ }
@@ -0,0 +1,115 @@
1
+ {
2
+ "id": "visa-boarding-denial-recovery",
3
+ "name": "Visa / Boarding-Denied Recovery — When the Gate Agent Is Wrong",
4
+ "version": "1.0.0",
5
+ "category": "travel",
6
+ "tags": ["visa", "boarding-denial", "timatic", "esta", "schengen", "transit", "embassy"],
7
+ "description": "A gate agent has refused to board you over a visa, passport, or entry-rule issue. They are sometimes right and often wrong (TIMATIC misread, transit-rule confusion, passport-validity overcautious). This skill walks through verifying entry rules, pushing back politely, escalating to the duty manager, and rerouting via another carrier if denial holds.",
8
+ "disclaimer": "Final entry decisions are made by the destination country's border authorities, not by airlines. This skill helps reverse erroneous AIRLINE denials based on misreads of standard sources like TIMATIC/Sherpa. Always carry the actual entry-rule text printed out for the destination country.",
9
+ "context": {
10
+ "when_to_use": "User is at check-in or the gate, has been told they cannot board because of a visa, passport-validity, transit-visa, or ESTA/eTA issue. User believes (with documentation) that the entry rule allows the trip.",
11
+ "preconditions": [
12
+ "User has the passport, any required visa, and the trip's onward/return documentation.",
13
+ "User can pull up the destination government's official immigration page from a phone.",
14
+ "User has time before the flight closes (this conversation takes 20-40 minutes typically)."
15
+ ],
16
+ "estimated_call_duration_minutes": 30
17
+ },
18
+ "principles": [
19
+ "Airlines use TIMATIC (a Sabre / IATA database) and increasingly Sherpa to determine boarding eligibility. The data is sometimes stale or misread. The destination government's own site is the source of truth.",
20
+ "Airlines are financially liable for transporting passengers refused entry — they're the ones who pay the return-flight cost and INAD (inadmissible passenger) fines, often $5,000-$15,000+. That's why they're cautious. Address that fear directly: 'I can show you the rule that confirms I'm admissible.'",
21
+ "Passport-validity rules trip up more travelers than any other. Common standards: 6 months beyond travel for most of Asia + Schengen; 3 months beyond travel for some; valid for trip duration for others (UK, US). Check the destination, not the assumption.",
22
+ "Transit visa confusion is the second biggest source of erroneous denials. Schengen requires nothing for most airside transit, but a few nationalities need an 'Airport Transit Visa' (ATV / Visa A). UK requires a Direct Airside Transit Visa (DATV) for many nationalities even airside. China offers 24/72/144-hour visa-free transit at specific ports.",
23
+ "The duty manager is the person who can override a gate agent on TIMATIC interpretation. Ask for them by title, calmly.",
24
+ "If denial holds, your options are: rebook through a different routing where you're clearly admissible, return home and apply for the proper visa, or visit the destination embassy. The airline must refund a denied-boarding ticket if the denial was their error."
25
+ ],
26
+ "phrases": {
27
+ "opener": "I understand you're seeing an issue. Can we walk through the entry rule together? I have the destination government's own page on my phone showing I'm admissible.",
28
+ "request_timatic_recheck": "Could you re-pull TIMATIC for my passport country [code] traveling to [destination], with my onward ticket and visa type [type]? I think the entry being shown may not match my exact case.",
29
+ "show_official_source": "Here's the [destination country] immigration page — it says [exact rule]. My situation matches because [reasons]. The TIMATIC summary may be outdated.",
30
+ "ask_for_duty_manager": "Could you ask your station duty manager or supervisor to take a second look? I'm not trying to push past you — I want their eyes on the rule too.",
31
+ "address_airline_risk": "I understand you're concerned about an INAD fine. The rule itself says I'm admissible. If you'd like, I can sign a waiver acknowledging I take responsibility — but the rule should hold.",
32
+ "ask_for_written_denial": "If we can't move forward, can you give me a written denied-boarding notice citing the specific rule? I'll need it for the refund and to plan the next step.",
33
+ "escalate_offsite": "If your team is firm here, I'd like to call [destination country] embassy/consulate. They can sometimes provide a clarification letter in real time.",
34
+ "graceful_close_success": "Thank you for taking the time to recheck. Could you put a note on my PNR that this was resolved at [station] so I don't hit the same issue on rebooking or return?",
35
+ "graceful_close_failure": "I understand. Please give me the written denial and process the refund per your involuntary denied-boarding policy."
36
+ },
37
+ "tactics": [
38
+ {
39
+ "name": "Pull the destination's official immigration page",
40
+ "when": "First 30 seconds of the conversation.",
41
+ "script": "On your phone, open the destination country's immigration / foreign-affairs site. US: travel.state.gov. UK: gov.uk/check-uk-visa. Schengen: ec.europa.eu/home-affairs. Singapore: ica.gov.sg. China: nia.gov.cn. Show the exact text of the rule that covers your case. Government source > TIMATIC summary.",
42
+ "priority": 1
43
+ },
44
+ {
45
+ "name": "Ask for a TIMATIC recheck with full inputs",
46
+ "when": "Right after presenting the source.",
47
+ "script": "TIMATIC's answer depends on inputs: passport-issuing country, destination, layover countries, visa held, onward ticket. A miss on any input gives the wrong answer. Politely ask the agent to re-enter all inputs out loud so you can verify together.",
48
+ "priority": 2
49
+ },
50
+ {
51
+ "name": "Address the airline's INAD exposure",
52
+ "when": "Agent is hesitant but not refusing.",
53
+ "script": "Acknowledge their risk: 'I know if I'm denied at the border you're stuck with the return and a fine.' Then point at the rule again. Agents soften when you name the fear they can't say aloud.",
54
+ "priority": 3
55
+ },
56
+ {
57
+ "name": "Escalate to the duty manager",
58
+ "when": "Gate agent has made a firm call and shift won't budge.",
59
+ "script": "By title: 'station duty manager', 'shift supervisor', 'gate supervisor'. Not 'manager' (vague). Be calm — duty managers will side with the agent if you've been hostile.",
60
+ "priority": 4
61
+ },
62
+ {
63
+ "name": "Call the destination embassy or consulate",
64
+ "when": "Time permits and the denial is borderline.",
65
+ "script": "Many embassies issue real-time clarification letters or 24/7 calls for traveler emergencies. Examples that have done so: Singapore ICA, UK Home Office, German Auswärtiges Amt. The agent will often accept embassy confirmation by phone."
66
+ },
67
+ {
68
+ "name": "Reroute through a different transit point",
69
+ "when": "Denial is specifically about transit, not destination.",
70
+ "script": "Example: UK DATV issue → reroute via DUB (Ireland), CDG (France), or non-stop. Schengen transit visa issue → reroute via DOH, DXB, IST, or non-stop. The destination is still reachable; just not via this routing."
71
+ },
72
+ {
73
+ "name": "Document everything",
74
+ "when": "Whether you succeed or fail.",
75
+ "script": "If denied: written denial, agent name, time, station, your boarding pass, the rule text you presented. If accepted after escalation: note on PNR. Both protect you on the return flight or future trips."
76
+ }
77
+ ],
78
+ "boundaries": [
79
+ "Do NOT raise your voice or threaten — boarding denial can escalate to a no-fly note on your record.",
80
+ "Do NOT lie about your itinerary, return ticket, or visa status. Border systems share data; getting caught is worse than being denied.",
81
+ "Do NOT board with a borderline case if you're not confident — getting refused at destination border means being returned at your cost and a possible multi-year entry ban.",
82
+ "Do NOT assume the gate agent is wrong; they're usually right. Verify before pushing.",
83
+ "Do NOT skip getting the written denial if you fail — it's required for refund and insurance."
84
+ ],
85
+ "success_signals": [
86
+ "Agent re-runs TIMATIC and the new result allows boarding.",
87
+ "Duty manager reads the official rule and approves.",
88
+ "Embassy confirms over the phone and the airline accepts.",
89
+ "Agent issues a boarding pass with a note explaining the override."
90
+ ],
91
+ "failure_signals": [
92
+ "Both gate agent AND duty manager firmly stand on the denial.",
93
+ "The official rule is genuinely ambiguous or has been recently changed.",
94
+ "Time runs out (flight closes) before resolution.",
95
+ "Embassy / consulate is unreachable (weekend / holiday in destination country)."
96
+ ],
97
+ "exit_strategy": {
98
+ "on_success": "Board, but bring printed copies of the rule + the conversation notes — you may need to repeat the conversation on the return leg.",
99
+ "on_failure": "Get the written denial and the refund. Decide: apply for the proper visa and rebook, reroute via a permissive transit, or cancel the trip and claim insurance trip-cancellation (if applicable).",
100
+ "follow_ups": [
101
+ "If the denial was wrong, file a written complaint with the airline citing the rule + TIMATIC misread. Refunds and rebookings have been granted retroactively.",
102
+ "If you suspect the issue will recur (e.g. you fly this route monthly), email the airline's Special Services / INAD desk a clarification request so the system updates.",
103
+ "If denied entry was at a foreign border (not by the airline), that's a different document trail — keep all paperwork for future visa applications which will ask about prior denials."
104
+ ]
105
+ },
106
+ "required_user_info": [
107
+ "Passport country and validity expiry date",
108
+ "Destination country and trip purpose (tourism, transit, business, study, work)",
109
+ "Length of stay and onward ticket details",
110
+ "Visa or ETA held (type, validity, entry count remaining)",
111
+ "Transit countries on the routing",
112
+ "The exact reason the gate agent stated for denial"
113
+ ],
114
+ "contributed_by": "travel-rebooking agent (v0.9.87 community drop)"
115
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "id": "vital-records-certificate-copy",
3
+ "name": "County Recorder / Vital Records: Birth, Death, or Marriage Certificate Copy",
4
+ "version": "1.0.0",
5
+ "category": "civic",
6
+ "tags": [
7
+ "vital-records",
8
+ "county-recorder",
9
+ "birth-certificate",
10
+ "death-certificate",
11
+ "marriage-certificate",
12
+ "phone-call",
13
+ "government-services"
14
+ ],
15
+ "description": "Call a county recorder, state Department of Health Vital Records office, or equivalent to order certified or informational copies of birth, death, or marriage certificates. Routes the user to the correct office (county vs state) and clarifies tier-of-relationship eligibility, which varies wildly by jurisdiction.",
16
+ "disclaimer": "Not legal advice. Eligibility to receive certified copies (especially of recent birth/death records) is restricted by statute in most states to specific relationship tiers. The agent will not advise on probate, identity-document use, or court submissions — those route to an attorney or the relevant agency.",
17
+ "context": {
18
+ "when_to_use": "User needs a certified copy for: passport application, school enrollment, REAL ID, estate / probate filing, court submission, Social Security, or genealogy research. Online ordering services charge a premium (VitalChek, etc.); calling the county or state directly is usually cheaper and only slightly slower.",
19
+ "preconditions": [
20
+ "User knows the full name on the record, date of event, and county/state of event.",
21
+ "For births: mother's maiden name is usually required.",
22
+ "User can prove their relationship-tier eligibility (self, parent, spouse, adult child, sibling, court-order, funeral director, attorney-of-record).",
23
+ "Government-issued photo ID is available to submit (some states require notarized copies sent by mail).",
24
+ "Payment method accepted by the agency (often money order, certified check, or credit card via online portal only — many counties do NOT take cards by phone)."
25
+ ],
26
+ "estimated_call_duration_minutes": 20
27
+ },
28
+ "principles": [
29
+ "County recorder vs state Department of Health: rules differ. Births / deaths within the last ~75 years are usually restricted; older records may be public. Marriage records are often at the county level (issuing county).",
30
+ "Genealogy ('informational') copies are different from certified copies. Informational copies are easier to get but cannot be used for legal identification.",
31
+ "VitalChek and other commercial portals add convenience fees of $10–$30. Direct-to-agency is cheaper if the user can wait 3–8 weeks.",
32
+ "Death certificates often require MULTIPLE certified copies (banks, insurers, real-estate transfers, tax filings each want an original). 10–15 is a typical estate-administration order.",
33
+ "Confirm the EXACT spelling of name and date with the rep — a single character off and the search returns nothing."
34
+ ],
35
+ "phrases": {
36
+ "opener_birth": "Hi, I'd like to order a certified copy of a birth certificate. The person's name is [NAME], born on [DATE] in [CITY/COUNTY]. The mother's maiden name is [NAME]. I'm the [relationship — self / parent / etc.]. What's your process, fee, and processing time?",
37
+ "opener_death": "Hi, I need to order certified copies of a death certificate. The person was [NAME], who passed on [DATE] in [COUNTY]. I'm the [relationship / executor / attorney]. I'll need [N] certified copies for estate purposes. What's the process?",
38
+ "opener_marriage": "Hi, I'd like a certified copy of a marriage certificate. Spouses are [NAME1] and [NAME2], married on [DATE] in [COUNTY]. I'm [self / spouse / etc.]. How do I order it?",
39
+ "ask_about_eligibility": "Could you confirm which relationship tiers are eligible to receive certified copies of this record? I want to make sure I qualify before submitting.",
40
+ "ask_about_routing": "Just to confirm — is this record held at the county level or state Vital Records? I want to make sure I'm calling the right office.",
41
+ "stall_documents": "One moment — I want to read the names and dates off the notes I have.",
42
+ "graceful_close": "Thank you. Can I confirm: the form to use, the fee, payment method, where to mail it, processing time, and how to verify status if I don't receive it?"
43
+ },
44
+ "tactics": [
45
+ {
46
+ "name": "Verify county vs state ownership first",
47
+ "when": "First minute.",
48
+ "script": "Some states centralise vital records; others delegate to counties. Ordering at the wrong level returns the request unprocessed weeks later. Confirm with the rep where the record actually lives.",
49
+ "priority": 1
50
+ },
51
+ {
52
+ "name": "Confirm relationship-tier eligibility before paying",
53
+ "when": "Before submitting.",
54
+ "script": "If the user is a sibling, cousin, or other relationship that may not qualify for a certified copy, ask explicitly whether they can receive a certified vs informational copy. Save the user from paying for a rejected order.",
55
+ "priority": 2
56
+ },
57
+ {
58
+ "name": "Order the right NUMBER of death certificates",
59
+ "when": "Estate / probate context.",
60
+ "script": "Most estates need 10–15 certified copies (banks, brokerage, IRA, life insurance, real estate, vehicle, IRS final return). Per-copy fees are far lower than per-order fees. Don't order 3 today and 7 next month.",
61
+ "priority": 3
62
+ },
63
+ {
64
+ "name": "Use the agency direct vs VitalChek tradeoff",
65
+ "when": "Choosing a channel.",
66
+ "script": "Direct mail-in: cheaper, 3–8 weeks. VitalChek: pricier, faster (1–3 weeks) and accepts credit cards. Choose based on urgency and the user's cash flow.",
67
+ "priority": 4
68
+ },
69
+ {
70
+ "name": "Confirm exact spelling and date in real time",
71
+ "when": "While the rep is searching.",
72
+ "script": "Read name letter-by-letter (NATO alphabet if helpful). Confirm the date format (MM/DD/YYYY vs DD/MM/YYYY) and any maiden / hyphenated names. One-character typo = order returns 'not found'."
73
+ }
74
+ ],
75
+ "boundaries": [
76
+ "Do NOT advise on probate procedure, who can be appointed executor, or how to use the certificate in court — refer to an attorney.",
77
+ "Do NOT order copies for someone whose eligibility-tier the user has not confirmed they qualify for.",
78
+ "Do NOT share extra personal data (SSN, prior addresses) unless required by the agency for that specific record.",
79
+ "Do NOT pay the order fee without the user's explicit pre-authorization for the exact amount and copy count.",
80
+ "Do NOT use commercial fast-order services without disclosing the markup to the user."
81
+ ],
82
+ "success_signals": [
83
+ "Rep confirms the user's eligibility for certified copies.",
84
+ "Rep provides the exact form number, fee per copy, accepted payment, and mailing address.",
85
+ "Order can be placed in real time (some online portals accept phone-walkthrough orders).",
86
+ "Processing-time window is quoted with a confirmation number."
87
+ ],
88
+ "failure_signals": [
89
+ "Rep cannot find the record on first search — verify spelling, date, county; consider that the record may be held by a different jurisdiction.",
90
+ "User does not qualify for certified copy under state law — pivot to informational copy or to the next-eligible relative.",
91
+ "Agency is mail-only and timing won't meet the user's deadline — switch to VitalChek or expedite.",
92
+ "Agency only accepts in-person orders (rare but exists) — schedule visit."
93
+ ],
94
+ "exit_strategy": {
95
+ "on_success": "Capture: form, fee, # of copies, mailing address, processing time, agent name/initials, any confirmation number. Make a checklist of what the user needs to include in the mail (signed application, notarized ID copy if required, money order made out to [PAYEE]).",
96
+ "on_failure": "Capture next step: switch to commercial portal (VitalChek), switch jurisdiction, gather additional documentation (court order, attorney letter, executor letter), or schedule in-person visit.",
97
+ "follow_ups": [
98
+ "Calendar expected arrival; if not received, call back with confirmation number.",
99
+ "If multiple copies were ordered, verify count on arrival.",
100
+ "If used for probate, note where each certified copy was sent (banks, IRS, etc.) so duplicates aren't wasted."
101
+ ]
102
+ },
103
+ "required_user_info": [
104
+ "Full legal name(s) on the record (and prior / maiden names if any)",
105
+ "Date of event (birth / death / marriage) and location (city, county, state)",
106
+ "Mother's maiden name (for birth records)",
107
+ "Requester's relationship to the person on the record",
108
+ "Government-issued photo ID (may be required to be notarized & mailed)",
109
+ "Number of certified copies needed",
110
+ "Authorised payment method (money order, certified check, online card)"
111
+ ],
112
+ "hang_up_and_call_back_signals": [
113
+ "You realize you are at the county when the record is at the state (or vice versa) — politely end and dial the correct office.",
114
+ "Rep cannot find the record despite multiple spelling attempts — re-verify with the user before continuing; possible jurisdiction error.",
115
+ "Agency is overwhelmed and not taking phone orders this week — switch to mail-in or VitalChek; don't keep redialing.",
116
+ "Any commercial offer to 'fast-track' that doesn't match the official VitalChek or agency portal — that's a scam aggregator."
117
+ ],
118
+ "contributed_by": "govt-services-pro agent (v0.9.87 community drop)",
119
+ "updated_at": "2026-05-20T06:09:47Z"
120
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "id": "voicemail-that-gets-called-back",
3
+ "name": "Leave a Voicemail That Actually Gets Called Back",
4
+ "version": "1.0.0",
5
+ "category": "other",
6
+ "tags": [
7
+ "voicemail",
8
+ "cold-call",
9
+ "callback",
10
+ "phone-call",
11
+ "first-touch",
12
+ "outreach-sales"
13
+ ],
14
+ "description": "When the agent reaches a target's voicemail on a first or early-stage outreach call, leave a message that produces a callback — short, specific, low-pressure, and ending with a clean reason to call back.",
15
+ "disclaimer": "Skills assume the call is solicited by the operator. NEVER use these to power a mass-cold-call campaign without the operator's explicit per-prospect authorisation.",
16
+ "context": {
17
+ "when_to_use": "Agent has placed an authorised outreach call and the line has gone to the target's voicemail. The operator wants a callback (not just to 'have left a message').",
18
+ "preconditions": [
19
+ "Operator has authorised this contact attempt specifically.",
20
+ "Agent has a real, specific reason for the call — not a generic 'wanted to connect'.",
21
+ "Agent has a callback number that will be answered or routed sensibly.",
22
+ "Agent knows whether to leave the operator's name, the agent's name, or both."
23
+ ],
24
+ "estimated_call_duration_minutes": 1
25
+ },
26
+ "principles": [
27
+ "Under 30 seconds. Long voicemails get deleted at the 20-second mark — every word past that hurts you.",
28
+ "The hook is in the first sentence. State who the call is about and why it might matter to them, immediately.",
29
+ "Specificity over polish. 'About the Hartwell contract' beats 'about a business opportunity' every time.",
30
+ "Give one clean reason to call back, not a menu. Multiple options = decision fatigue = no callback.",
31
+ "Repeat the callback number twice — once early, once at the end. Recipients listen back to capture digits.",
32
+ "Sound like a human leaving a message for one person, not a script being read at a list."
33
+ ],
34
+ "phrases": {
35
+ "opener_referral": "Hi [target first name], this is [agent name] calling on behalf of [operator name]. [Referrer name] suggested I reach out about [specific topic].",
36
+ "opener_prior_touch": "Hi [target first name], it's [agent name] from [operator]'s office — following up on [specific prior thing: your reply / your post / our exchange at X].",
37
+ "opener_cold_warm": "Hi [target first name], this is [agent name] calling for [operator name]. We work on [one-sentence what], and [specific reason this person in particular].",
38
+ "the_ask": "Wanted to ask you one quick question — best to do it live for two minutes. My number is [number], again that's [number].",
39
+ "soft_close": "No rush, no pitch — if it's not relevant, I'd rather know so I'm not bothering you. Thanks [name], talk soon."
40
+ },
41
+ "tactics": [
42
+ {
43
+ "name": "Open with their name, then yours",
44
+ "when": "First 3 seconds of the voicemail.",
45
+ "script": "Say the target's first name first. People listen harder when they hear their own name at the start.",
46
+ "priority": 1
47
+ },
48
+ {
49
+ "name": "State the one specific reason in sentence two",
50
+ "when": "Immediately after the opener.",
51
+ "script": "Use the most specific anchor you have: a referrer, a prior interaction, a public post they made, a customer they have in common. Generic = delete.",
52
+ "priority": 2
53
+ },
54
+ {
55
+ "name": "Ask one question, not three",
56
+ "when": "Middle of the voicemail.",
57
+ "script": "Use the `the_ask` phrase. Curiosity is the engine — give them a clean question to come back to, not a sales summary.",
58
+ "priority": 3
59
+ },
60
+ {
61
+ "name": "Number twice, slowly",
62
+ "when": "Toward the end.",
63
+ "script": "Read the callback number with deliberate pauses between groups. Repeat it. Recipients are often writing while they listen.",
64
+ "priority": 4
65
+ },
66
+ {
67
+ "name": "Out with a permission-giver",
68
+ "when": "Closing sentence.",
69
+ "script": "Use `soft_close`. Telling them it's OK to say no makes them more likely to call back. Pressure compresses the funnel.",
70
+ "priority": 5
71
+ },
72
+ {
73
+ "name": "Leave at most two voicemails per cycle",
74
+ "when": "Deciding whether to leave a voicemail at all on attempt N.",
75
+ "script": "Voicemail #1 is welcomed. Voicemail #2 (3-5 days later, only if no response) is acceptable. Voicemail #3 reads as harassment — switch channel instead."
76
+ }
77
+ ],
78
+ "boundaries": [
79
+ "Do NOT leave voicemails on consecutive days — minimum 2-3 business days between attempts.",
80
+ "Do NOT fabricate urgency ('time-sensitive', 'closing today') that isn't real.",
81
+ "Do NOT pretend you've spoken before if you haven't.",
82
+ "Do NOT leave a voicemail that name-drops a referrer without the referrer's permission.",
83
+ "Do NOT ramble. If you find yourself past 30 seconds, hang up and re-record (most voicemail systems allow it — press # or *)."
84
+ ],
85
+ "success_signals": [
86
+ "Target calls back within 24-72 hours.",
87
+ "Target replies via email referencing the voicemail.",
88
+ "Target's assistant calls back to schedule.",
89
+ "Recorded greeting confirms you reached the right person (not a wrong number)."
90
+ ],
91
+ "failure_signals": [
92
+ "Two voicemails left, no response, no other channel response in 10 business days.",
93
+ "Voicemail box is full (target is unreachable this way — switch channel).",
94
+ "Number rings to a generic shared mailbox (your message will be lost — try the direct dial or email).",
95
+ "Recorded greeting says 'this is the wrong person' / outdated."
96
+ ],
97
+ "exit_strategy": {
98
+ "on_success": "When the callback comes in, the agent / operator should be ready with the specific reason cited in the voicemail. Mismatched payoff destroys trust.",
99
+ "on_failure": "After 2 voicemails with no response, retire the phone channel for this prospect. Switch to email or, if relevant, a referred-warm introduction.",
100
+ "follow_ups": [
101
+ "Log the voicemail in the operator's CRM/notes with timestamp and exact wording used.",
102
+ "Schedule the next-attempt window (no sooner than 3 business days) if a second voicemail is authorised."
103
+ ]
104
+ },
105
+ "required_user_info": [
106
+ "Target's first name (correct pronunciation if unusual)",
107
+ "Operator's name and one-line description of what they do",
108
+ "The single most specific reason for the call",
109
+ "Callback number — and confirmation it will be answered or routed",
110
+ "Referrer's name and explicit permission to use it (if applicable)"
111
+ ],
112
+ "contributed_by": "sales-outbound agent (v0.9.87 community drop)",
113
+ "updated_at": "2026-05-20T06:09:47Z"
114
+ }
@@ -0,0 +1,124 @@
1
+ {
2
+ "id": "voter-registration-and-ballot",
3
+ "name": "Voter Registration, Mail-In / Absentee Ballot, or Polling-Place Lookup",
4
+ "version": "1.0.0",
5
+ "category": "civic",
6
+ "tags": [
7
+ "voter-registration",
8
+ "absentee-ballot",
9
+ "mail-in-ballot",
10
+ "polling-place",
11
+ "elections",
12
+ "phone-call",
13
+ "government-services"
14
+ ],
15
+ "description": "Call a county elections office or state Secretary of State elections division to register to vote, update voter registration (address / name / party), request or track a mail-in / absentee ballot, find a polling place, or resolve a registration-status problem before a deadline.",
16
+ "disclaimer": "Strictly nonpartisan. The agent will not recommend candidates, parties, or how to vote. The agent will not engage with claims about election fraud — for substantive election-integrity concerns, refer the user to their state Attorney General, the EAC, or the Cybersecurity & Infrastructure Security Agency (CISA). The agent is a procedural helper only.",
17
+ "context": {
18
+ "when_to_use": "User has moved and needs to update registration. User has never registered and needs to do so before a deadline. User needs an absentee/mail-in ballot for an upcoming election. User received a ballot but with errors (wrong name, wrong precinct). User cannot locate their polling place. User checked their registration status and shows 'inactive' or 'not found'.",
19
+ "preconditions": [
20
+ "Current legal name and DOB.",
21
+ "Current residential address (the ballot follows the address).",
22
+ "Driver's-license number or last 4 of SSN (one is usually required to register).",
23
+ "Prior registration address (if updating).",
24
+ "Election date in question.",
25
+ "Awareness of the registration deadline (often 15–30 days before election; same-day registration available in some states)."
26
+ ],
27
+ "estimated_call_duration_minutes": 15
28
+ },
29
+ "principles": [
30
+ "Election deadlines are unforgiving. Registration deadlines, ballot-request deadlines, and ballot-return deadlines (postmarked-by vs received-by) all differ. Capture the correct deadline + channel before any other negotiation.",
31
+ "The single source of truth for state-level rules is the Secretary of State (or equivalent) website. For county-level questions (polling place, ballot drop-box, election worker), the county elections office wins.",
32
+ "Online registration is faster than calling in most states (vote.gov links each state). Use the phone call only when online has failed or is unavailable.",
33
+ "Mail-in / absentee ballots have signature verification — the signature must match what's on file. Coach the user to sign as they signed on the registration / DMV record.",
34
+ "Be strictly nonpartisan. No candidate or party preferences. No characterizations of policy. The agent's job is to make sure the vote can be cast — not influence it."
35
+ ],
36
+ "phrases": {
37
+ "opener_register": "Hi, I'd like to [register to vote / update my registration]. My name is [NAME], DOB [DATE], residential address [ADDRESS]. Can we do that by phone today, or do I need the online form / mail-in registration card?",
38
+ "opener_ballot_request": "Hi, I'd like to request a mail-in / absentee ballot for the [DATE] election. My voter ID is [ID] (if known), or my registration is under [NAME / ADDRESS]. What's your process and the request deadline?",
39
+ "opener_ballot_track": "Hi, I requested a mail-in ballot on [DATE] but haven't received it. Can you check the status, and if it's been mailed, what's the next step if it doesn't arrive?",
40
+ "opener_polling_place": "Hi, I'm looking for my polling place for the [DATE] election. My registered address is [ADDRESS]. Can you confirm the polling location, hours, and any ID I need to bring?",
41
+ "opener_registration_issue": "Hi, I checked my voter-registration status and it shows [inactive / not found / wrong precinct]. The registration is under [NAME / DOB / ADDRESS]. Can we figure out what happened and fix it before [DEADLINE]?",
42
+ "ask_deadline": "Could you confirm the EXACT registration / ballot-request / ballot-return deadline, and whether 'by' means postmarked-by or received-by?",
43
+ "ask_id_requirement": "What ID will I need at the polling place (or to validate my mail-in ballot)?",
44
+ "graceful_close": "Thank you. Can I confirm: the action taken, my registration status, the polling place / drop-box address, the next deadline, and the confirmation number — and your name / ID?"
45
+ },
46
+ "tactics": [
47
+ {
48
+ "name": "Confirm the deadlines FIRST",
49
+ "when": "Any election-related call.",
50
+ "script": "Registration deadline, ballot-request deadline, ballot-return deadline (postmarked-by vs received-by), in-person voting hours. Write each down with the date and channel. Deadlines drive everything else.",
51
+ "priority": 1
52
+ },
53
+ {
54
+ "name": "Use online registration when possible",
55
+ "when": "Most states.",
56
+ "script": "vote.gov links each state's online portal. Online is faster and gives an instant confirmation. Use the phone call to resolve issues, not to perform what the portal can do in 5 minutes.",
57
+ "priority": 2
58
+ },
59
+ {
60
+ "name": "Diagnose 'inactive' / 'not found' status",
61
+ "when": "Registration lookup fails.",
62
+ "script": "Common causes: address change without update (NCOA purge), name change (marriage), recent move from another state, identity-match failure with DMV database. Each has a different fix. Get the rep to tell you which.",
63
+ "priority": 3
64
+ },
65
+ {
66
+ "name": "Use ballot-tracking if available",
67
+ "when": "Mail-in ballot in flight.",
68
+ "script": "Many states offer BallotTrax / ballot tracking. Confirm the user is enrolled — if the ballot is 'returned to sender', it must be re-requested before the deadline.",
69
+ "priority": 4
70
+ },
71
+ {
72
+ "name": "Have a backup plan: in-person voting",
73
+ "when": "Mail-in ballot in doubt.",
74
+ "script": "If the mail-in ballot hasn't arrived close to election day, ask about in-person voting options: surrender the unreceived mail ballot, vote provisionally, use early voting, or vote in person on Election Day. Each state's rules differ — get the specific path."
75
+ }
76
+ ],
77
+ "boundaries": [
78
+ "Do NOT recommend candidates, parties, or ballot measures.",
79
+ "Do NOT characterize policy positions or election outcomes.",
80
+ "Do NOT engage with election-fraud conspiracy claims — refer to the state AG, EAC, or CISA.",
81
+ "Do NOT share the user's SSN or DL with anyone who hasn't authenticated as the elections office (call outbound to the official number).",
82
+ "Do NOT register the user under an address they don't actually reside at — that's a felony in most states."
83
+ ],
84
+ "success_signals": [
85
+ "Registration confirmed active with the correct address.",
86
+ "Mail-in ballot request received and confirmed with an expected mailing date.",
87
+ "Polling place, hours, and ID requirements captured.",
88
+ "Inactive / mismatched registration is reactivated or corrected before deadline.",
89
+ "Ballot-tracking enrollment confirmed."
90
+ ],
91
+ "failure_signals": [
92
+ "Deadline has passed for the requested action — pivot to in-person voting or next-election registration.",
93
+ "Rep cannot find registration despite multiple lookups — try by DL last 4, by DOB, by prior address; if still nothing, file new registration immediately if within deadline.",
94
+ "Wait > 30 minutes near an election — call the state Secretary of State helpline (often staffed extra hours).",
95
+ "Inbound caller claiming elections office asking for sensitive data — possible voter-suppression scam; hang up and call back outbound."
96
+ ],
97
+ "exit_strategy": {
98
+ "on_success": "Capture: registration status, voter ID, polling place / drop-box address, deadlines, ID requirements, confirmation number, agent name/ID. Calendar each deadline with reminders 7 days, 2 days, and morning-of.",
99
+ "on_failure": "Capture next step: in-person voting plan, provisional ballot procedure, next election registration window. Provide the user the state Secretary of State election protection number (often 1-866-OUR-VOTE for nonpartisan election protection).",
100
+ "follow_ups": [
101
+ "Calendar ballot-arrival check; if not received by N days before election, escalate.",
102
+ "Calendar ballot-return method (drop-box vs mail vs in-person); confirm signature matches DMV.",
103
+ "Confirm ballot received and counted via ballot-tracker.",
104
+ "If polling-place vote: confirm correct precinct and ID readiness morning-of."
105
+ ]
106
+ },
107
+ "required_user_info": [
108
+ "Current legal name and DOB",
109
+ "Current residential address (and mailing address if different)",
110
+ "Driver's-license number or last 4 of SSN",
111
+ "Prior registration address (if updating)",
112
+ "Election date in question",
113
+ "Party preference (only if registering in a closed-primary state — purely procedural, not advisory)",
114
+ "Whether the user has any disability / language-access accommodation needs"
115
+ ],
116
+ "hang_up_and_call_back_signals": [
117
+ "Inbound call claiming elections office asking for sensitive data or telling the user the election was moved — voter-suppression scam; hang up and call the state Secretary of State.",
118
+ "Rep is reading from a script that conflicts with the state's published election rules — verify on the SOS website before acting.",
119
+ "Wait > 30 minutes near an election — try the SOS state-level helpline; counties are overwhelmed near deadlines.",
120
+ "User is being asked to register at a non-residential address — refuse and clarify the legal residential-address rule."
121
+ ],
122
+ "contributed_by": "govt-services-pro agent (v0.9.87 community drop)",
123
+ "updated_at": "2026-05-20T06:09:47Z"
124
+ }