@agenticmail/core 0.9.32 → 0.9.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +128 -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 +125 -0
  118. package/dist/skills/built-in/report-fbi-tip.json +116 -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,113 @@
1
+ {
2
+ "id": "capture-rep-identity",
3
+ "name": "Capture Rep Identity and Reference Number",
4
+ "version": "1.0.0",
5
+ "category": "other",
6
+ "tags": [
7
+ "closing",
8
+ "identity",
9
+ "reference-number",
10
+ "accountability",
11
+ "phone-call",
12
+ "closing-commitment"
13
+ ],
14
+ "description": "Before ending any call, capture the rep's name (spelled out), employee or operator ID, department/location, AND a case/reference/confirmation number tied to THIS call. Without these four artifacts, the call effectively never happened from the company's side.",
15
+ "disclaimer": null,
16
+ "context": {
17
+ "when_to_use": "Every call. EVERY call. Even informational ones. The cost is 60 seconds; the value is that you can re-enter the conversation downstream instead of starting over with a fresh rep who has no context.",
18
+ "preconditions": [
19
+ "The call has reached a point where the rep has done something — looked up the account, made a note, processed a change, given information.",
20
+ "You have a way to record/type the identifiers (call notes, memory, transcript).",
21
+ "Recording is ideally still in progress when you collect them."
22
+ ],
23
+ "estimated_call_duration_minutes": 2
24
+ },
25
+ "principles": [
26
+ "Frame it as 'for my records', not 'to hold you accountable'. Same outcome, much warmer reception.",
27
+ "Spell out the name. 'Sarah with an H' vs 'Sara' matters when escalating later. Confirm spelling on uncommon names.",
28
+ "Capture ID + ref number even when the rep didn't change anything. Informational calls are often the foundation of later disputes.",
29
+ "Geographic location helps. Call centres in different regions follow different scripts; knowing you spoke with 'Manila tier-1' vs 'Austin retention' shapes the escalation path.",
30
+ "If a rep refuses to give an ID, that's data — proceed politely but escalate before closing."
31
+ ],
32
+ "phrases": {
33
+ "opener": "Before we wrap up, can I grab a few details for my records — could I get your first name and spelling, and an operator or employee ID?",
34
+ "id_clarify": "And what's the ID format — is that a number, letters, a badge code? Just want to make sure I write it down correctly.",
35
+ "department_probe": "Which team are you on — front-line customer service, retention, billing, technical? And what region or location, if you can share?",
36
+ "reference_request": "Is there a case number, reference number, or ticket number for this call I can quote if I call back?",
37
+ "no_case_number_fallback": "If there's no formal case number, can you note in my account that we spoke today about [topic] — and tell me what timestamp or note ID is now on the account?",
38
+ "refusal_handler": "Totally understand if there are privacy rules around the ID. In that case — what's the standard reference I'd use to find this exact call later? Is there a call ID on your side?",
39
+ "graceful_close_success": "Perfect, I've got [name spelled X-Y-Z], ID [N], [department], reference [R]. Thanks — that's exactly what I needed.",
40
+ "graceful_close_failure": "I'd like to confirm those identifiers with a supervisor before we hang up — not because of anything you've done, but I've been burned by callbacks where there was no way to retrieve the conversation."
41
+ },
42
+ "tactics": [
43
+ {
44
+ "name": "Ask early, not at the very end",
45
+ "when": "Right after the substantive part of the call ends, before the readback starts.",
46
+ "script": "Use the `opener` phrase. Asking at the absolute end feels like an accusation; asking 'now that we've sorted that out, let me grab some details' feels routine.",
47
+ "priority": 1
48
+ },
49
+ {
50
+ "name": "Spell-check the name",
51
+ "when": "Rep gives a name.",
52
+ "script": "Read it back letter by letter: 'S-A-R-A-H, Sarah — got it.' Catches mishearing and signals that you're recording carefully without saying so.",
53
+ "priority": 2
54
+ },
55
+ {
56
+ "name": "Capture the ID format too",
57
+ "when": "Rep gives an employee or operator ID.",
58
+ "script": "Use the `id_clarify` phrase. Knowing it's '7-digit numeric' vs 'two letters then four digits' helps a future agent validate it.",
59
+ "priority": 3
60
+ },
61
+ {
62
+ "name": "Probe department + location",
63
+ "when": "After name + ID captured.",
64
+ "script": "Use the `department_probe` phrase. Most companies have multiple call centres with different authority levels — knowing which one you reached is leverage on the next call.",
65
+ "priority": 4
66
+ },
67
+ {
68
+ "name": "Force a reference number into existence",
69
+ "when": "No case/ticket number has been mentioned during the call.",
70
+ "script": "Use the `reference_request` phrase. If the rep says there isn't one, fall back to `no_case_number_fallback` — get SOMETHING that can be looked up later (timestamp + note ID is a minimum).",
71
+ "priority": 5
72
+ },
73
+ {
74
+ "name": "Handle refusal gracefully but firmly",
75
+ "when": "Rep declines to share an ID or reference number.",
76
+ "script": "Use the `refusal_handler` phrase. If they still refuse, use `graceful_close_failure` and escalate to a supervisor. A rep with nothing to hide will give you SOME identifier.",
77
+ "priority": 6
78
+ }
79
+ ],
80
+ "boundaries": [
81
+ "Do NOT demand a last name — many companies prohibit reps from sharing it. First name + ID is enough.",
82
+ "Do NOT threaten ('I need this in case I sue you'). Frame as record-keeping, not preparation for combat.",
83
+ "Do NOT accept 'we don't use case numbers' as a final answer — every modern CRM has a record ID. Push to `no_case_number_fallback`.",
84
+ "Do NOT close without at least three of: name, ID, department, reference number. Two or fewer is not enough to recover the call later."
85
+ ],
86
+ "success_signals": [
87
+ "Rep volunteers ID and reference number without being asked twice.",
88
+ "Rep spells their own name to you proactively.",
89
+ "Rep adds 'and a note has been added to your account, you'll see it under [date]'.",
90
+ "Reference number follows a recognisable format (e.g. INC-, CASE-, prefix + digits)."
91
+ ],
92
+ "failure_signals": [
93
+ "Rep flatly refuses to share any identifier.",
94
+ "Rep gives a name but says 'we don't have IDs' — almost never true at a real company.",
95
+ "Reference number is suspiciously short or generic ('just call back and reference the date').",
96
+ "Rep's name changes between the start of the call and the close — possible handoff that wasn't disclosed."
97
+ ],
98
+ "exit_strategy": {
99
+ "on_success": "Log the four artifacts (name, ID, department, ref#) in call notes immediately, in a structured format. Pair with `request-written-confirmation` so a paper trail exists alongside the audio.",
100
+ "on_failure": "Escalate to a supervisor before ending the call and capture the supervisor's identifiers. If still refused, end the call but flag the company as 'identifier-opaque' — future calls will need different tactics (e.g. recording explicitly, requesting a complaint case).",
101
+ "follow_ups": [
102
+ "Save the four identifiers in a permanent record keyed by date + topic.",
103
+ "If a callback is expected, hand the identifiers to the next agent so they can reference the prior call."
104
+ ]
105
+ },
106
+ "required_user_info": [
107
+ "A reliable note-taking surface (transcript, memory, or operator-side log)",
108
+ "Knowledge of which company / department was called (for cross-referencing later)",
109
+ "User authorisation to extend the call by 1-2 minutes for record-keeping"
110
+ ],
111
+ "contributed_by": "closing-commitment agent (v0.9.87 community drop)",
112
+ "updated_at": "2026-05-20T06:09:47Z"
113
+ }
@@ -0,0 +1,157 @@
1
+ {
2
+ "id": "childcare-provider-intake",
3
+ "name": "Childcare Provider Intake: License, References, Schedule",
4
+ "version": "1.0.1",
5
+ "category": "other",
6
+ "tags": [
7
+ "childcare",
8
+ "daycare",
9
+ "preschool",
10
+ "nanny",
11
+ "babysitter",
12
+ "license",
13
+ "background-check",
14
+ "references",
15
+ "intake",
16
+ "phone-call",
17
+ "professional-services"
18
+ ],
19
+ "description": "Place an intake / vetting call with a childcare provider — licensed centre, in-home daycare, nanny agency, or independent nanny — to verify license / background checks, surface schedule and ratios, and request references BEFORE the operator tours or signs an enrolment / employment agreement.",
20
+ "disclaimer": "Childcare regulation varies by jurisdiction and is the single highest-stakes vetting category in this library. This skill does not replace a thorough in-person tour, criminal-background verification, or independent reference checks by the operator. Do not commit on this call.",
21
+ "context": {
22
+ "when_to_use": "Operator is choosing childcare for an infant, toddler, or preschool-aged child. Use BEFORE the first tour for a centre / home daycare, or BEFORE the first in-person interview for a nanny / agency placement. Pair with `childcare-tour-checklist` and `nanny-employment-agreement-review` (separate skills).",
23
+ "preconditions": [
24
+ "Operator has the provider's full legal business name, license number (for licensed providers), and state.",
25
+ "Operator has the child's age, schedule needs, and any specific needs (allergies, medical, developmental).",
26
+ "Operator has surfaced budget range and start-date window.",
27
+ "Operator has decided centre vs in-home daycare vs nanny vs agency — different vetting paths."
28
+ ],
29
+ "estimated_call_duration_minutes": 25
30
+ },
31
+ "principles": [
32
+ "License and inspection records are public in most states. Look them up BEFORE calling — the state child-care licensing department posts violations, citations, and renewal status.",
33
+ "Ratios drive safety and attention. State minimums (e.g. 1:4 for infants, 1:6 for toddlers) are floors, not goals. Lower is better; ask the actual current ratio, not the maximum.",
34
+ "Background checks vary widely. State centres require fingerprint + criminal + child-abuse-registry checks for all staff; nanny agencies vary; independent nannies require operator-funded checks. Pin down what's been done and what's on file.",
35
+ "References are non-negotiable. Two CURRENT or recent families (within 12 months) — and the operator calls them, not the agent.",
36
+ "Schedule flexibility, sick-day policies, and closure calendars determine real-world fit. Many centres close 3+ weeks per year; many nannies require guaranteed hours regardless of family illness.",
37
+ "Mandatory reporter status is a feature, not a bug. Every reputable provider should know they're a mandated reporter and how their child-protection protocols work."
38
+ ],
39
+ "phrases": {
40
+ "opener": "Hi — I'm calling for a family looking at [centre / in-home daycare / nanny] care for a [age] child, starting [date], [days/hours]. Before we set up a tour, can I ask a few quick questions about licensing, ratios, and availability?",
41
+ "license_probe": "Could you confirm your state license number, classification, and whether your last inspection was clean — or, if there were citations, what they were and how they were resolved?",
42
+ "ratios_probe": "What's your current ratio in the [infant / toddler / preschool] room, what's the maximum your license allows, and who's the lead teacher in that room — name, credentials, and tenure?",
43
+ "background_check_probe": "Walk me through the background-check protocol for every adult who interacts with children: fingerprint, state criminal, federal criminal, child-abuse registry, sex-offender registry, and how often these are re-run.",
44
+ "ratios_probe_home": "For in-home daycare: how many children total are on-site at any time, what ages, and who's the second adult if you step away or are ill?",
45
+ "nanny_specific_probe": "For a nanny: are you a W-2 employee or 1099? Are you authorised to work in the US, do you have CPR / pediatric-first-aid certification, when do they expire, and do you carry your own liability or driving insurance?",
46
+ "agency_probe": "For an agency: what's your placement-fee structure, what's the trial / replacement guarantee period, and what's been verified on every nanny BEFORE you place them?",
47
+ "schedule_probe": "What's the current opening — start date, days/hours, and is there a waitlist? What's your annual closure calendar (holidays, training days, summer)? What's the sick-day policy on both sides?",
48
+ "illness_probe": "What's the sick-child exclusion policy — fever threshold, vomiting / diarrhoea, contagious illnesses — and how do you communicate exposure?",
49
+ "developmental_probe": "What's the daily structure for a [age], curriculum or approach (play-based, Reggio, Montessori, Waldorf, ABA-influenced), and how do you communicate with parents daily?",
50
+ "special_needs_probe": "The child has [allergy / condition / IEP / sensory need]. How do you accommodate, who's trained, and what's the medication protocol?",
51
+ "references_probe": "Could you share two CURRENT or recent (within 12 months) family references, ideally with a child of similar age, who the operator can call directly?",
52
+ "trial_probe": "Is there a trial day / week / probationary period, and what's the early-termination protocol from either side?",
53
+ "stall_to_check": "Let me run the schedule, fees, and policies past the parents before we set a tour or sign anything — big decision, deserves a calm review.",
54
+ "graceful_close": "Thanks — could you email the enrolment / employment packet, the inspection record (or link), the closure calendar, sick policy, and the references over? The family will follow up within [timeframe]."
55
+ },
56
+ "tactics": [
57
+ {
58
+ "name": "Licence and inspection record first",
59
+ "when": "Opening minute.",
60
+ "script": "Use `license_probe`. If the provider can't or won't share the license number on the call, end politely. Anyone licensed knows their number and is happy to share it.",
61
+ "priority": 1
62
+ },
63
+ {
64
+ "name": "Ratios with actuals, not maximums",
65
+ "when": "After license.",
66
+ "script": "Use `ratios_probe` (centre) or `ratios_probe_home` (in-home). The actual current ratio in the room the child would join is the real signal. Lead-teacher tenure is a quality proxy.",
67
+ "priority": 2
68
+ },
69
+ {
70
+ "name": "Background-check chain of custody",
71
+ "when": "After ratios.",
72
+ "script": "Use `background_check_probe`. This applies to every adult — teachers, owner, family-member-cohabitants for in-home, substitute teachers. Anyone unscreened is a no.",
73
+ "priority": 3
74
+ },
75
+ {
76
+ "name": "Provider-type-specific vetting",
77
+ "when": "Once basics are clear.",
78
+ "script": "Use `nanny_specific_probe` for nannies, `agency_probe` for agencies. Different categories, different risks: W-2 / 1099 classification, work authorisation, CPR currency, agency replacement guarantee.",
79
+ "priority": 4
80
+ },
81
+ {
82
+ "name": "Schedule + closures + sick policy",
83
+ "when": "Mid-call.",
84
+ "script": "Use `schedule_probe` and `illness_probe`. The annual closure calendar surprises many parents. Sick-child exclusion thresholds affect work-life logistics.",
85
+ "priority": 5
86
+ },
87
+ {
88
+ "name": "Curriculum / daily structure",
89
+ "when": "After logistics.",
90
+ "script": "Use `developmental_probe`. Even at infant ages, the daily rhythm matters. Parent-communication cadence (daily app, paper logs, weekly summary) is a fit signal."
91
+ },
92
+ {
93
+ "name": "Special needs explicitly",
94
+ "when": "If the child has any.",
95
+ "script": "Use `special_needs_probe`. The right answer involves a written care plan, named staff trained, and clear medication protocol. Vague answers are disqualifying."
96
+ },
97
+ {
98
+ "name": "References operator can actually call",
99
+ "when": "Near end.",
100
+ "script": "Use `references_probe`. Two CURRENT families. Operator calls — agent does not screen on the operator's behalf."
101
+ },
102
+ {
103
+ "name": "Defer any commitment",
104
+ "when": "Coordinator pushes to lock the spot.",
105
+ "script": "Use `stall_to_check`. Childcare commitments are too consequential for a phone call. Tour, references, contract review — then decide."
106
+ }
107
+ ],
108
+ "boundaries": [
109
+ "Do NOT sign an enrolment contract or employment agreement mid-call. Use ask_operator.",
110
+ "Do NOT pay an enrolment deposit, holding fee, or agency placement fee on this call. Funds flow only after operator-reviewed written agreement.",
111
+ "Do NOT share the child's full name, date of birth, or social security number on this call. First name and age category are enough for screening.",
112
+ "Do NOT share the home address with an independent nanny prospect before background-check completion.",
113
+ "Do NOT bypass background-check verification because the provider 'feels right' or comes 'highly recommended'. Verification is non-negotiable.",
114
+ "Do NOT accept a provider with unresolved citations, lapsed license, or refusal to share inspection records.",
115
+ "Do NOT agree to off-the-books cash pay arrangements for nannies — they expose the operator to tax, insurance, and workers' comp liability."
116
+ ],
117
+ "success_signals": [
118
+ "Licence number, classification, and inspection record shared transparently.",
119
+ "Actual current ratios cited, with lead-teacher name and tenure.",
120
+ "Background-check protocol covers every adult and is re-run on a clear cadence.",
121
+ "Annual closure calendar and sick policy provided in writing.",
122
+ "Curriculum / daily structure described with specifics, not slogans.",
123
+ "Two current-family references offered without hesitation.",
124
+ "Trial period / probationary structure exists and is documented."
125
+ ],
126
+ "failure_signals": [
127
+ "Refusal to share licence number, inspection record, or background-check details.",
128
+ "Maximum-ratio quoted as though it were the actual ratio.",
129
+ "Unscreened adults in the home or facility (cohabitants, drop-in family).",
130
+ "Pressure for an enrolment deposit on the call.",
131
+ "Refusal to provide current-family references.",
132
+ "Cash-only / off-the-books employment pitch for nannies.",
133
+ "Citations on the public record that the provider downplays or doesn't acknowledge.",
134
+ "Vague answers on medication, allergy, or special-needs protocol."
135
+ ],
136
+ "exit_strategy": {
137
+ "on_success": "Confirm provider will email: enrolment / employment packet, license and inspection record link, annual closure calendar, sick policy, daily-schedule overview, background-check summary, and references. Operator schedules an in-person tour and reference calls before any commitment.",
138
+ "on_failure": "Politely close. Note the specific reason for the operator's records (licensing concern, ratio mismatch, reference unwillingness, fee structure). If the gap was schedule-only, ask about waitlist options.",
139
+ "follow_ups": [
140
+ "Email the operator: provider name, type, license status (with state-board verification status), ratios, background-check summary, schedule fit, references with phone, red/green flags, recommended next step.",
141
+ "Operator independently verifies license and inspection record via state child-care licensing department.",
142
+ "Operator independently calls references — agent does not screen references on the operator's behalf.",
143
+ "Schedule in-person tour AFTER reference checks pass; reserve commitment for after the tour and contract review."
144
+ ]
145
+ },
146
+ "required_user_info": [
147
+ "Provider type (licensed centre / in-home daycare / nanny / agency) and provider's legal business name + license number",
148
+ "Child's age and schedule need (days, hours, start date)",
149
+ "Any special needs (allergies, medical conditions, IEP, developmental concerns) — disclose at the level needed for fit",
150
+ "Budget range and willingness to pay over for lower ratios / higher quality",
151
+ "Operator's state (and county if relevant) for licensing-board lookup",
152
+ "Existing care arrangement and reason for change (informs reference questions)",
153
+ "Operator's preferred communication channel and decision timeline"
154
+ ],
155
+ "contributed_by": "professional-intake agent (v0.9.87 community drop)",
156
+ "updated_at": "2026-05-20T06:11:50Z"
157
+ }
@@ -0,0 +1,127 @@
1
+ {
2
+ "id": "close-account-no-residual-fees",
3
+ "name": "Close a Bank or Credit-Card Account Without Residual Fees",
4
+ "version": "1.0.1",
5
+ "category": "finance-admin",
6
+ "tags": [
7
+ "account-closure",
8
+ "zombie-fees",
9
+ "credit-utilization",
10
+ "retention",
11
+ "phone-call",
12
+ "banking-finance"
13
+ ],
14
+ "description": "Call the bank to formally close a checking, savings, or credit-card account in a way that prevents zombie fees, residual interest, unintentional credit-score damage, and accidental reopening.",
15
+ "disclaimer": "Not financial or tax advice. Agent must NEVER share SSN unprompted, NEVER initiate wires above the operator's stated cap, NEVER agree to a hardship plan / settlement that affects credit without explicit ask_operator approval.",
16
+ "context": {
17
+ "when_to_use": "User wants an account permanently closed. Common reasons: switching banks, consolidating cards, dodging an annual fee, paying off + closing a card no longer needed. Different mechanics apply for deposit accounts vs credit accounts — credit closure can hit credit utilization and average-age-of-accounts. ALWAYS surface this trade-off before closing a credit card.",
18
+ "preconditions": [
19
+ "Operator has confirmed the closure decision. For credit cards: operator understands the potential credit-score impact (utilization spike + AAoA reduction).",
20
+ "All pending transactions have cleared (or user knows their status). Account balance is zero or paid in full.",
21
+ "Recurring ACH / autopay / direct deposit on this account has been re-routed elsewhere (or user has a plan).",
22
+ "User has the account number, last 4, and balance.",
23
+ "For credit cards: rewards balance redeemed (closing forfeits most rewards) and pending statements known."
24
+ ],
25
+ "estimated_call_duration_minutes": 20
26
+ },
27
+ "principles": [
28
+ "For credit cards: closing CAN drop the credit score via two channels — (1) higher overall utilization (less total credit available) and (2) lower average age of accounts when the closed card eventually falls off the report (10 years later for closed in good standing). If the user has multiple cards and/or a long history, impact is small. If this is one of two cards, impact can be significant.",
29
+ "Closure isn't always best. Consider a 'product change' or 'downgrade' (e.g., AmEx Gold → Green, Chase Sapphire Preferred → Freedom Flex) to dodge the annual fee while keeping the credit line and account age. ASK about this before closing.",
30
+ "Zombie fees are the #1 closure failure: a residual interest charge or maintenance fee posts AFTER closure, the account silently re-opens or goes to collections. Prevent by (a) confirming balance is exactly zero, (b) asking 'what's the final-statement protocol?', and (c) calling back 60 days later.",
31
+ "Get closure in writing. A phone closure without confirmation gets disputed later when the bank's system shows the account 'open'.",
32
+ "If the bank pivots to retention with offers, the user must have decided in advance whether ANY offer would change their mind. If not — politely decline and proceed.",
33
+ "Stop direct deposits / autopay BEFORE closing the source account, not after. Closed-account ACH attempts trigger NSF, returned-item fees, and merchant-side late fees."
34
+ ],
35
+ "phrases": {
36
+ "opener": "Hi, I'd like to close my [checking / savings / credit card] account ending in [last 4]. Before we close it, can you confirm any pending charges, residual interest, fees, or balance — and walk me through the protocol to ensure no residual posts after closure?",
37
+ "downgrade_alternative": "Before closing — is there a product change or downgrade available on this card that would let me keep the credit line and account age while dropping the annual fee?",
38
+ "credit_impact_question": "For my awareness — when this card closes, will it (a) close immediately on my credit report or remain visible for 10 years, (b) how is utilization recalculated, and (c) is there anything I should know about the impact on my score?",
39
+ "zero_balance_check": "Can you confirm the current balance is exactly $0.00 — no pending interest, no pending fees, no pending transactions — before we proceed with closure?",
40
+ "redirect_rewards": "I have [points / cash back / miles] balance. What's the policy on closure — do I lose them, can I redeem now, can they be transferred to another account?",
41
+ "decline_retention": "Thanks, but I've already decided — not changing course today. Can you go ahead and close it?",
42
+ "ach_handoff": "I want to confirm: any incoming ACH or direct deposit that lands AFTER closure — does the bank return it, hold it, or forward it? I want zero surprise reversals on my employer / payer side.",
43
+ "graceful_close": "Thanks. Can you confirm: account is closed effective today, balance is $0, no further charges or interest will post, the closure is reported correctly to credit bureaus (closed by consumer / in good standing), and I'll receive a written confirmation. Please give me a reference number and your name."
44
+ },
45
+ "tactics": [
46
+ {
47
+ "name": "Ask about product change before closing",
48
+ "when": "Credit-card closure, especially for premium / annual-fee cards.",
49
+ "script": "Use `downgrade_alternative`. Downgrading to a no-annual-fee version of the same card line preserves account age and credit line — best of both worlds.",
50
+ "priority": 1
51
+ },
52
+ {
53
+ "name": "Confirm zero balance",
54
+ "when": "Before authorizing closure.",
55
+ "script": "Use `zero_balance_check`. If a residual interest charge would post, ASK to pay it now and re-confirm $0. Zombie fees almost always start as 'I thought it was zero.'",
56
+ "priority": 2
57
+ },
58
+ {
59
+ "name": "Cash in rewards",
60
+ "when": "Credit-card closure.",
61
+ "script": "Use `redirect_rewards`. Closure typically forfeits cash-back and miles, unless they're already redeemed or transferred. Pause closure if a redemption is needed.",
62
+ "priority": 3
63
+ },
64
+ {
65
+ "name": "Decline retention crisply",
66
+ "when": "Rep pivots to retention offers.",
67
+ "script": "Use `decline_retention`. ONE polite decline is enough. Repeated decline turns becomes a long call without unlocking new offers if the user has truly decided."
68
+ },
69
+ {
70
+ "name": "Surface credit-bureau reporting",
71
+ "when": "Account is being closed.",
72
+ "script": "Use `credit_impact_question`. Confirm it'll be reported 'closed by consumer / in good standing' (or 'paid in full' for credit cards), not 'closed by issuer.'"
73
+ },
74
+ {
75
+ "name": "Handle ACH gracefully",
76
+ "when": "Deposit-account closure.",
77
+ "script": "Use `ach_handoff`. Set the expectation that any incoming ACH will be returned, then trigger employer/payer to switch BEFORE you close."
78
+ },
79
+ {
80
+ "name": "Confirmation writeback",
81
+ "when": "Closure agreed.",
82
+ "script": "Use `graceful_close`. Written confirmation via secure message, plus a reference number, is the user's defense against zombie fees and 'still open' errors."
83
+ }
84
+ ],
85
+ "boundaries": [
86
+ "Do NOT close a credit account with a non-zero balance without confirming the residual will be billed and paid promptly — open-account closures with balances roll over and accrue interest.",
87
+ "Do NOT close a deposit account without first redirecting payroll / autopay — closed-account ACH triggers a cascade of fees on the user's bills.",
88
+ "Do NOT cancel rewards-rich cards without redeeming the balance — most cash-back and miles forfeit at closure.",
89
+ "Do NOT accept retention offers without operator approval — keeping a card the user already decided to close is a new commitment.",
90
+ "Do NOT close the only credit card a user with thin credit history has — that can drop the score significantly.",
91
+ "Do NOT close without written confirmation."
92
+ ],
93
+ "success_signals": [
94
+ "Zero balance verified.",
95
+ "Product-change alternative considered (and chosen or declined intentionally).",
96
+ "Rewards redeemed or transferred.",
97
+ "Closure confirmed effective today.",
98
+ "Written confirmation promised via secure message.",
99
+ "Reference number issued."
100
+ ],
101
+ "failure_signals": [
102
+ "Residual interest / fees expected to post after closure — fix before closing.",
103
+ "Rep insists on a 30-day cooling period — that's a retention tactic; politely insist on immediate closure.",
104
+ "Account flagged with pending dispute, hold, or investigation — closure may be delayed; surface to operator.",
105
+ "Rep cannot guarantee correct credit-bureau reporting code."
106
+ ],
107
+ "exit_strategy": {
108
+ "on_success": "Confirm reference number, written-confirmation timing, expected credit-bureau reporting code. Calendar a 60-day check-back to verify no zombie fee posted.",
109
+ "on_failure": "If a residual is expected, pay it via the bank's online system, wait one cycle, re-call to close. If retention won't stop pitching, ask to escalate to account-services supervisor and politely insist.",
110
+ "follow_ups": [
111
+ "Day +7: confirm written confirmation arrived.",
112
+ "Day +30 and Day +60: verify account shows closed in online banking AND no new charges have posted.",
113
+ "Day +60: pull credit report to confirm 'closed by consumer / in good standing' is reflected.",
114
+ "For credit cards: keep the written confirmation for at least 2 years."
115
+ ]
116
+ },
117
+ "required_user_info": [
118
+ "Account or card last 4",
119
+ "Confirmed current balance and any pending items",
120
+ "ACH / autopay / direct-deposit list to reroute (for deposit accounts)",
121
+ "Rewards balance and redemption plan (for credit cards)",
122
+ "Operator pre-decision on retention offers (Yes accept / No decline)",
123
+ "Operator awareness of credit-score impact (for credit-card closures)"
124
+ ],
125
+ "contributed_by": "banking-finance agent (v0.9.87 community drop)",
126
+ "updated_at": "2026-05-20T06:09:47Z"
127
+ }
@@ -0,0 +1,116 @@
1
+ {
2
+ "id": "close-on-concrete-next-step",
3
+ "name": "Close Every Call on a Concrete Next Step",
4
+ "version": "1.0.0",
5
+ "category": "other",
6
+ "tags": [
7
+ "closing",
8
+ "next-step",
9
+ "phone-call",
10
+ "discipline",
11
+ "pipeline-hygiene",
12
+ "outreach-sales"
13
+ ],
14
+ "description": "Before ending any outbound call, secure exactly one specific, calendared, mutually-agreed next step — OR a clean disqualification. 'I'll follow up next week' is not a next step; it's a ghosting waiting to happen.",
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": "Last 2-3 minutes of any outbound call where substantive conversation occurred. Applies to discovery calls, follow-ups, referred intros, and re-engagements alike.",
18
+ "preconditions": [
19
+ "Agent has confirmed enough about the prospect's situation to know what a real next step would be.",
20
+ "Operator has authorised the menu of possible next steps the agent can offer.",
21
+ "Agent has real calendar availability — not vague openness — to propose.",
22
+ "Agent is willing to disqualify on the call instead of forcing a fake next step."
23
+ ],
24
+ "estimated_call_duration_minutes": 3
25
+ },
26
+ "principles": [
27
+ "A call without a concrete next step is a leak in the pipeline. 'I'll follow up' has a measurable conversion rate near zero.",
28
+ "The next step must be small enough to feel easy and specific enough to be calendared.",
29
+ "If you genuinely can't find a real next step, the answer is disqualification — not a stalling next step.",
30
+ "Mutual agreement matters: 'I'll send you a proposal' is not a next step; 'I'll send you a proposal by Thursday and we'll talk Friday at 2' is.",
31
+ "Confirm in writing within 60 minutes. The verbal next step is half the commitment; the calendar invite is the other half."
32
+ ],
33
+ "phrases": {
34
+ "ask_for_next_step": "Before we hang up — what feels like the right next thing? I'd like to leave with something specific on the calendar so neither of us has to chase the other.",
35
+ "propose_specific": "How about [specific deliverable] from me by [day], and then we hop on for [duration] on [day/time] to walk through it together?",
36
+ "compress_to_smallest_step": "Want to start smaller — a 15-minute call next week to see if it even makes sense to go further?",
37
+ "disqualify_cleanly": "Honestly, hearing all of that, I'm not sure we're the right next step for you right now. Want me to close this out cleanly, and if [trigger condition] changes, you'll know where to find me?",
38
+ "lock_it_down": "Great — let me read it back: I'll send [thing] by [day], you'll review by [day], we're talking [day/time]. Right? Calendar invite landing within the hour."
39
+ },
40
+ "tactics": [
41
+ {
42
+ "name": "Earn the close — don't ambush it",
43
+ "when": "After substantive conversation has happened.",
44
+ "script": "Use `ask_for_next_step`. Framing it as 'I want to leave with something specific' is mutual; jumping to 'so when can we meet?' is asymmetric.",
45
+ "priority": 1
46
+ },
47
+ {
48
+ "name": "Offer the next step rather than asking what they want",
49
+ "when": "Prospect engaged but didn't volunteer a next step first.",
50
+ "script": "Use `propose_specific`. Prospects who 'want to think about it' often need a structured option to react to. Propose, then let them shape it.",
51
+ "priority": 2
52
+ },
53
+ {
54
+ "name": "Shrink the step if there's hesitation",
55
+ "when": "Prospect hedges on the proposed next step.",
56
+ "script": "Use `compress_to_smallest_step`. A 15-minute call beats a 30-minute one when they're hesitant. Movement matters more than meeting length.",
57
+ "priority": 3
58
+ },
59
+ {
60
+ "name": "Disqualify out loud rather than fake a next step",
61
+ "when": "There's no honest next step available.",
62
+ "script": "Use `disqualify_cleanly`. A real disqualification is a stronger close than a fictional 'I'll follow up in a month' — both for the operator's pipeline hygiene AND the prospect's trust.",
63
+ "priority": 4
64
+ },
65
+ {
66
+ "name": "Read it back verbatim",
67
+ "when": "After agreement.",
68
+ "script": "Use `lock_it_down`. Prospects who hear the commitment read back are 2-3× more likely to honour it.",
69
+ "priority": 5
70
+ },
71
+ {
72
+ "name": "Send the calendar invite within 60 minutes",
73
+ "when": "Immediately after the call.",
74
+ "script": "Use the agent's calendar tool to send a real invite with a one-line agenda. Same-day confirmation is what converts a verbal yes into a held meeting."
75
+ }
76
+ ],
77
+ "boundaries": [
78
+ "Do NOT propose a time the operator does not actually have on the calendar.",
79
+ "Do NOT escalate the size of the next step ('let's meet for 90 minutes with our CEO') beyond what the conversation warrants.",
80
+ "Do NOT accept 'I'll get back to you' as a next step. Press once for specificity; if it doesn't land, disqualify cleanly.",
81
+ "Do NOT promise deliverables the operator hasn't approved (custom proposals, free pilots, exclusive demos).",
82
+ "Do NOT count an unconfirmed verbal next step as a closed step in the CRM — it's only real once the invite is accepted."
83
+ ],
84
+ "success_signals": [
85
+ "Prospect accepts the proposed time on the call.",
86
+ "Prospect counters with their own specific time.",
87
+ "Prospect names a colleague to include in the next step.",
88
+ "Calendar invite is accepted within the same business day.",
89
+ "Prospect responds to the recap email with confirmation."
90
+ ],
91
+ "failure_signals": [
92
+ "Prospect says 'let me get back to you on timing'.",
93
+ "Prospect agrees to a step but won't pick a specific day.",
94
+ "Calendar invite remains in 'tentative' or 'no response' state for 48+ hours.",
95
+ "Recap email goes unanswered for 5+ business days."
96
+ ],
97
+ "exit_strategy": {
98
+ "on_success": "Send the calendar invite within 60 minutes. Send a written recap with the prospect's own words quoted, the deliverable list, and the agreed time. Reconfirm 24 hours before the next step.",
99
+ "on_failure": "If a concrete next step couldn't be agreed AND there's a real underlying interest, send a written follow-up with two specific time options for a smaller step. If still no movement, follow the ghosted-lead re-engagement protocol — do not keep proposing next steps blind.",
100
+ "follow_ups": [
101
+ "Calendar invite + recap email within 60 minutes.",
102
+ "Reminder ping 24 hours before the next step (one line, not a re-pitch).",
103
+ "CRM update with verbatim agreement and the named next step.",
104
+ "If the next step is missed, ONE rescheduling attempt — beyond that, treat as ghosting."
105
+ ]
106
+ },
107
+ "required_user_info": [
108
+ "Operator's authorised menu of next-step options",
109
+ "Operator's real calendar windows for the next 2 weeks",
110
+ "Operator's standing policy on disqualifying vs. nurturing weak fits",
111
+ "What deliverables the agent may promise (and by when)",
112
+ "Whether the operator wants to review recap emails before they go out, or trusts the agent to send directly"
113
+ ],
114
+ "contributed_by": "sales-outbound agent (v0.9.87 community drop)",
115
+ "updated_at": "2026-05-20T06:09:47Z"
116
+ }