@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.
Files changed (165) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.d.cts +3 -3
  3. package/dist/index.d.ts +3 -3
  4. package/dist/index.js +1 -1
  5. package/dist/skills/built-in/accommodation-intake.json +132 -0
  6. package/dist/skills/built-in/add-driver-vehicle-household.json +133 -0
  7. package/dist/skills/built-in/admissions-waitlist-followup.json +129 -0
  8. package/dist/skills/built-in/anchor-and-counter-anchor.json +161 -0
  9. package/dist/skills/built-in/anti-social-engineering.json +153 -0
  10. package/dist/skills/built-in/anything-else-sweep.json +120 -0
  11. package/dist/skills/built-in/apologise-correctly.json +126 -0
  12. package/dist/skills/built-in/ask-for-in-person-meeting.json +114 -0
  13. package/dist/skills/built-in/attorney-new-client-intake.json +133 -0
  14. package/dist/skills/built-in/bant-discovery-call.json +125 -0
  15. package/dist/skills/built-in/book-new-patient-appointment.json +131 -0
  16. package/dist/skills/built-in/bookmark-close.json +113 -0
  17. package/dist/skills/built-in/bypass-i-am-the-supervisor.json +130 -0
  18. package/dist/skills/built-in/bypass-scripted-rep.json +142 -0
  19. package/dist/skills/built-in/calibrated-questions.json +155 -0
  20. package/dist/skills/built-in/call-911-fire.json +118 -0
  21. package/dist/skills/built-in/call-911-medical-emergency.json +126 -0
  22. package/dist/skills/built-in/call-911-violent-crime-in-progress.json +133 -0
  23. package/dist/skills/built-in/call-988-crisis-line.json +106 -0
  24. package/dist/skills/built-in/call-poison-control.json +115 -0
  25. package/dist/skills/built-in/call-police-non-emergency.json +114 -0
  26. package/dist/skills/built-in/call-with-person-in-distress.json +133 -0
  27. package/dist/skills/built-in/cancel-cable-fiber-no-retention-loop.json +156 -0
  28. package/dist/skills/built-in/cancel-policy-clean.json +130 -0
  29. package/dist/skills/built-in/capture-rep-identity.json +113 -0
  30. package/dist/skills/built-in/childcare-provider-intake.json +157 -0
  31. package/dist/skills/built-in/close-account-no-residual-fees.json +127 -0
  32. package/dist/skills/built-in/close-on-concrete-next-step.json +116 -0
  33. package/dist/skills/built-in/confirm-agreement-readback.json +134 -0
  34. package/dist/skills/built-in/confirm-next-step-ownership.json +113 -0
  35. package/dist/skills/built-in/contractor-estimate-request.json +142 -0
  36. package/dist/skills/built-in/court-clerk-administrative-inquiry.json +119 -0
  37. package/dist/skills/built-in/cpa-intake-call.json +134 -0
  38. package/dist/skills/built-in/day-of-flight-cancellation.json +127 -0
  39. package/dist/skills/built-in/de-escalate-angry-rep.json +114 -0
  40. package/dist/skills/built-in/decline-unsolicited-pitch.json +110 -0
  41. package/dist/skills/built-in/deliver-difficult-news.json +122 -0
  42. package/dist/skills/built-in/detect-fake-escalation-loops.json +140 -0
  43. package/dist/skills/built-in/detect-lies-and-contradictions.json +139 -0
  44. package/dist/skills/built-in/dispute-billing-code-eob.json +147 -0
  45. package/dist/skills/built-in/dispute-charge-reg-e-reg-z.json +131 -0
  46. package/dist/skills/built-in/dispute-credit-report-via-bank.json +128 -0
  47. package/dist/skills/built-in/dispute-denied-claim.json +143 -0
  48. package/dist/skills/built-in/dispute-security-deposit.json +130 -0
  49. package/dist/skills/built-in/dispute-usage-spike-meter-reread.json +120 -0
  50. package/dist/skills/built-in/dmv-vehicle-registration-renewal.json +120 -0
  51. package/dist/skills/built-in/document-call-promises.json +145 -0
  52. package/dist/skills/built-in/early-lease-termination.json +126 -0
  53. package/dist/skills/built-in/elite-line-escalation.json +107 -0
  54. package/dist/skills/built-in/equipment-swap-cable-router-modem.json +126 -0
  55. package/dist/skills/built-in/eu261-uk261-dot-compensation.json +113 -0
  56. package/dist/skills/built-in/file-fnol-auto-claim.json +130 -0
  57. package/dist/skills/built-in/file-habitability-complaint.json +115 -0
  58. package/dist/skills/built-in/financial-aid-appeal.json +128 -0
  59. package/dist/skills/built-in/follow-up-stalled-claim.json +118 -0
  60. package/dist/skills/built-in/get-past-gatekeeper.json +115 -0
  61. package/dist/skills/built-in/get-past-tier-1-script.json +130 -0
  62. package/dist/skills/built-in/handle-callback-stall.json +120 -0
  63. package/dist/skills/built-in/handle-outsourced-no-escalation.json +138 -0
  64. package/dist/skills/built-in/handle-send-me-an-email-deflection.json +112 -0
  65. package/dist/skills/built-in/handle-time-pressure.json +159 -0
  66. package/dist/skills/built-in/health-prior-auth-appeal.json +131 -0
  67. package/dist/skills/built-in/hoa-dispute.json +123 -0
  68. package/dist/skills/built-in/hold-time-strategy.json +137 -0
  69. package/dist/skills/built-in/hold-warmth-cold-rep.json +114 -0
  70. package/dist/skills/built-in/hotel-walk-over-recovery.json +114 -0
  71. package/dist/skills/built-in/humour-when-it-lands.json +127 -0
  72. package/dist/skills/built-in/i20-visa-dso.json +134 -0
  73. package/dist/skills/built-in/invoke-regulator-firmly.json +137 -0
  74. package/dist/skills/built-in/irrops-waiver-awareness.json +103 -0
  75. package/dist/skills/built-in/irs-payment-plan-setup.json +134 -0
  76. package/dist/skills/built-in/k12-iep-504-enrollment.json +134 -0
  77. package/dist/skills/built-in/late-add-petition.json +128 -0
  78. package/dist/skills/built-in/leave-of-absence-deferral.json +130 -0
  79. package/dist/skills/built-in/lock-in-terms-verbally.json +127 -0
  80. package/dist/skills/built-in/match-energy-keep-goal.json +120 -0
  81. package/dist/skills/built-in/medical-records-transfer.json +138 -0
  82. package/dist/skills/built-in/medical-withdrawal.json +131 -0
  83. package/dist/skills/built-in/mid-call-evidence-collection.json +159 -0
  84. package/dist/skills/built-in/mirror-technique.json +145 -0
  85. package/dist/skills/built-in/missed-connection-distressed-passenger.json +111 -0
  86. package/dist/skills/built-in/mortgage-loan-hardship.json +130 -0
  87. package/dist/skills/built-in/move-out-walkthrough.json +114 -0
  88. package/dist/skills/built-in/multi-channel-escalation.json +141 -0
  89. package/dist/skills/built-in/multi-issue-tradeoffs.json +155 -0
  90. package/dist/skills/built-in/negotiate-rent-renewal.json +123 -0
  91. package/dist/skills/built-in/no-as-opening.json +154 -0
  92. package/dist/skills/built-in/not-sound-like-spam-dialer.json +118 -0
  93. package/dist/skills/built-in/outage-credit-applied.json +127 -0
  94. package/dist/skills/built-in/passport-expedite-or-appointment.json +123 -0
  95. package/dist/skills/built-in/pediatric-school-forms.json +141 -0
  96. package/dist/skills/built-in/personal-trainer-discovery.json +138 -0
  97. package/dist/skills/built-in/pharmacy-callback.json +134 -0
  98. package/dist/skills/built-in/pivot-mid-call.json +141 -0
  99. package/dist/skills/built-in/port-mobile-number-survive-retention.json +127 -0
  100. package/dist/skills/built-in/prescription-refill-followup.json +132 -0
  101. package/dist/skills/built-in/push-past-invented-policy.json +159 -0
  102. package/dist/skills/built-in/rapport-opening-30-seconds.json +130 -0
  103. package/dist/skills/built-in/reach-executive-office.json +137 -0
  104. package/dist/skills/built-in/read-vocal-cues.json +139 -0
  105. package/dist/skills/built-in/read-vocal-tone.json +159 -0
  106. package/dist/skills/built-in/realestate-agent-vetting.json +144 -0
  107. package/dist/skills/built-in/receive-difficult-news.json +115 -0
  108. package/dist/skills/built-in/recording-claim-conversation-legally.json +121 -0
  109. package/dist/skills/built-in/recover-summary-refusal.json +121 -0
  110. package/dist/skills/built-in/reengage-ghosted-lead.json +115 -0
  111. package/dist/skills/built-in/referral-followup-without-burning.json +116 -0
  112. package/dist/skills/built-in/referral-prior-authorization.json +130 -0
  113. package/dist/skills/built-in/refuse-the-split.json +142 -0
  114. package/dist/skills/built-in/refuse-upsell-at-close.json +114 -0
  115. package/dist/skills/built-in/rental-car-counter-defense.json +116 -0
  116. package/dist/skills/built-in/rental-scam-report.json +125 -0
  117. package/dist/skills/built-in/replace-lost-stolen-card-expedited.json +139 -0
  118. package/dist/skills/built-in/report-downed-line-gas-smell-911-triage.json +130 -0
  119. package/dist/skills/built-in/report-elder-or-child-abuse.json +117 -0
  120. package/dist/skills/built-in/report-fbi-tip.json +109 -0
  121. package/dist/skills/built-in/report-fraud-ic3-or-ftc.json +117 -0
  122. package/dist/skills/built-in/report-fraudulent-transaction.json +126 -0
  123. package/dist/skills/built-in/report-power-outage-get-etr.json +116 -0
  124. package/dist/skills/built-in/report-urgent-maintenance.json +123 -0
  125. package/dist/skills/built-in/request-credit-limit-increase.json +126 -0
  126. package/dist/skills/built-in/request-supervisor-gracefully.json +129 -0
  127. package/dist/skills/built-in/request-welfare-check.json +127 -0
  128. package/dist/skills/built-in/request-written-confirmation.json +113 -0
  129. package/dist/skills/built-in/reschedule-appointment.json +121 -0
  130. package/dist/skills/built-in/reset-by-callback.json +143 -0
  131. package/dist/skills/built-in/resist-urgency-manipulation.json +152 -0
  132. package/dist/skills/built-in/revisit-totaling-decision.json +125 -0
  133. package/dist/skills/built-in/roadside-assistance-dispatch.json +132 -0
  134. package/dist/skills/built-in/roommate-replacement.json +121 -0
  135. package/dist/skills/built-in/same-day-urgent-appointment.json +130 -0
  136. package/dist/skills/built-in/schedule-rental-viewing.json +111 -0
  137. package/dist/skills/built-in/service-move-shutoff-start-no-overlap.json +129 -0
  138. package/dist/skills/built-in/social-security-replacement-card.json +122 -0
  139. package/dist/skills/built-in/specialist-doctor-booking.json +136 -0
  140. package/dist/skills/built-in/spot-bait-and-switch.json +155 -0
  141. package/dist/skills/built-in/stop-recurring-ach.json +127 -0
  142. package/dist/skills/built-in/switch-postpaid-to-prepaid-mid-cycle.json +130 -0
  143. package/dist/skills/built-in/tactical-empathy-labeling.json +147 -0
  144. package/dist/skills/built-in/therapist-intake-call.json +133 -0
  145. package/dist/skills/built-in/train-cancellation-refund-rebook.json +104 -0
  146. package/dist/skills/built-in/transcript-request.json +128 -0
  147. package/dist/skills/built-in/travel-insurance-claim-on-the-road.json +114 -0
  148. package/dist/skills/built-in/travel-notice-unlock-card.json +119 -0
  149. package/dist/skills/built-in/unemployment-claim-status-and-appeal.json +123 -0
  150. package/dist/skills/built-in/uscis-case-status-and-biometrics.json +125 -0
  151. package/dist/skills/built-in/utility-deposit-waiver.json +122 -0
  152. package/dist/skills/built-in/utility-payment-plan-avoid-disconnect.json +122 -0
  153. package/dist/skills/built-in/verify-insurance-coverage-pre-procedure.json +140 -0
  154. package/dist/skills/built-in/verify-out-of-network-coverage.json +129 -0
  155. package/dist/skills/built-in/veteran-benefits-community-college.json +134 -0
  156. package/dist/skills/built-in/veterinary-new-patient-intake.json +135 -0
  157. package/dist/skills/built-in/visa-boarding-denial-recovery.json +115 -0
  158. package/dist/skills/built-in/vital-records-certificate-copy.json +120 -0
  159. package/dist/skills/built-in/voicemail-that-gets-called-back.json +114 -0
  160. package/dist/skills/built-in/voter-registration-and-ballot.json +124 -0
  161. package/dist/skills/built-in/walkaway-threats.json +159 -0
  162. package/dist/skills/built-in/wedding-vendor-intake.json +149 -0
  163. package/dist/skills/built-in/when-to-stop-being-polite.json +161 -0
  164. package/dist/skills/built-in/wire-funds-safely.json +129 -0
  165. package/package.json +1 -1
@@ -0,0 +1,121 @@
1
+ {
2
+ "id": "roommate-replacement",
3
+ "name": "Add or Replace a Roommate on the Lease",
4
+ "version": "1.0.0",
5
+ "category": "real-estate",
6
+ "tags": [
7
+ "roommate",
8
+ "lease",
9
+ "co-tenant",
10
+ "subletter",
11
+ "addendum",
12
+ "phone-call",
13
+ "housing-tenancy"
14
+ ],
15
+ "description": "Call the landlord or property manager — as the master-leaseholder — to request adding a new roommate, replacing a departing roommate, or formalising an existing informal subletter, while preserving the existing lease terms and the master-leaseholder's deposit posture.",
16
+ "disclaimer": "Not legal advice. Habitability + early-termination skills are scripted to PRESERVE legal posture (request things in writing, refuse verbal-only assurances) — but the operator must consult a tenant attorney for actual rights determination.",
17
+ "context": {
18
+ "when_to_use": "User is the named tenant on a lease and wants to: add a new roommate mid-lease, replace one roommate with another, or convert an informal arrangement into a written addendum. Use BEFORE the new roommate moves in — moving them in without permission can trigger lease violation and eviction.",
19
+ "preconditions": [
20
+ "User has the current lease and knows the clauses on additional occupants / sublet / assignment.",
21
+ "User has the prospective roommate's full legal name, contact info, and consent for a background / credit check.",
22
+ "User knows the current rent split arrangement and whether it changes when the roommate joins.",
23
+ "User has a clear ask: ADD (lease stays, new person added), REPLACE (old roommate off lease, new on), or FORMALISE (existing informal occupant added retroactively)."
24
+ ],
25
+ "estimated_call_duration_minutes": 12
26
+ },
27
+ "principles": [
28
+ "Most leases let the landlord screen new occupants but cannot unreasonably withhold consent — know the lease language before the call.",
29
+ "Keep the existing lease terms intact. Landlords sometimes try to 'reset' the lease (raise rent, change duration) when a roommate change is requested. Push back: it's an addendum, not a new lease.",
30
+ "Get the new roommate added to the lease, not just verbally approved. Verbal approval doesn't bind the landlord and doesn't give the new occupant tenant rights.",
31
+ "Clarify deposit treatment up front. Adding a roommate sometimes requires additional deposit; replacing one shouldn't.",
32
+ "If a roommate is leaving and money is owed (rent, deposit), settle that BETWEEN roommates before involving the landlord. Landlords stay out of roommate-to-roommate accounting.",
33
+ "Background-check fees are normal; demand for excessive new deposit or a rent bump is not."
34
+ ],
35
+ "phrases": {
36
+ "opener_add": "Hi, I'm the named tenant at [unit, address]. I'd like to add a roommate to the lease — what's the process and timeline?",
37
+ "opener_replace": "Hi, one of my roommates is moving out at [date] and I'd like to replace them with a new co-tenant. What's the process for swapping them on the lease?",
38
+ "opener_formalize": "Hi, I have someone currently staying with me and I'd like to get them added to the lease formally. What does that look like?",
39
+ "ask_for_lease_continuity": "I want to make sure this is an addendum to my current lease — same rent, same end date — not a new lease. Can you confirm?",
40
+ "ask_about_screening": "What's the screening process for the new roommate? Application fee, credit, income requirements — what should they expect?",
41
+ "ask_about_deposit": "Will any additional deposit be required, and if so, who pays it and when?",
42
+ "push_back_on_terms_change": "I'd like to keep the current rent and lease end date as is — the addendum is just adding a person, not renegotiating. Is that workable?",
43
+ "ask_for_addendum_in_writing": "Once the screening is done, can you send the addendum by email so we can both review before signing?",
44
+ "graceful_close": "Thank you. Next steps: [roommate name] will submit [application/fee/documents] by [date], you'll send the addendum by [date], we sign by [date]. Anything else I should send?"
45
+ },
46
+ "tactics": [
47
+ {
48
+ "name": "Open with the specific ask",
49
+ "when": "First substantive turn.",
50
+ "script": "Use the matching opener — ADD, REPLACE, or FORMALIZE. Each has different downstream implications; the landlord needs to know which.",
51
+ "priority": 1
52
+ },
53
+ {
54
+ "name": "Anchor on lease continuity",
55
+ "when": "Right after the opener.",
56
+ "script": "Use `ask_for_lease_continuity`. Locks the conversation as an addendum, not a re-negotiation. This is the single most important defensive move.",
57
+ "priority": 2
58
+ },
59
+ {
60
+ "name": "Walk the screening process",
61
+ "when": "After continuity is confirmed.",
62
+ "script": "Use `ask_about_screening`. Get the application fee, the documents needed, the turnaround. Pass this to the prospective roommate before they apply.",
63
+ "priority": 3
64
+ },
65
+ {
66
+ "name": "Clarify deposit treatment",
67
+ "when": "After screening is covered.",
68
+ "script": "Use `ask_about_deposit`. ADD may require additional deposit; REPLACE generally shouldn't (it transfers liability). FORMALIZE is in between.",
69
+ "priority": 4
70
+ },
71
+ {
72
+ "name": "Push back on rent / term increases",
73
+ "when": "Landlord proposes a new rent or new lease term as a condition.",
74
+ "script": "Use `push_back_on_terms_change`. Adding a roommate is not a re-leasing event. If landlord insists on a new lease, escalate to `ask_operator` — that's a renegotiation, not an addendum.",
75
+ "priority": 5
76
+ },
77
+ {
78
+ "name": "Lock the addendum in writing",
79
+ "when": "Before ending the call.",
80
+ "script": "Use `ask_for_addendum_in_writing`. Do not consider the new roommate approved until the addendum is signed by all parties."
81
+ }
82
+ ],
83
+ "boundaries": [
84
+ "Do NOT move the new roommate in before the addendum is signed.",
85
+ "Do NOT agree to a higher rent or a longer lease as a condition of adding a roommate unless the user has explicitly authorised it.",
86
+ "Do NOT agree to release the departing roommate from rent liability without a signed substitution. The landlord controls release; one tenant cannot release another.",
87
+ "Do NOT share the prospective roommate's SSN, income, or background-check results on the phone — those go through the formal application channel.",
88
+ "Do NOT take on the prospective roommate's screening risk (e.g. agreeing to cover their share if they default) without operator review."
89
+ ],
90
+ "success_signals": [
91
+ "Landlord agrees to keep lease terms intact and process via addendum.",
92
+ "Clear screening process with a known fee and timeline.",
93
+ "Addendum will be sent by email for review before signing.",
94
+ "Replacement: departing roommate formally released on signature."
95
+ ],
96
+ "failure_signals": [
97
+ "Landlord insists on a brand-new lease at higher rent.",
98
+ "Landlord refuses to add anyone (check lease language — sometimes lawful, sometimes not).",
99
+ "Landlord demands additional deposit beyond normal screening fees with no documentation.",
100
+ "Landlord won't put the addendum in writing."
101
+ ],
102
+ "exit_strategy": {
103
+ "on_success": "Confirm screening process, addendum delivery date, sign-by date, and that lease terms are unchanged. Email the prospective roommate the application instructions.",
104
+ "on_failure": "Do NOT move the roommate in. If the landlord is unreasonable, review the lease's 'additional occupant' clause with a tenant attorney; in some jurisdictions consent cannot be unreasonably withheld.",
105
+ "follow_ups": [
106
+ "Send the prospective roommate the screening requirements.",
107
+ "Settle any roommate-to-roommate money (rent, shared deposit) BEFORE the addendum signature.",
108
+ "Calendar the addendum delivery date and the sign-by date.",
109
+ "After signing, confirm with the bank / utilities which accounts need a name change."
110
+ ]
111
+ },
112
+ "required_user_info": [
113
+ "Current lease and clauses on additional occupants / assignment / sublet",
114
+ "Specific ask: ADD, REPLACE, FORMALIZE",
115
+ "Prospective roommate's full legal name and contact info",
116
+ "If REPLACE: departing roommate's move-out date and any money owed between roommates",
117
+ "Whether the user is willing to take on additional deposit or to absorb the new roommate's risk"
118
+ ],
119
+ "contributed_by": "housing-tenancy agent (v0.9.87 community drop)",
120
+ "updated_at": "2026-05-20T06:09:47Z"
121
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "id": "same-day-urgent-appointment",
3
+ "name": "Get a Same-Day Urgent Appointment Without Going to the ER",
4
+ "version": "1.0.1",
5
+ "category": "medical-admin",
6
+ "tags": [
7
+ "urgent-care",
8
+ "same-day",
9
+ "scheduling",
10
+ "phone-call",
11
+ "triage",
12
+ "healthcare"
13
+ ],
14
+ "description": "Call the operator's primary care office or in-network urgent care to secure a same-day or next-morning appointment for a non-life-threatening issue — avoiding both ER bills and 'soonest is in three weeks' deferral.",
15
+ "disclaimer": "Not medical advice. Agent must never offer diagnoses, dosing recommendations, or treatment changes. If symptoms suggest a life-threatening emergency (chest pain, stroke signs, anaphylaxis, severe bleeding, difficulty breathing), surface immediately to the operator and recommend calling 911 / going to the ER rather than continuing this call.",
16
+ "context": {
17
+ "when_to_use": "Operator has an acute non-life-threatening issue (UTI, sore throat, mild injury, medication reaction, worsening chronic condition) and needs to be seen today or tomorrow. The goal is to avoid an unnecessary ER visit ($1,500-$5,000+) AND avoid 'we can fit you in three weeks'.",
18
+ "preconditions": [
19
+ "Operator's name, DOB (read-only), and insurance plan + member ID are provided.",
20
+ "Operator has described the issue in their own words — not as a self-diagnosis.",
21
+ "Operator's PCP name and practice, if they have one.",
22
+ "Operator's geographic constraints (how far can they travel today).",
23
+ "Whether the operator can do telehealth or must be seen in person.",
24
+ "A red-flag symptom checklist has been reviewed — if ANY are present, this skill exits to ER recommendation, NOT to scheduling."
25
+ ],
26
+ "estimated_call_duration_minutes": 12
27
+ },
28
+ "principles": [
29
+ "Triage symptoms BEFORE dialling. If the operator's description includes chest pain + arm pain, sudden severe headache, slurred speech, one-sided weakness, blue lips, allergic-reaction throat tightness, or uncontrolled bleeding — this skill aborts and routes to 911/ER. Do not call the PCP to triage.",
30
+ "Most PCP offices hold 'same-day' or 'acute' slots that don't appear on the public schedule. Ask for them by name.",
31
+ "Describe symptoms factually and specifically. 'Burning when urinating for 36 hours, no fever' lands a UTI appointment; 'feeling kind of off' does not.",
32
+ "Telehealth is faster than in-person for many acute issues — but NOT for things requiring physical exam (suspected fracture, ear infection in a child, rash needing visual diagnosis by trained eye).",
33
+ "If PCP can't see operator today, the right escalation is usually in-network URGENT CARE — NOT the ER. Know the difference and steer the rep accordingly."
34
+ ],
35
+ "phrases": {
36
+ "triage_check": "Before I dial, I want to verify with the operator: is the symptom causing trouble breathing, chest pain, stroke signs, severe allergic reaction, or uncontrolled bleeding? [If yes → abort skill, recommend 911.]",
37
+ "opener": "Hi, I'm calling on behalf of [Operator]. They're an established patient with Dr. [Name]. They're dealing with [factual symptom + duration] and need to be seen today or tomorrow if at all possible. Do you have any same-day or acute-slot openings?",
38
+ "ask_for_acute_slot": "Do you hold any same-day or 'acute' appointments that aren't on the public schedule? Even if it means waiting in the office, we can come in.",
39
+ "telehealth_pivot": "If you have no in-person slots, would a telehealth visit today work? Or could a nurse triage by phone and call something in if appropriate?",
40
+ "ask_about_urgent_care": "If the office is fully booked, can you recommend an in-network urgent care nearby? We'd rather go there than the ER.",
41
+ "symptom_recap": "To make sure the triage nurse has it: the operator reports [symptom], onset [time], severity [mild/moderate], and they have not [taken any new medications / had any recent procedures / had this before].",
42
+ "stall_research": "One moment — the operator is right here, let me confirm one detail.",
43
+ "verify_readback": "So that's [date] at [time] with [provider], at [address], and the visit type is [in-person / telehealth]. Confirmation [number]. Operator should plan for what kind of arrival window?",
44
+ "graceful_decline": "Understood, thank you. We'll head to [in-network urgent care] instead."
45
+ },
46
+ "tactics": [
47
+ {
48
+ "name": "Red-flag triage BEFORE the call",
49
+ "when": "Before dialling any number.",
50
+ "script": "Run `triage_check` with the operator. If any red flag is present, ABORT this skill and route to 911 / ER via `ask_operator`. Do not call the PCP to triage an emergency.",
51
+ "priority": 1
52
+ },
53
+ {
54
+ "name": "Open as established patient with factual symptoms",
55
+ "when": "First substantive turn with reception.",
56
+ "script": "Use `opener`. Lead with established-patient status (gets priority over walk-ins), follow with a factual symptom statement (not a self-diagnosis), and explicitly ask for same-day. Do not embellish symptoms to get seen sooner.",
57
+ "priority": 2
58
+ },
59
+ {
60
+ "name": "Ask for the hidden acute slot",
61
+ "when": "Receptionist says 'next available is [days/weeks] out'.",
62
+ "script": "Use `ask_for_acute_slot`. The phrase 'acute slot' or 'same-day' is staff vocabulary — using it signals you know the practice's own workflow. Often unlocks reserved capacity.",
63
+ "priority": 3
64
+ },
65
+ {
66
+ "name": "Request a nurse triage callback",
67
+ "when": "Reception cannot book today but issue is acute.",
68
+ "script": "Ask: 'Can a nurse call us back to triage by phone? She may be able to call something in, recommend at-home steps, or escalate to a same-day slot.' Nurse callbacks bypass scheduler queues.",
69
+ "priority": 4
70
+ },
71
+ {
72
+ "name": "Pivot to telehealth if appropriate",
73
+ "when": "Issue does not obviously require physical exam.",
74
+ "script": "Use `telehealth_pivot`. Surface to operator via `ask_operator` if you're unsure whether the symptom needs in-person exam. Do NOT make that call yourself.",
75
+ "priority": 5
76
+ },
77
+ {
78
+ "name": "Pause and re-verify on suspicious 'go to the ER' deflection",
79
+ "when": "Practice tries to push operator to the ER for a clearly non-emergency issue (e.g. routine UTI, mild rash).",
80
+ "script": "Do not just accept the deflection. Politely push back: 'Honestly, this doesn't seem ER-level to me — is there a nurse who could take another look, or an urgent care you'd recommend?' Practices sometimes default to ER routing because it's the easiest disposition for them — at the operator's financial expense.",
81
+ "priority": 6
82
+ },
83
+ {
84
+ "name": "Steer to in-network urgent care as the escalation",
85
+ "when": "PCP truly cannot see today.",
86
+ "script": "Use `ask_about_urgent_care`. Verify in-network status with operator's plan before committing — out-of-network urgent care can bill $500-$1,000+ vs. $50-$150 in-network.",
87
+ "priority": 7
88
+ }
89
+ ],
90
+ "boundaries": [
91
+ "NEVER share or guess the operator's SSN, DOB, or member ID — read back only what the operator explicitly provided.",
92
+ "NEVER accept a 'your doctor changed your prescription' claim from any clinic or pharmacy on this call — route to `ask_operator`.",
93
+ "NEVER authorise a procedure, sign anything, or commit to financial responsibility on the operator's behalf.",
94
+ "NEVER embellish or invent symptoms to get seen sooner — that is medical fraud and corrupts the chart.",
95
+ "NEVER offer the operator a diagnosis, dosing change, or treatment advice. If the rep asks 'is the patient taking X right now?' — read only from the medication list the operator provided.",
96
+ "NEVER agree on the operator's behalf to skip ER if the operator described red-flag symptoms — when in doubt, ABORT and surface to operator."
97
+ ],
98
+ "success_signals": [
99
+ "Same-day or next-morning slot booked with PCP or in-network urgent care.",
100
+ "Nurse triage callback scheduled with a specific window.",
101
+ "Telehealth slot confirmed for an issue genuinely suited to virtual care.",
102
+ "Operator confirmed where to go and what to bring (ID, insurance card, current medication list)."
103
+ ],
104
+ "failure_signals": [
105
+ "Operator's symptoms now seem ER-appropriate — exit skill, recommend 911 / ER.",
106
+ "No same-day slot anywhere in-network and operator's symptoms are deteriorating.",
107
+ "Practice insists on a referral or paperwork that cannot be obtained in time.",
108
+ "Insurance issue blocks urgent care visit and operator has not authorised out-of-pocket cost."
109
+ ],
110
+ "exit_strategy": {
111
+ "on_success": "Confirm: location, time, provider/clinician type, what to bring (insurance card, medication list, photo ID), and any pre-visit steps (e.g. drink water for a urine sample). Note any pre-arrival paperwork or check-in process.",
112
+ "on_failure": "Politely close. Report to operator the options that DO exist (urgent care, telehealth, nurse line) with cost estimates, and let the operator choose. If symptoms worsen mid-call, recommend the ER without delay.",
113
+ "follow_ups": [
114
+ "Confirm the operator made it to the visit; otherwise, retry scheduling.",
115
+ "After the visit, follow up on any prescribed medications via `pharmacy-callback` skill if needed.",
116
+ "Log the practice's same-day responsiveness for future reference."
117
+ ]
118
+ },
119
+ "required_user_info": [
120
+ "Operator's name and DOB (read-only)",
121
+ "Insurance plan + member ID (read-only)",
122
+ "Symptom description in operator's words + onset time",
123
+ "PCP name and practice (if any)",
124
+ "Geographic constraints (how far operator can travel)",
125
+ "Whether telehealth is acceptable for this issue",
126
+ "Confirmation that no red-flag symptoms are present"
127
+ ],
128
+ "contributed_by": "healthcare-navigator agent (v0.9.87 community drop)",
129
+ "updated_at": "2026-05-20T06:09:47Z"
130
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "id": "schedule-rental-viewing",
3
+ "name": "Schedule a Rental Viewing with Landlord or Property Manager",
4
+ "version": "1.0.0",
5
+ "category": "real-estate",
6
+ "tags": [
7
+ "rental",
8
+ "viewing",
9
+ "landlord",
10
+ "property-manager",
11
+ "phone-call",
12
+ "screening",
13
+ "housing-tenancy"
14
+ ],
15
+ "description": "Call a landlord, leasing office, or property manager to set up an in-person (or video) viewing of a listed rental — while also pre-qualifying the unit and quietly screening for scams or bait-and-switch.",
16
+ "disclaimer": "Not legal advice. Habitability + early-termination skills are scripted to PRESERVE legal posture (request things in writing, refuse verbal-only assurances) — but the operator must consult a tenant attorney for actual rights determination.",
17
+ "context": {
18
+ "when_to_use": "User has found a listing and wants to view the unit before applying. Works for both private landlords and large property-management companies. Use BEFORE submitting any application or paying any fee.",
19
+ "preconditions": [
20
+ "User has the listing URL / address / unit number.",
21
+ "User has 2–3 windows of availability for a viewing.",
22
+ "User knows their hard requirements (move-in date, pets, parking, lease length).",
23
+ "User has NOT yet sent money, ID scans, or a signed application."
24
+ ],
25
+ "estimated_call_duration_minutes": 8
26
+ },
27
+ "principles": [
28
+ "A viewing call is also a screening call — you're qualifying the landlord as much as they're qualifying the tenant.",
29
+ "Real landlords welcome in-person viewings before money changes hands. Pressure to pay first is the single strongest scam signal.",
30
+ "Get the address spoken aloud and confirm it matches the listing — scammers reuse photos with different addresses.",
31
+ "Ask permission-style questions ('Is it okay if I bring a friend?') — they reveal a landlord's flexibility and tone before you're locked in.",
32
+ "Write down the leasing agent's full name and direct number during the call. You will need it later for follow-up and for the paper trail.",
33
+ "Do not volunteer credit score, income, or eviction history on this call. That's for the application stage, after you've seen the unit."
34
+ ],
35
+ "phrases": {
36
+ "opener": "Hi, I'm calling about the [bed/bath] unit listed at [address or listing site] for [rent amount]. Is that still available?",
37
+ "confirm_address": "Just so I have it right — can you confirm the full street address and the unit number?",
38
+ "ask_for_viewing": "I'd love to come see it in person before I apply. What times are you showing it this week?",
39
+ "ask_about_application_flow": "Walk me through what happens after the viewing — application fee, where I send documents, and how soon you decide?",
40
+ "deflect_money_request": "I'd rather not send anything until I've walked through the unit. Is there a time I can come by today or tomorrow?",
41
+ "ask_about_lease_terms": "Quick questions before I come out — what's the lease length, is the deposit one month or more, and are pets / parking included?",
42
+ "graceful_close": "Great — putting [day/time] in my calendar. Can I get your full name and the best number to reach you if I'm running late?"
43
+ },
44
+ "tactics": [
45
+ {
46
+ "name": "Confirm the unit is real and still listed",
47
+ "when": "First substantive turn.",
48
+ "script": "Use the `opener` and `confirm_address` phrases back-to-back. If the spoken address doesn't match the listing, or they dodge confirming, escalate to `ask_operator` — this is a scam signal.",
49
+ "priority": 1
50
+ },
51
+ {
52
+ "name": "Get a concrete viewing window",
53
+ "when": "After confirming availability.",
54
+ "script": "Offer two specific windows from the user's calendar. Avoid 'whenever you're free' — that bounces back and burns a turn.",
55
+ "priority": 2
56
+ },
57
+ {
58
+ "name": "Screen for scams without accusing",
59
+ "when": "If the landlord asks for money, a deposit, or ID scans BEFORE a viewing.",
60
+ "script": "Use `deflect_money_request`. If they insist on payment first or claim they're 'out of the country' and can't show it, politely end the call and report to operator. Real landlords let you walk the unit.",
61
+ "priority": 3
62
+ },
63
+ {
64
+ "name": "Pre-qualify the unit on the phone",
65
+ "when": "Once a viewing is on the calendar.",
66
+ "script": "Use `ask_about_lease_terms` to surface dealbreakers (lease length, pets, parking, utilities) before driving out. Saves a trip if it's not a fit.",
67
+ "priority": 4
68
+ },
69
+ {
70
+ "name": "Capture identity and contact info",
71
+ "when": "Before hanging up.",
72
+ "script": "Use `graceful_close`. Get the agent's full name, direct number, and the company name. Note it in the call summary."
73
+ }
74
+ ],
75
+ "boundaries": [
76
+ "Do NOT share the user's SSN, DOB, or full bank info on a viewing call. Those belong on the formal application.",
77
+ "Do NOT agree to send a deposit, application fee, or 'holding fee' BEFORE the viewing. Hold via `ask_operator` if pressed.",
78
+ "Do NOT commit the user to a viewing window outside the times the user provided.",
79
+ "Do NOT escalate or argue if the landlord is rude — note the tone and end politely; the user can decide whether to pursue."
80
+ ],
81
+ "success_signals": [
82
+ "Landlord confirms the address matches the listing.",
83
+ "Viewing is scheduled at the unit, in person, with no money requested upfront.",
84
+ "Landlord answers basic lease-term questions clearly and consistently.",
85
+ "Landlord provides full name + direct contact number without hesitation."
86
+ ],
87
+ "failure_signals": [
88
+ "Landlord refuses to show the unit before payment.",
89
+ "Spoken address doesn't match the listed address.",
90
+ "Landlord claims they're traveling / out of country and asks to wire a deposit.",
91
+ "Listing price quoted on the call is materially different from the listed price.",
92
+ "Landlord pressures the user to apply sight-unseen 'because demand is high.'"
93
+ ],
94
+ "exit_strategy": {
95
+ "on_success": "Confirm viewing day, time, address, agent name, and direct number. Ask whether to bring photo ID or pay-stubs to the viewing (some agents do a soft pre-app onsite).",
96
+ "on_failure": "Politely end the call. Do NOT send any money or documents. Report to operator with the red flag observed (price mismatch, payment-first demand, traveling landlord, etc.).",
97
+ "follow_ups": [
98
+ "Calendar reminder 1 hour before the viewing.",
99
+ "Email the operator the agent name, direct number, viewing time, and any red flags worth re-checking onsite."
100
+ ]
101
+ },
102
+ "required_user_info": [
103
+ "Listing URL, address, and quoted rent",
104
+ "Two or three viewing-time windows",
105
+ "Move-in date",
106
+ "Hard requirements: pets, parking, lease length, smoking, roommates",
107
+ "Whether the user has been asked for any money so far (and what for)"
108
+ ],
109
+ "contributed_by": "housing-tenancy agent (v0.9.87 community drop)",
110
+ "updated_at": "2026-05-20T06:09:47Z"
111
+ }
@@ -0,0 +1,129 @@
1
+ {
2
+ "id": "service-move-shutoff-start-no-overlap",
3
+ "name": "Service Move: Shutoff at Old + Start at New Without Overlap Charges",
4
+ "version": "1.0.0",
5
+ "category": "customer-service",
6
+ "tags": [
7
+ "utility",
8
+ "telecom",
9
+ "service-move",
10
+ "transfer",
11
+ "phone-call",
12
+ "billing",
13
+ "utility-telecom"
14
+ ],
15
+ "description": "Call a utility or telecom to move service from an old address to a new one — landing the shutoff date and start date so the user is never billed for two premises at once and never goes dark on day-of-move.",
16
+ "disclaimer": "Some services (fiber, water with deposits) require physical work at the new address before service starts. Build in a 24-48 hour buffer at the NEW end so a missed appointment doesn't leave the user without service; never put the buffer on the OLD end (overlap charges).",
17
+ "context": {
18
+ "when_to_use": "User is moving and wants to transfer the same provider's service to the new address. NOT for switching providers (use cancellation skills for that) and NOT for adding a second service to an existing account.",
19
+ "preconditions": [
20
+ "Move-out date at old address (confirmed lease end or closing date).",
21
+ "Move-in date at new address (when keys are received / closing).",
22
+ "New address with unit number and ZIP (verify service is available there before calling).",
23
+ "Account number on file.",
24
+ "Whether the new address requires any equipment swap (different cable infrastructure, different gas type, well vs. municipal water)."
25
+ ],
26
+ "estimated_call_duration_minutes": 25
27
+ },
28
+ "principles": [
29
+ "Set the shutoff at the OLD address for the day AFTER move-out — never the same day. Movers can run late; a same-day shutoff means cleaning crews and walk-throughs in the dark.",
30
+ "Set the start at the NEW address for the day BEFORE move-in — never the same day. You want power and water to be on when the truck arrives, not 'scheduled for activation between 8am-8pm'.",
31
+ "Result: 1-2 days of overlap is FINE and worth a few dollars; 0 days of overlap is the trap that creates the all-day shutoff-day phone call.",
32
+ "If the rep books this as a 'service transfer' rather than 'disconnect old + connect new', the account number carries over and avoids a new deposit. Insist on transfer wording.",
33
+ "Recognise wrong-queue: 'new connects' and 'disconnects' are sometimes separate teams from 'moves'. If routed wrong, request a warm transfer that preserves your hold position."
34
+ ],
35
+ "phrases": {
36
+ "opener": "Hi, I'm moving and I want to transfer service from [old address] to [new address]. Move-out is [date], move-in is [date]. I'd like to set this up as a transfer on the same account, not a disconnect-plus-new-connect.",
37
+ "queue_check": "Just to make sure I'm in the right place — is this the moves team, or are disconnects and new connects separate teams? I want to handle both in one call.",
38
+ "transfer_request": "Could you do a warm transfer to the moves team and stay on the line until they pick up? I'd rather not lose my hold position.",
39
+ "request_transfer_not_new": "Can we set this up as a service transfer — same account number, no new deposit, no new equipment installation? My understanding is that triggers a different workflow than a disconnect.",
40
+ "stage_dates": "I'd like the shutoff at the old address scheduled for [move-out date + 1] — day AFTER move-out — and the new address activated on [move-in date - 1] — day BEFORE move-in. I'm okay with one or two days of overlap.",
41
+ "check_service_availability": "Before we lock this in — can you confirm the new address is in your service area, what infrastructure is there [coax / fiber / DSL / electric panel size if known], and whether there's any pre-install requirement?",
42
+ "ask_truck_roll": "Will a tech need to come out to the new address? If yes, what's the earliest appointment, what's the window, and is there a fee?",
43
+ "ask_equipment": "Does my current equipment work at the new address, or do I need a swap? If a swap, can it be mailed ahead so I'm not waiting on a tech day-of?",
44
+ "ask_promo_preservation": "I'm on a [promo / loyalty rate]. Will that carry over to the new address, or does this trigger a re-rate? If it re-rates, I'd like that flagged before we proceed.",
45
+ "lock_in_writing": "Can you email or text the confirmation with both dates, both addresses, account number, any new charges, and any appointment windows? I want it in writing before we hang up.",
46
+ "graceful_close": "Thanks — so shutoff at old on [date], activation at new on [date], same account, no new deposit, promo carries, tech appointment [date / window], confirmation number [number]."
47
+ },
48
+ "tactics": [
49
+ {
50
+ "name": "Stage the dates correctly",
51
+ "when": "First substantive turn.",
52
+ "script": "Use `stage_dates`. Phrase it explicitly as 'day after move-out' / 'day before move-in' so the rep cannot mis-key it as same-day.",
53
+ "priority": 1
54
+ },
55
+ {
56
+ "name": "Insist on 'transfer' not 'disconnect + new'",
57
+ "when": "Rep starts opening two work orders.",
58
+ "script": "Use `request_transfer_not_new`. Same-account transfer skips new-customer credit check, deposit, and often promo loss.",
59
+ "priority": 2
60
+ },
61
+ {
62
+ "name": "Recognise wrong-queue / cross-team routing",
63
+ "when": "Rep can only do one side (disconnect OR new-connect).",
64
+ "script": "Use `queue_check` and `transfer_request`. Handling both in one call avoids the gap where one side gets done and the other never gets scheduled.",
65
+ "priority": 3
66
+ },
67
+ {
68
+ "name": "Verify service availability at new address",
69
+ "when": "Before locking the activation date.",
70
+ "script": "Use `check_service_availability`. Especially critical for fiber, gigabit cable, or 5G fixed-wireless — 'available' on the marketing map sometimes doesn't match the actual install database.",
71
+ "priority": 4
72
+ },
73
+ {
74
+ "name": "Pin down truck roll + equipment logistics",
75
+ "when": "After service availability is confirmed.",
76
+ "script": "Use `ask_truck_roll` and `ask_equipment`. A 4-hour install window on move-in day is the most common cause of move-day chaos.",
77
+ "priority": 5
78
+ },
79
+ {
80
+ "name": "Protect any existing promo / discount",
81
+ "when": "Before final confirmation.",
82
+ "script": "Use `ask_promo_preservation`. Many promos are address-locked; transferring sometimes re-rates to current pricing. Flag it before the move, not after the first bill."
83
+ },
84
+ {
85
+ "name": "Lock it in writing",
86
+ "when": "Before ending the call.",
87
+ "script": "Use `lock_in_writing`. Move-related verbal arrangements are the #1 source of billing disputes."
88
+ }
89
+ ],
90
+ "boundaries": [
91
+ "Do NOT schedule shutoff at the old address before the move-out date — even one day early can mean no water during the move-out clean.",
92
+ "Do NOT schedule activation at the new address after the move-in date — even one day late can mean no power for the first night.",
93
+ "Do NOT accept a new account number without explicit reason. New account = new deposit + new credit check + lost promo, in most cases.",
94
+ "Do NOT skip confirming equipment compatibility — showing up with the wrong modem on day one is a 3-day delay."
95
+ ],
96
+ "success_signals": [
97
+ "Both dates scheduled with 1-2 day buffer in the correct direction.",
98
+ "Same account number carries over, no new deposit.",
99
+ "Promo / loyalty rate confirmed to carry.",
100
+ "Written confirmation with both dates, both addresses, and appointment window.",
101
+ "Equipment plan confirmed (carry it / mail-ahead / day-of swap)."
102
+ ],
103
+ "failure_signals": [
104
+ "Rep insists on disconnect-then-new-connect with new deposit.",
105
+ "Promo silently re-rates to current pricing and rep won't escalate.",
106
+ "Truck-roll appointment is more than 1 week after requested activation date.",
107
+ "Service not actually available at new address despite map claim."
108
+ ],
109
+ "exit_strategy": {
110
+ "on_success": "Confirm both dates, both addresses, account, deposit status, promo status, equipment plan, and appointment window. Calendar both dates with 24-hour reminders.",
111
+ "on_failure": "If promo will be lost, evaluate switching providers at the new address (often cheaper than transfer with re-rate). If service is not available at new address, get the unavailable-area documentation in writing — you may need it to break a contract without ETF.",
112
+ "follow_ups": [
113
+ "Day before old-address shutoff: confirm via portal that the work order is still scheduled.",
114
+ "Day before new-address activation: confirm appointment time and tech ETA.",
115
+ "Day after activation: verify the new account looks right and old account shows final-bill status.",
116
+ "Two weeks after: verify the final bill at old address is reasonable (no phantom recurring charges)."
117
+ ]
118
+ },
119
+ "required_user_info": [
120
+ "Account number",
121
+ "Old address (full) and move-out date",
122
+ "New address (full, with unit) and move-in date",
123
+ "Any current promo / loyalty pricing",
124
+ "Existing equipment list",
125
+ "Best email/phone for written confirmation"
126
+ ],
127
+ "contributed_by": "utility-telecom agent (v0.9.87 community drop)",
128
+ "updated_at": "2026-05-20T06:09:47Z"
129
+ }
@@ -0,0 +1,122 @@
1
+ {
2
+ "id": "social-security-replacement-card",
3
+ "name": "Social Security: Replacement Card, Benefit Estimate, or Direct-Deposit Change",
4
+ "version": "1.0.0",
5
+ "category": "civic",
6
+ "tags": [
7
+ "social-security",
8
+ "ssa",
9
+ "replacement-card",
10
+ "direct-deposit",
11
+ "benefit-estimate",
12
+ "phone-call",
13
+ "government-services"
14
+ ],
15
+ "description": "Call the SSA national line or a local field office to request a replacement Social Security card, get a benefit estimate, or change direct-deposit details on an active benefit. Most card replacements are now done via my Social Security online — this skill is for cases where the online flow fails or in-person ID is required.",
16
+ "disclaimer": "Not legal or financial advice. The agent will not advise on when to start benefits, spousal-claiming strategy, or disability-determination strategy — those require an SSA claims rep, a financial planner, or an attorney specialising in SSA matters.",
17
+ "context": {
18
+ "when_to_use": "User cannot complete the request through my Social Security online (account locked, ID.me/Login.gov rejection, no online account possible due to credit-freeze conflict). User needs an in-person appointment confirmed. User received SSA correspondence and wants to confirm authenticity. User wants to change banking info on an active benefit.",
19
+ "preconditions": [
20
+ "User has their Social Security Number (will only be read aloud after rep authenticates).",
21
+ "User has full legal name, date of birth, place of birth, and mother's maiden name.",
22
+ "User has current address on file and any prior address (for KBA questions).",
23
+ "For direct-deposit changes: new bank routing number, account number, and account type.",
24
+ "Patience: SSA wait times average 30–60 minutes on the 1-800-772-1213 line."
25
+ ],
26
+ "estimated_call_duration_minutes": 45
27
+ },
28
+ "principles": [
29
+ "SSA is one of the most ID-strict federal agencies. Direct-deposit changes especially are a fraud target — expect rigorous authentication and possibly a mailed confirmation that delays the change.",
30
+ "The national 800 number gets you a general claims rep. Local field offices get you someone who can pull your file faster — but the field-office line is harder to reach. Try the national line first; if escalation is needed, ask for the local office direct number.",
31
+ "Best call times: Wednesday–Friday after 4pm Eastern, or first thing Tuesday–Friday morning. Avoid Monday and the first week of any month (peak benefit-payment questions).",
32
+ "If the user is a representative payee, that triggers different authentication and forms — establish payee status up front.",
33
+ "SSA will NOT threaten arrest, demand gift cards, or call out of the blue saying your SSN is suspended. Any such contact is a scam."
34
+ ],
35
+ "phrases": {
36
+ "opener_card": "Hi, I'd like to request a replacement Social Security card. The online process [didn't work / isn't available for me] because [reason]. Can we start that by phone, or do I need an in-person appointment?",
37
+ "opener_estimate": "Hi, I'd like a benefit estimate for retirement at ages 62, 67, and 70. Can you pull that and read me the figures?",
38
+ "opener_dd_change": "Hi, I'd like to change the direct-deposit account on my Social Security benefit. The new bank is [BANK], routing [ROUTING], account [LAST 4 ONLY until authenticated]. Can we do that today?",
39
+ "ask_for_field_office": "Could I have the direct phone number for my local field office? I think this might need an in-person appointment.",
40
+ "authentication_ready": "I have my SSN, DOB, place of birth, mother's maiden name, and current address ready when you need them.",
41
+ "stall_documents": "One moment — I want to read the numbers off my [bank statement / SSA letter] so I get them right.",
42
+ "graceful_close": "Thank you. Can I confirm: what was changed, when it takes effect, whether I'll receive written confirmation in the mail, and a confirmation or case number — and your name and ID?"
43
+ },
44
+ "tactics": [
45
+ {
46
+ "name": "Try my Social Security online first if not already done",
47
+ "when": "Before any call.",
48
+ "script": "Card replacement, benefit estimate, and DD change are all online-eligible in most states. The line is busy; the website is fast. Only call if the online flow has actually failed.",
49
+ "priority": 1
50
+ },
51
+ {
52
+ "name": "Establish account type up front",
53
+ "when": "First minute with a human.",
54
+ "script": "Tell the rep: retirement / SSDI / SSI / survivors / representative-payee. Different programs route to different specialists.",
55
+ "priority": 2
56
+ },
57
+ {
58
+ "name": "For DD changes, expect a hold-and-mail",
59
+ "when": "Bank-info change.",
60
+ "script": "SSA typically requires the change to be made by phone WITH a mailed confirmation that takes 30–60 days, OR via my Social Security with stronger online ID. Tell the user this delay is normal and not failure.",
61
+ "priority": 3
62
+ },
63
+ {
64
+ "name": "Ask for an in-person appointment if ID is the blocker",
65
+ "when": "Card replacement requires original-document ID inspection.",
66
+ "script": "If the user cannot prove identity online (no driver's license that matches, foreign-document case, name change), the rep can schedule an in-person appointment at the local field office. Get the appointment confirmation number and the list of documents required.",
67
+ "priority": 4
68
+ },
69
+ {
70
+ "name": "Use SSA-1099 / award letter as backup ID",
71
+ "when": "User has trouble authenticating on the phone.",
72
+ "script": "Reps can sometimes use the most recent SSA-1099 or benefit-award letter as a secondary authenticator. Have it ready."
73
+ }
74
+ ],
75
+ "boundaries": [
76
+ "Do NOT advise on the optimal age to claim benefits, spousal/widow(er) strategy, or whether to file for disability — refer to a financial planner or SSA claims rep.",
77
+ "Do NOT share the user's SSN until the rep has been confirmed as SSA and has asked specifically.",
78
+ "Do NOT initiate a DD change without explicit, real-time authorization from the user — banking changes are a top SSA fraud vector.",
79
+ "Do NOT engage with any inbound caller claiming SSA — call back via 1-800-772-1213 or the local field-office published number.",
80
+ "Do NOT claim a card or appointment is set until you have a written or verbal confirmation number."
81
+ ],
82
+ "success_signals": [
83
+ "Rep schedules an in-person appointment with a confirmation number.",
84
+ "Card replacement is accepted by phone and mailed within 10–14 business days.",
85
+ "Benefit estimate is read aloud at ages 62, 67, 70 and matches my Social Security online (sanity check).",
86
+ "DD change is accepted with a verbal confirmation number and a mailed confirmation in 30–60 days.",
87
+ "Rep confirms no fraud flag on the account."
88
+ ],
89
+ "failure_signals": [
90
+ "Rep cannot authenticate the user after 2 attempts — schedule an in-person appointment with original documents.",
91
+ "DD change request is rejected because account is under fraud monitoring — handle in person.",
92
+ "User is told the change can only be made online but the user cannot pass Login.gov / ID.me — escalate to field-office in-person.",
93
+ "Hold > 90 minutes — call back later in the week or after 4pm Eastern."
94
+ ],
95
+ "exit_strategy": {
96
+ "on_success": "Capture: change made, effective date, confirmation/case number, agent name + ID. Note whether a mailed confirmation will arrive (and the expected window). Verbally repeat back banking changes digit-by-digit if applicable.",
97
+ "on_failure": "Capture next step: in-person appointment (date, time, office address, documents to bring), alternative online flow, or follow-up call window. Provide the operator the documents list for the in-person visit.",
98
+ "follow_ups": [
99
+ "Calendar the in-person appointment with a 24-hour reminder.",
100
+ "Calendar arrival of the replacement card (10–14 business days).",
101
+ "Confirm the first DD-changed payment landed in the new account (next benefit-payment date).",
102
+ "If a mailed confirmation does not arrive within the quoted window, call back with the confirmation number."
103
+ ]
104
+ },
105
+ "required_user_info": [
106
+ "Social Security Number",
107
+ "Full legal name, DOB, place of birth, mother's maiden name",
108
+ "Current address (and prior address for KBA)",
109
+ "Program type (retirement / SSDI / SSI / survivor / representative-payee)",
110
+ "For DD changes: bank name, routing number, account number, account type (checking/savings)",
111
+ "Whether the user has online my Social Security access",
112
+ "Documents available for in-person ID (DL, passport, birth certificate, naturalization papers)"
113
+ ],
114
+ "hang_up_and_call_back_signals": [
115
+ "Inbound call claiming SSA — SSA does not call to suspend SSNs, demand payment, or threaten arrest; hang up and call 1-800-772-1213.",
116
+ "Rep insists on full SSN before identifying themselves and the office — request name, office, and ID; if refused, hang up.",
117
+ "Wait > 90 minutes — try Tue–Fri 4–6pm Eastern.",
118
+ "User cannot answer authentication questions — gather prior addresses, prior SSA-1099, and retry."
119
+ ],
120
+ "contributed_by": "govt-services-pro agent (v0.9.87 community drop)",
121
+ "updated_at": "2026-05-20T06:09:47Z"
122
+ }