@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,121 @@
1
+ {
2
+ "id": "recording-claim-conversation-legally",
3
+ "name": "Record a Claim Conversation Legally (Two-Party-Consent States)",
4
+ "version": "1.0.0",
5
+ "category": "finance-admin",
6
+ "tags": [
7
+ "recording",
8
+ "consent",
9
+ "two-party",
10
+ "compliance",
11
+ "documentation",
12
+ "phone-call",
13
+ "insurance"
14
+ ],
15
+ "description": "Record an insurance call legally and usefully. Establish consent properly for two-party-consent jurisdictions, get the carrier's own recording disclosed in writing, and create a recording trail that's admissible later — without creating wiretap exposure for the user.",
16
+ "disclaimer": "Agent must NEVER admit fault, NEVER agree to a settlement on the operator's behalf, NEVER speculate about prior conditions, NEVER sign a release. All of those route through ask_operator. Recording law is state- and country-specific and changes — this skill provides framing, not legal advice; route legal questions through `ask_operator`.",
17
+ "context": {
18
+ "when_to_use": "The user wants to record a call with their insurance carrier for documentation — common before a critical adjuster call, recorded statement, denial discussion, or settlement-offer call. Use to establish proper consent BEFORE substantive content begins.",
19
+ "preconditions": [
20
+ "User knows whether the call will cross any two-party-consent state line — recording law generally follows the strictest applicable jurisdiction (caller, recipient, or where the call is physically received).",
21
+ "Recording mechanism is ready (call recorder app, hardware recorder, or platform native recording).",
22
+ "User understands that the carrier is almost certainly recording too, and is entitled to ask for that recording.",
23
+ "User has thought through whether they want the recording to be discoverable later (it may be subpoenaed or required in litigation)."
24
+ ],
25
+ "estimated_call_duration_minutes": 5
26
+ },
27
+ "principles": [
28
+ "Two-party-consent states (commonly cited: California, Connecticut, Delaware, Florida, Illinois, Maryland, Massachusetts, Michigan, Montana, Nevada, New Hampshire, Oregon, Pennsylvania, Washington — verify current statute) require all parties to consent before recording.",
29
+ "When in doubt, get explicit consent. The legal cost of asking is zero; the cost of not asking can be a wiretap-statute violation.",
30
+ "Consent should be ON THE RECORDING. 'May I record this call for my records?' followed by 'Yes' on tape is the simplest and strongest evidence.",
31
+ "Carrier-recorded statements are routinely used against policyholders later. The user is entitled to their own copy.",
32
+ "Don't make the recording a secret. Disclosed recordings are admissible; undisclosed recordings in two-party states are not — and may be criminal.",
33
+ "If the rep refuses to be recorded: respect that. Either (a) hang up and consider the carrier's posture, or (b) proceed without recording but take meticulous contemporaneous notes."
34
+ ],
35
+ "phrases": {
36
+ "consent_open": "Before we start — I'd like to record this call for my own records, and I assume you may be recording on your side as well. Do I have your consent to record?",
37
+ "ask_carrier_recording": "Are you recording this call on your side? And if so, can I request a copy of the recording afterwards through the claim file?",
38
+ "if_refused": "I understand. We'll proceed without recording on my side. Could you confirm for the record whether the carrier is recording, and that I can request a copy of any recorded statement I provide?",
39
+ "log_consent_clearly": "Just to make sure we both have it on the record: today is [date], the time is [time], we're discussing claim [number], you've identified yourself as [rep name + ID + carrier], and you've consented to recording. Thank you.",
40
+ "decline_recorded_statement_separately": "I'm happy to discuss the matter and have this call recorded by both sides for documentation. But I'm NOT consenting to a formal 'recorded statement' for use as a deposition substitute — those go through my [operator / attorney] first.",
41
+ "graceful_close": "Thanks. To confirm: this call was recorded with mutual consent, the carrier is also recording, I'll request a copy through the claim file, and the recording on my side will be saved as [filename / location]."
42
+ },
43
+ "tactics": [
44
+ {
45
+ "name": "Ask for consent BEFORE substantive content",
46
+ "when": "Right after the rep identifies themselves.",
47
+ "script": "Use the `consent_open` phrase. Get a clear 'yes' on the recording. If the rep says 'yes', you have consent on tape. If 'no', stop the recording immediately and decide whether to proceed.",
48
+ "priority": 1
49
+ },
50
+ {
51
+ "name": "Disclose mutual recording explicitly",
52
+ "when": "Right after consent is given.",
53
+ "script": "Use the `log_consent_clearly` phrase. State the date, time, claim number, rep identity, and consent on tape. This is the metadata that makes the recording usable later.",
54
+ "priority": 2
55
+ },
56
+ {
57
+ "name": "Ask for the carrier's recording too",
58
+ "when": "Mid-call or close.",
59
+ "script": "Use the `ask_carrier_recording` phrase. Most carriers record by default. The user has a right to know AND in most cases to receive a copy via the claim file.",
60
+ "priority": 3
61
+ },
62
+ {
63
+ "name": "Separate 'recording the call' from 'giving a recorded statement'",
64
+ "when": "Rep treats recording-the-call as equivalent to a recorded statement.",
65
+ "script": "Use the `decline_recorded_statement_separately` phrase. Documenting a normal service call ≠ a recorded statement intended as a deposition-equivalent. Confusing the two is a common rep tactic.",
66
+ "priority": 4
67
+ },
68
+ {
69
+ "name": "Respect a 'no' on consent",
70
+ "when": "Rep refuses to be recorded.",
71
+ "script": "Use the `if_refused` phrase. Stop your recording. Proceed with detailed real-time notes (date/time-stamped). Consider following up in writing to convert verbal commitments into a paper trail.",
72
+ "priority": 5
73
+ },
74
+ {
75
+ "name": "Save the recording with metadata",
76
+ "when": "After the call.",
77
+ "script": "File the recording with: date, time, parties, claim number, rep name + ID, consent timestamp. Bare audio is hard to authenticate later; recordings paired with metadata + contemporaneous notes are robust.",
78
+ "priority": 6
79
+ }
80
+ ],
81
+ "boundaries": [
82
+ "Do NOT record without consent in any jurisdiction where any party is in a two-party-consent state. The legal exposure (criminal in some states; civil in most) outweighs the documentation benefit.",
83
+ "Do NOT use a covert recording as evidence in a claim dispute — admissibility is questionable and can damage the user's credibility.",
84
+ "Do NOT alter or edit a recording. Save the raw file. Edited audio is inadmissible everywhere.",
85
+ "Do NOT share a recording externally (social media, public posts) without `ask_operator` — privacy torts and defamation exposure apply even when the content is true.",
86
+ "Do NOT confuse 'I'm recording this for my own records' with 'I'm giving you a recorded statement'. The first is documentation; the second is legal evidence.",
87
+ "Do NOT treat any of the above as legal advice. State laws vary and evolve. Route any uncertainty through `ask_operator` for legal-counsel referral."
88
+ ],
89
+ "success_signals": [
90
+ "Clear 'yes' on tape from the rep regarding recording consent.",
91
+ "Date, time, parties, and claim number captured on the recording.",
92
+ "Carrier's own recording confirmed and copy-request path documented.",
93
+ "Recorded-statement vs documentation-recording distinction acknowledged.",
94
+ "Recording saved with metadata after the call."
95
+ ],
96
+ "failure_signals": [
97
+ "Rep refuses consent.",
98
+ "Rep treats the consent question as hostile and escalates.",
99
+ "Rep agrees verbally but the recording captured no audible 'yes' (ambient noise, garbled audio).",
100
+ "Rep claims the user can't request a copy of the carrier's recording (often incorrect — push back via supervisor)."
101
+ ],
102
+ "exit_strategy": {
103
+ "on_success": "Save the recording with metadata. File a written recap of what was discussed (a contemporaneous summary boosts admissibility). If the carrier confirmed they are also recording, send a written request to the adjuster asking for a copy via the claim file.",
104
+ "on_failure": "If consent is refused, stop recording and switch to detailed real-time notes — timestamped, contemporaneous, written immediately during the call. Follow up in writing the same day to capture commitments. Route any escalation through `ask_operator`.",
105
+ "follow_ups": [
106
+ "Save the recording in a backed-up location.",
107
+ "Write a one-page summary of the call within 1 hour while memory is fresh.",
108
+ "Request the carrier's recording in writing via the claim file.",
109
+ "If the call substance is significant, route through `ask_operator` for attorney review before relying on the recording."
110
+ ]
111
+ },
112
+ "required_user_info": [
113
+ "User's state and the carrier's call-center state (drives which consent regime applies)",
114
+ "Recording mechanism (app, hardware, platform)",
115
+ "Claim number and rep name/ID once on the call",
116
+ "Operator's preference on whether to proceed without recording if consent is refused",
117
+ "Whether the user has an attorney engaged on the underlying claim"
118
+ ],
119
+ "contributed_by": "insurance-claims agent (v0.9.87 community drop)",
120
+ "updated_at": "2026-05-20T06:09:47Z"
121
+ }
@@ -0,0 +1,121 @@
1
+ {
2
+ "id": "recover-summary-refusal",
3
+ "name": "Recover When the Rep Refuses to Summarise",
4
+ "version": "1.0.1",
5
+ "category": "other",
6
+ "tags": [
7
+ "closing",
8
+ "red-flag",
9
+ "escalation",
10
+ "recording",
11
+ "phone-call",
12
+ "closing-commitment"
13
+ ],
14
+ "description": "When you ask a rep to summarise the agreement and they decline, deflect, or visibly evade — that is the loudest red flag in the closing phase. They're avoiding the recorded statement. This skill teaches the agent how to recognise the dodge, name it without escalating to combat, and either recover the close or stop the call cleanly.",
15
+ "disclaimer": null,
16
+ "context": {
17
+ "when_to_use": "After a verbal readback or summary request returns deflection: 'you already have everything', 'I can't go through it all again', 'just check your email', 'the system has it', or simply 'no'. Use BEFORE accepting the close — never after.",
18
+ "preconditions": [
19
+ "You've made at least one good-faith request for the rep to confirm or summarise the agreement.",
20
+ "The rep has audibly declined or deflected.",
21
+ "You are still on the line and have authority to escalate."
22
+ ],
23
+ "estimated_call_duration_minutes": 5
24
+ },
25
+ "principles": [
26
+ "Refusal to summarise on a recorded line is almost always intentional. Reps are trained to avoid making explicit commitments their employer might not honour. Treat it as policy, not personality.",
27
+ "Stay calm and warm. Naming the dodge accusatorially destroys cooperation; naming it with curiosity preserves it.",
28
+ "Do NOT keep escalating the same person who's already declined. Hand off — supervisor, complaint team, written channel.",
29
+ "The refusal itself is a documentable artifact. Get the rep to state ON THE LINE why they cannot summarise. That clip is more valuable than a fuzzy summary.",
30
+ "If escalation also refuses, do not close. The cost of holding open is small; the cost of closing on a refused summary is potentially the entire agreement."
31
+ ],
32
+ "phrases": {
33
+ "first_recovery": "Got it — and I trust it's in the system — but I'd just like to hear the specifics once more out loud, the same way I'd want to confirm an address or phone number. Could we run through them?",
34
+ "name_the_dodge_softly": "I want to be transparent — I usually ask for a verbal summary because it protects both sides if the system note doesn't quite match what we agreed. Is there a reason that's not possible today?",
35
+ "isolate_the_objection": "When you say you can't summarise — is that a policy, a system limitation, or just that we've been on a while? Each has a different path I can take.",
36
+ "policy_documentation": "If it's policy, could you tell me the policy name or where it's published? I'd like to document that this call ended with a policy-based refusal to summarise — that's worth noting on my side regardless of how the agreement processes.",
37
+ "supervisor_pivot": "Totally understand. In that case — would you mind looping in a supervisor or team lead? Not because of anything you've done, but I'd feel more comfortable closing the call with someone who can do the summary.",
38
+ "written_pivot": "If you can't summarise verbally, can the same content go in an email or a portal note before we hang up? I'm fine waiting on the line for that.",
39
+ "stop_the_close": "I don't want to close out on this call without a summary in some form. I'd rather pause and pick this up with someone who can — could you transfer me, or should I call back referencing case [N]?",
40
+ "graceful_close_success": "Thank you for working through the summary with me. I know it adds a few minutes — it just helps me make sure nothing falls through.",
41
+ "graceful_close_failure": "I'm going to stop here without closing — I don't have what I need to feel confident the agreement is captured correctly. I'll follow up via [written channel / escalation path]. Thank you for your time today."
42
+ },
43
+ "tactics": [
44
+ {
45
+ "name": "First recovery — assume good faith",
46
+ "when": "Initial polite ask returned a deflection.",
47
+ "script": "Use the `first_recovery` phrase. Many reps deflect reflexively; a second, gentler ask often gets a normal summary. Reserve harder tactics for when this fails.",
48
+ "priority": 1
49
+ },
50
+ {
51
+ "name": "Name the dodge — softly",
52
+ "when": "Second deflection.",
53
+ "script": "Use the `name_the_dodge_softly` phrase. Surfacing the pattern without accusation gives the rep room to comply OR to reveal what's behind the refusal.",
54
+ "priority": 2
55
+ },
56
+ {
57
+ "name": "Isolate the type of refusal",
58
+ "when": "Rep continues to refuse.",
59
+ "script": "Use the `isolate_the_objection` phrase. Policy vs system vs fatigue have different recovery paths — don't run the wrong play.",
60
+ "priority": 3
61
+ },
62
+ {
63
+ "name": "Document a policy refusal on the line",
64
+ "when": "Rep cites policy as the reason.",
65
+ "script": "Use the `policy_documentation` phrase. The refusal-to-summarise statement becomes the artifact. A policy that bars summary on a recorded line is itself notable.",
66
+ "priority": 4
67
+ },
68
+ {
69
+ "name": "Pivot to written channel",
70
+ "when": "Rep can't or won't verbally summarise but might write.",
71
+ "script": "Use the `written_pivot` phrase. A written summary delivered during the call is acceptable. Wait on the line for it.",
72
+ "priority": 5
73
+ },
74
+ {
75
+ "name": "Escalate to supervisor",
76
+ "when": "Verbal AND written summary both refused.",
77
+ "script": "Use the `supervisor_pivot` phrase. Frame as 'help me close this', not 'I want to complain about you'. Hand off with goodwill if possible.",
78
+ "priority": 6
79
+ },
80
+ {
81
+ "name": "Stop the close",
82
+ "when": "Supervisor also unavailable or also refusing.",
83
+ "script": "Use the `stop_the_close` phrase, then `graceful_close_failure`. Closing a call without a summary is operationally equivalent to closing without an agreement. Better to pause than to lock in fog.",
84
+ "priority": 7
85
+ }
86
+ ],
87
+ "boundaries": [
88
+ "Do NOT become combative. The rep is following a script; making them defensive shuts down all paths forward.",
89
+ "Do NOT lie about recording status to pressure the rep. If the rep believes the call isn't recorded and you claim it is, you've destroyed your credibility.",
90
+ "Do NOT accept 'the email will have it' UNLESS the email arrives before you hang up and you've checked it.",
91
+ "Do NOT close the call out of social pressure to end politely. Politeness is preserved by graceful_close_failure — the cost of fake politeness is the entire agreement."
92
+ ],
93
+ "success_signals": [
94
+ "Rep relents on second or third ask and provides a summary.",
95
+ "Rep pivots cleanly to a written confirmation sent during the call.",
96
+ "Supervisor takes over and runs the summary willingly.",
97
+ "Rep documents the reason for refusal on the line — even if they still won't summarise."
98
+ ],
99
+ "failure_signals": [
100
+ "Rep escalates emotionally rather than providing the summary.",
101
+ "Supervisor also refuses, citing the same policy.",
102
+ "Rep tries to end the call quickly without addressing the request.",
103
+ "Rep says 'this call may not be recorded' as an excuse — note this, as it contradicts most company practices."
104
+ ],
105
+ "exit_strategy": {
106
+ "on_success": "Log that the recovery worked and which tactic unlocked it. Continue with `lock-in-terms-verbally` and `request-written-confirmation` as if the close had proceeded normally.",
107
+ "on_failure": "Do NOT close. Log the refusal verbatim (rep name, ID, time, exact words). Open a formal complaint or escalation case. Treat the prior agreement as unconfirmed — you may still receive the benefit, but plan as if you might not.",
108
+ "follow_ups": [
109
+ "File a complaint or feedback form with the company citing the refusal-to-summarise.",
110
+ "If the agreement was meant to be applied (e.g. a credit), monitor closely at the expected effective date — if it doesn't appear, you have a documented gap to call back on.",
111
+ "Consider switching providers if the company structurally refuses to confirm agreements verbally — it's a tell about how disputes will be handled."
112
+ ]
113
+ },
114
+ "required_user_info": [
115
+ "User authority to stop the close and reschedule via a different channel",
116
+ "User patience for an escalation to supervisor (5-15 extra minutes likely)",
117
+ "Whether the user has a formal complaint channel they prefer (e.g. CFPB, state AG, BBB) for downstream follow-up"
118
+ ],
119
+ "contributed_by": "closing-commitment agent (v0.9.87 community drop)",
120
+ "updated_at": "2026-05-20T06:09:47Z"
121
+ }
@@ -0,0 +1,115 @@
1
+ {
2
+ "id": "reengage-ghosted-lead",
3
+ "name": "Re-engage a Lead Who Ghosted After First Contact",
4
+ "version": "1.0.1",
5
+ "category": "other",
6
+ "tags": [
7
+ "follow-up",
8
+ "ghosted",
9
+ "pipeline-rescue",
10
+ "phone-call",
11
+ "respect",
12
+ "outreach-sales"
13
+ ],
14
+ "description": "Call back a prospect who showed real interest in a first conversation and then stopped responding. The goal is to surface a clean answer — yes, no, or 'not now and here's why' — without nagging.",
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": "Prospect had a real first conversation, agreed to a next step (or implied one), and has not responded to 2+ subsequent emails or calls over 2-3 weeks. The operator wants closure — not necessarily a deal.",
18
+ "preconditions": [
19
+ "Agent has the prospect's prior commitment in writing (exact wording).",
20
+ "At least one written follow-up has gone unanswered.",
21
+ "Enough time has passed that this isn't 'they're just busy this week'.",
22
+ "Operator has explicitly authorised one more phone attempt."
23
+ ],
24
+ "estimated_call_duration_minutes": 4
25
+ },
26
+ "principles": [
27
+ "Ghosting is almost always about THEM, not you. Internal priorities shifted, a champion left, budget moved. Don't take it personally and don't write angry.",
28
+ "The goal is a clean signal, not a save. A clear 'no' is a better outcome than another month of false hope.",
29
+ "Make it easy to say no. Permission to say no is the move that most reliably gets a yes from people who actually want to engage.",
30
+ "Reference the prior conversation specifically — vague follow-ups read as templates.",
31
+ "One call, one voicemail, one written follow-up. Then stop and shelf the lead. That cadence reads as professional; anything more reads as desperate."
32
+ ],
33
+ "phrases": {
34
+ "live_opener": "Hey [first name], it's [agent name] from [operator]'s side. I know we'd talked about [specific thing] back in [month] and then I went quiet on my end too — wanted to find out if [the thing] is still on your radar or if priorities shifted.",
35
+ "permission_to_say_no": "And honestly, the answer 'it's not happening' is totally fine — I'd rather know than keep sending you emails into the void.",
36
+ "voicemail_version": "Hey [first name], [agent name] following up on the [specific thing] we discussed in [month]. No pressure either way — really just want a clean answer on whether to keep this on the radar or close it out. My number is [number]. Reply by email or call back, either's fine. Talk soon.",
37
+ "soft_diagnostic": "Was it the [specific thing] that became a problem, or did something change on your side that I should know about?",
38
+ "graceful_close_yes": "Great — let me put one specific thing on the calendar so it doesn't drift again. [Specific time]?",
39
+ "graceful_close_no": "Totally fair. Appreciate you saying so straight. I'll close this out on my side. If anything changes in [reasonable window], my number is the same."
40
+ },
41
+ "tactics": [
42
+ {
43
+ "name": "Reference the exact prior commitment",
44
+ "when": "Opening sentence.",
45
+ "script": "Use `live_opener`. Quote what they said or what was agreed. Specificity says 'this is YOUR follow-up, not a templated one'.",
46
+ "priority": 1
47
+ },
48
+ {
49
+ "name": "Take partial blame, even if it's not yours",
50
+ "when": "Right after the opener.",
51
+ "script": "Phrases like 'I went quiet on my end too' or 'I should have followed up sooner' remove the shame from the prospect's side. People respond when they don't have to apologise.",
52
+ "priority": 2
53
+ },
54
+ {
55
+ "name": "Explicitly grant permission to say no",
56
+ "when": "Within the first 30 seconds.",
57
+ "script": "Use `permission_to_say_no`. This is THE move on a re-engagement call. It dramatically increases honest responses, including 'yes, let's keep going'.",
58
+ "priority": 3
59
+ },
60
+ {
61
+ "name": "Ask one diagnostic question — gently",
62
+ "when": "If they engage but seem uncertain.",
63
+ "script": "Use `soft_diagnostic`. If you learn 'champion left' or 'budget moved to Q3', that's gold for the operator's CRM regardless of this deal.",
64
+ "priority": 4
65
+ },
66
+ {
67
+ "name": "Close one way or the other on this call",
68
+ "when": "Conversation has wound down.",
69
+ "script": "Use either `graceful_close_yes` or `graceful_close_no`. Do not end on 'I'll send you something next week' — that's how you got here.",
70
+ "priority": 5
71
+ },
72
+ {
73
+ "name": "One-and-done cadence",
74
+ "when": "After this call, regardless of result.",
75
+ "script": "If they engage: one written follow-up with the specific next step. If they don't pick up: one voicemail using `voicemail_version`, then one written follow-up 3-5 business days later, then stop."
76
+ }
77
+ ],
78
+ "boundaries": [
79
+ "Do NOT guilt-trip ('I haven't heard from you in a while', 'just wanted to bump this for the third time').",
80
+ "Do NOT use fake urgency ('this offer expires', 'last chance').",
81
+ "Do NOT loop in their boss or escalate up the org without operator authorisation.",
82
+ "Do NOT pretend you happened to be calling about something else.",
83
+ "Do NOT exceed three total touches across all channels in the re-engagement cycle.",
84
+ "Do NOT re-attempt sooner than 90 days after a clean 'no' or after the close-out window expires."
85
+ ],
86
+ "success_signals": [
87
+ "Prospect picks up and gives a clear answer (yes or no).",
88
+ "Prospect explains what changed — even if the answer is no.",
89
+ "Prospect proposes a future window ('let me come back to you in Q3').",
90
+ "Prospect re-engages around a different problem the operator can help with."
91
+ ],
92
+ "failure_signals": [
93
+ "No pickup, no voicemail returned, no email response within 7 business days.",
94
+ "Prospect responds with 'sorry, I'll get back to you' and disappears again.",
95
+ "Prospect routes to a generic inbox / different person — the original champion is gone."
96
+ ],
97
+ "exit_strategy": {
98
+ "on_success": "If yes: schedule one concrete next step before ending the call, and send the invite within the hour. If no: thank them, close the loop, and update CRM with the reason.",
99
+ "on_failure": "After voicemail + written follow-up with no response, mark the lead as 'shelved — no further outreach for 90 days' and notify the operator.",
100
+ "follow_ups": [
101
+ "Update CRM with outcome and exact prospect quote about why (or 'no response after 3 touches').",
102
+ "If a future-window date was named, calendar a re-engagement attempt for that window.",
103
+ "If a champion-departure was discovered, route to research-the-replacement before any further outreach."
104
+ ]
105
+ },
106
+ "required_user_info": [
107
+ "Exact wording of the prospect's last commitment or last message",
108
+ "Dates and channels of all prior follow-up attempts",
109
+ "Operator's explicit authorisation for this re-engagement attempt",
110
+ "The 'shelved' policy: how long before another attempt is allowed",
111
+ "Whether the operator wants a postmortem on lost leads regardless of outcome"
112
+ ],
113
+ "contributed_by": "sales-outbound agent (v0.9.87 community drop)",
114
+ "updated_at": "2026-05-20T06:09:47Z"
115
+ }
@@ -0,0 +1,116 @@
1
+ {
2
+ "id": "referral-followup-without-burning",
3
+ "name": "Follow Up on a Referral Without Burning the Referrer",
4
+ "version": "1.0.1",
5
+ "category": "other",
6
+ "tags": [
7
+ "referral",
8
+ "warm-intro",
9
+ "relationships",
10
+ "phone-call",
11
+ "trust",
12
+ "outreach-sales"
13
+ ],
14
+ "description": "Call a prospect who was introduced via a mutual contact, using the referrer's name responsibly so the lead converts AND the referrer's relationship with both parties is preserved or strengthened.",
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": "Operator has been introduced to a prospect by a mutual contact — either via a double-opt-in email intro, a verbal 'you should talk to them', or a public mention. Agent is making the follow-up call.",
18
+ "preconditions": [
19
+ "The referrer has explicitly given permission to be named, OR has made a public introduction (e.g. CC'd intro email).",
20
+ "The operator has briefed the agent on the referrer relationship (close friend? Casual acquaintance? Past colleague?).",
21
+ "The agent knows what the referrer told the prospect about the operator.",
22
+ "The agent has a clear, short reason for the call that matches what the referrer set up."
23
+ ],
24
+ "estimated_call_duration_minutes": 8
25
+ },
26
+ "principles": [
27
+ "The referrer's reputation is collateral on this call. Behave accordingly.",
28
+ "Match the warmth of the introduction. A casual 'you two should talk' is NOT the same as a written endorsement — don't oversell the closeness.",
29
+ "Land the conversation with low pressure. Aggressive selling on a referred call damages the referrer more than a cold call ever could.",
30
+ "Update the referrer afterwards — briefly. Silence after they did you a favour is the fastest way to lose future referrals.",
31
+ "If the call uncovers that the prospect isn't a fit, say so. Forcing it makes the referrer regret introducing you."
32
+ ],
33
+ "phrases": {
34
+ "opener_email_intro": "Hi [target first name], it's [agent name] from [operator]'s side — following up on the intro [referrer first name] sent across last week.",
35
+ "opener_verbal": "Hi [target first name], this is [agent name] on behalf of [operator]. [Referrer name] mentioned we should connect — they thought we might be useful to each other on [topic].",
36
+ "calibrate_warmth": "Just so I'm not assuming — how do you know [referrer]? I want to make sure I'm bringing the right context.",
37
+ "low_pressure_ask": "[Referrer] suggested a quick conversation rather than email. I'm not here to pitch you — I'd love 10 minutes to understand what you're working on and then we can decide together if there's anything worth doing next.",
38
+ "redirect_if_misfit": "Honestly, from what you're describing, I'm not sure we're the most useful — but I'd like to be straight about that rather than waste your time. Want me to tell [referrer] we talked and it wasn't quite the right shape?",
39
+ "graceful_close": "This was useful — thanks for the time. I'll send [referrer] a quick thanks and let them know we connected. I'll follow up with you on [specific next step] by [day]."
40
+ },
41
+ "tactics": [
42
+ {
43
+ "name": "Lead with the referrer's name, not the operator's company",
44
+ "when": "First sentence.",
45
+ "script": "Use `opener_email_intro` or `opener_verbal`. The referrer's name is the credential — front-load it.",
46
+ "priority": 1
47
+ },
48
+ {
49
+ "name": "Calibrate the relationship the referrer has with the target",
50
+ "when": "Within the first 90 seconds.",
51
+ "script": "Use `calibrate_warmth`. A 'we worked together 10 years ago' is different from 'best friends' — your tone and the depth of the ask should follow that signal.",
52
+ "priority": 2
53
+ },
54
+ {
55
+ "name": "Explicitly de-pressurise",
56
+ "when": "After introductions, before any substance.",
57
+ "script": "Use `low_pressure_ask`. State out loud that this is not a pitch. Referred calls that turn into pitches get reported back to the referrer fast.",
58
+ "priority": 3
59
+ },
60
+ {
61
+ "name": "Reflect the referrer's language",
62
+ "when": "Whenever discussing why this call is happening.",
63
+ "script": "If you have the referrer's exact phrasing ('they're working on something similar to what you did at X'), reuse it. The target will recognise it and relax.",
64
+ "priority": 4
65
+ },
66
+ {
67
+ "name": "Volunteer disqualification before pushing",
68
+ "when": "First sign that the fit isn't right.",
69
+ "script": "Use `redirect_if_misfit`. Walking away protects the referrer's standing and often leads to a counter-referral from the target.",
70
+ "priority": 5
71
+ },
72
+ {
73
+ "name": "Close the loop with the referrer within 24 hours",
74
+ "when": "After the call ends, regardless of outcome.",
75
+ "script": "Send a 3-line note to the referrer: thank, outcome (next step / not a fit), what you learned. Do this even — especially — when the fit was wrong."
76
+ }
77
+ ],
78
+ "boundaries": [
79
+ "Do NOT exaggerate the closeness of the referrer relationship beyond what is true.",
80
+ "Do NOT name the referrer in voicemails, on hold music, or to assistants without permission to do so.",
81
+ "Do NOT use a referral as cover for a hard sell — the prospect will tell the referrer, and you've lost two people.",
82
+ "Do NOT promise the prospect things the referrer mentioned the operator could do unless the operator has confirmed.",
83
+ "Do NOT share any confidential context the referrer gave you about the prospect.",
84
+ "Do NOT contact the prospect more than once via phone if they don't respond — the referrer's name does not unlock additional attempts."
85
+ ],
86
+ "success_signals": [
87
+ "Prospect references the referrer warmly ('oh yeah, [referrer] told me about you').",
88
+ "Prospect engages substantively on the topic the intro framed.",
89
+ "A concrete next step is agreed on the call.",
90
+ "Prospect asks for a way to reciprocate or makes their own offer."
91
+ ],
92
+ "failure_signals": [
93
+ "Prospect doesn't remember the referrer or seems unclear why the call is happening.",
94
+ "Prospect was 'just being polite' to the referrer and isn't actually interested.",
95
+ "Prospect mentions a misalignment that the referrer should have known about.",
96
+ "Prospect declines a next step without a specific reason."
97
+ ],
98
+ "exit_strategy": {
99
+ "on_success": "Confirm the agreed next step, send the recap email, and CC the referrer ONLY if the referrer asked to stay looped in (otherwise send a separate thank-you).",
100
+ "on_failure": "Close the call warmly. Send the referrer a short, honest note. Do not retry the prospect by phone without re-engaging the referrer first.",
101
+ "follow_ups": [
102
+ "Email to the referrer within 24 hours: 'Thanks again, here's what happened.'",
103
+ "Calendar entry for any agreed next-step date with the prospect.",
104
+ "CRM note tagging this as a referral, with the referrer's name and the closeness rating."
105
+ ]
106
+ },
107
+ "required_user_info": [
108
+ "Referrer's name, relationship to the operator, and explicit permission to use their name",
109
+ "How the introduction happened (email / verbal / public mention)",
110
+ "What the referrer told the prospect about the operator",
111
+ "Operator's preferred next-step menu",
112
+ "Whether the referrer wants to be CC'd on follow-ups"
113
+ ],
114
+ "contributed_by": "sales-outbound agent (v0.9.87 community drop)",
115
+ "updated_at": "2026-05-20T06:09:47Z"
116
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "id": "referral-prior-authorization",
3
+ "name": "Request a Referral or Prior Authorization from PCP for a Specialist",
4
+ "version": "1.0.0",
5
+ "category": "medical-admin",
6
+ "tags": [
7
+ "referral",
8
+ "prior-authorization",
9
+ "specialist",
10
+ "pcp",
11
+ "phone-call",
12
+ "insurance",
13
+ "healthcare"
14
+ ],
15
+ "description": "Call the operator's PCP office to initiate, expedite, or confirm a referral and/or prior authorization for specialist care, imaging, procedures, or medications. Includes tracking the request through insurance.",
16
+ "disclaimer": "Not medical advice. Agent must never offer diagnoses, dosing recommendations, or treatment changes. Surface those decisions to the operator via ask_operator.",
17
+ "context": {
18
+ "when_to_use": "Operator needs to see a specialist, get imaging, or have a procedure that the insurance plan requires PCP referral and/or prior authorization (PA) for. Common: HMO plans, Medicaid managed care, most non-PPO commercial plans. Also use when a PA has been submitted but stalled.",
19
+ "preconditions": [
20
+ "Operator's name, DOB (read-only), insurance plan, member ID (read-only).",
21
+ "PCP name and clinic.",
22
+ "The specific specialist / procedure / imaging / medication being requested AND the clinical reason in plain language (from operator, NOT invented).",
23
+ "Whether a previous referral or PA has already been submitted (date, reference number if known).",
24
+ "Whether the operator has tried to schedule the specialist already and been told the referral is missing.",
25
+ "Operator's clinical urgency: routine, semi-urgent, urgent."
26
+ ],
27
+ "estimated_call_duration_minutes": 15
28
+ },
29
+ "principles": [
30
+ "Referrals and prior authorizations are TWO DIFFERENT THINGS. Referrals are PCP→specialist documentation; PAs are submitted to INSURANCE for approval. Confirm which one the situation actually needs — often both.",
31
+ "PA requests sit in fax queues. The unblocking move is rarely 'wait', it's 'who has it right now and what is the reference number'.",
32
+ "Always get a tracking number, reference number, or fax-sent confirmation. 'It's been sent' with no number is the most common lie in healthcare admin (often unintentionally — staff genuinely don't know).",
33
+ "If the rep contradicts what the specialist's office said (e.g. PCP says 'we sent it'; specialist says 'never received'), do NOT pick a side — get both sides on a 3-way line or get a specific reference number you can give the specialist to look up.",
34
+ "Insurance PA denial appeals have short windows (often 30-60 days). If a denial just happened, the clock is already running."
35
+ ],
36
+ "phrases": {
37
+ "opener": "Hi, I'm calling on behalf of [Operator], patient of Dr. [PCP]. We need a referral / prior authorization for [specialist or procedure] because [plain-language reason from operator]. Can you tell me whether one has been started, and if not, can we get it initiated today?",
38
+ "differentiate_referral_pa": "Just to make sure we're aligned: are we talking about a referral letter from Dr. [PCP] to the specialist, a prior authorization submitted to [Insurance Plan], or both? Some plans need both.",
39
+ "ask_for_reference_number": "Could I get the reference, authorization, or fax confirmation number — whichever applies — so the specialist's office can look it up on their end?",
40
+ "ask_about_urgency_marker": "Is there a way to mark this as semi-urgent / urgent in your system, given [reason]? I want to make sure it doesn't sit in a routine queue.",
41
+ "verify_recipient": "Which fax number / portal did it go to? The specialist's office told me to confirm it was sent to [number] — can you check that's where yours went?",
42
+ "denial_appeal_check": "If the insurance has already denied this, what's the appeal process and the deadline? Can Dr. [PCP] add a peer-to-peer review or letter of medical necessity?",
43
+ "stall_research": "One moment — let me make sure I have the right specialist's contact info for you.",
44
+ "verify_readback": "So: referral initiated to [Specialist], faxed to [number] on [date], reference [number]. PA status: [submitted / pending / approved / denied]. Next step on our side: [action]. Did I get that right?",
45
+ "graceful_close": "Thank you. Could you note in the chart that we called to follow up so it shows the request is active?"
46
+ },
47
+ "tactics": [
48
+ {
49
+ "name": "Distinguish referral vs. PA up front",
50
+ "when": "First substantive turn.",
51
+ "script": "Use `differentiate_referral_pa`. Many calls go in circles because patient, PCP office, and specialist are each talking about a different document. Pin down which one(s) the situation needs.",
52
+ "priority": 1
53
+ },
54
+ {
55
+ "name": "Get a tracking artifact, not a verbal 'we sent it'",
56
+ "when": "Rep says it has been sent.",
57
+ "script": "Use `ask_for_reference_number`. If the rep can't produce one, ask them to send (or re-send) NOW with confirmation while you're on the line. 'Sent' with no proof is functionally 'not sent' for the specialist's intake desk.",
58
+ "priority": 2
59
+ },
60
+ {
61
+ "name": "Verify the recipient matches what the specialist expects",
62
+ "when": "Tracking number is provided.",
63
+ "script": "Use `verify_recipient`. PCP and specialist often have multiple fax lines / portals. Misrouting is the #1 cause of 'we never got it' weeks later.",
64
+ "priority": 3
65
+ },
66
+ {
67
+ "name": "Mark for urgency if clinically appropriate",
68
+ "when": "Operator's clinical situation is time-sensitive.",
69
+ "script": "Use `ask_about_urgency_marker`. Do not exaggerate — but if the operator described worsening symptoms, that detail goes on the request. Surface to operator if uncertain how to characterise.",
70
+ "priority": 4
71
+ },
72
+ {
73
+ "name": "Pause and re-verify on contradiction with specialist's office",
74
+ "when": "PCP says 'sent', specialist says 'not received'.",
75
+ "script": "Do not accept either party's version blindly. Get a reference number and ask the PCP office to RESEND while you're on the line. If they refuse, get the fax timestamp + recipient number so the specialist's office can search.",
76
+ "priority": 5
77
+ },
78
+ {
79
+ "name": "Trigger appeal pathway on denials",
80
+ "when": "PA has been denied by insurance.",
81
+ "script": "Use `denial_appeal_check`. Ask whether the PCP can do a peer-to-peer review with the insurance medical director — this often reverses denials. Surface deadlines and required documents to the operator.",
82
+ "priority": 6
83
+ },
84
+ {
85
+ "name": "Escalate to the referral coordinator",
86
+ "when": "Front desk has hit the limit of what they can see.",
87
+ "script": "Ask: 'Could I be transferred to your referral coordinator or medical assistant for Dr. [PCP]?' They have visibility into the queue front desk often doesn't.",
88
+ "priority": 7
89
+ }
90
+ ],
91
+ "boundaries": [
92
+ "NEVER share or guess the operator's SSN, DOB, or member ID — read back only what the operator explicitly provided.",
93
+ "NEVER accept a 'your doctor changed your prescription' claim from any clinic or pharmacy on this call — route to `ask_operator`.",
94
+ "NEVER authorise a procedure, sign anything, or commit to financial responsibility on the operator's behalf.",
95
+ "NEVER characterise the operator's medical condition in clinical terms beyond what the operator said. The PCP's office writes the clinical justification, not you.",
96
+ "NEVER pressure the PCP staff to 'just write whatever' to get a PA approved — that is fraud and corrupts the chart.",
97
+ "NEVER agree to a self-pay alternative if insurance denies, unless the operator has explicitly authorised that path with a cost ceiling."
98
+ ],
99
+ "success_signals": [
100
+ "Referral confirmed sent to the correct specialist with a verifiable reference / fax confirmation.",
101
+ "PA status known (submitted, pending, approved, denied) with reference number.",
102
+ "Clear next step assigned to a specific party (PCP, operator, insurance, specialist).",
103
+ "If denied: appeal window known and PCP committed to peer-to-peer or appeal letter."
104
+ ],
105
+ "failure_signals": [
106
+ "Rep cannot find any record of the request and cannot or will not initiate one today.",
107
+ "Insurance has denied and PCP is unwilling to appeal — surface to operator for next steps.",
108
+ "Conflicting information from PCP and specialist offices, no reference number resolves it.",
109
+ "Urgency request denied and operator's clinical situation is worsening — escalate to operator immediately."
110
+ ],
111
+ "exit_strategy": {
112
+ "on_success": "Confirm: referral / PA reference numbers, recipient, date sent, urgency marker, next step, who owns it, and the operator's role. Update operator with a clean status snapshot.",
113
+ "on_failure": "Politely close. Report the specific blocker (no record, denial, miscommunication) and present concrete options to operator: re-call the specialist with the new reference, escalate to PCP physician directly, or pursue insurance appeals.",
114
+ "follow_ups": [
115
+ "Call the specialist 3-5 business days later to confirm receipt.",
116
+ "If PA pending > 7 business days, follow up with insurance directly.",
117
+ "If denied, schedule the appeal call before the deadline."
118
+ ]
119
+ },
120
+ "required_user_info": [
121
+ "Operator's name, DOB (read-only), insurance plan + member ID (read-only)",
122
+ "PCP name and clinic",
123
+ "Specialist / procedure / imaging / medication being requested",
124
+ "Plain-language clinical reason from operator",
125
+ "Prior request history (date, reference if known)",
126
+ "Clinical urgency from operator's perspective"
127
+ ],
128
+ "contributed_by": "healthcare-navigator agent (v0.9.87 community drop)",
129
+ "updated_at": "2026-05-20T06:09:47Z"
130
+ }