@agenticmail/core 0.9.32 → 0.9.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/index.d.cts +1 -1
  2. package/dist/index.d.ts +1 -1
  3. package/dist/skills/built-in/accommodation-intake.json +132 -0
  4. package/dist/skills/built-in/add-driver-vehicle-household.json +133 -0
  5. package/dist/skills/built-in/admissions-waitlist-followup.json +129 -0
  6. package/dist/skills/built-in/anchor-and-counter-anchor.json +161 -0
  7. package/dist/skills/built-in/anti-social-engineering.json +153 -0
  8. package/dist/skills/built-in/anything-else-sweep.json +120 -0
  9. package/dist/skills/built-in/apologise-correctly.json +126 -0
  10. package/dist/skills/built-in/ask-for-in-person-meeting.json +114 -0
  11. package/dist/skills/built-in/attorney-new-client-intake.json +133 -0
  12. package/dist/skills/built-in/bant-discovery-call.json +125 -0
  13. package/dist/skills/built-in/book-new-patient-appointment.json +131 -0
  14. package/dist/skills/built-in/bookmark-close.json +113 -0
  15. package/dist/skills/built-in/bypass-i-am-the-supervisor.json +130 -0
  16. package/dist/skills/built-in/bypass-scripted-rep.json +142 -0
  17. package/dist/skills/built-in/calibrated-questions.json +155 -0
  18. package/dist/skills/built-in/call-911-fire.json +118 -0
  19. package/dist/skills/built-in/call-911-medical-emergency.json +126 -0
  20. package/dist/skills/built-in/call-911-violent-crime-in-progress.json +133 -0
  21. package/dist/skills/built-in/call-988-crisis-line.json +106 -0
  22. package/dist/skills/built-in/call-poison-control.json +115 -0
  23. package/dist/skills/built-in/call-police-non-emergency.json +114 -0
  24. package/dist/skills/built-in/call-with-person-in-distress.json +133 -0
  25. package/dist/skills/built-in/cancel-cable-fiber-no-retention-loop.json +156 -0
  26. package/dist/skills/built-in/cancel-policy-clean.json +130 -0
  27. package/dist/skills/built-in/capture-rep-identity.json +113 -0
  28. package/dist/skills/built-in/childcare-provider-intake.json +157 -0
  29. package/dist/skills/built-in/close-account-no-residual-fees.json +127 -0
  30. package/dist/skills/built-in/close-on-concrete-next-step.json +116 -0
  31. package/dist/skills/built-in/confirm-agreement-readback.json +134 -0
  32. package/dist/skills/built-in/confirm-next-step-ownership.json +113 -0
  33. package/dist/skills/built-in/contractor-estimate-request.json +142 -0
  34. package/dist/skills/built-in/court-clerk-administrative-inquiry.json +119 -0
  35. package/dist/skills/built-in/cpa-intake-call.json +134 -0
  36. package/dist/skills/built-in/day-of-flight-cancellation.json +127 -0
  37. package/dist/skills/built-in/de-escalate-angry-rep.json +114 -0
  38. package/dist/skills/built-in/decline-unsolicited-pitch.json +110 -0
  39. package/dist/skills/built-in/deliver-difficult-news.json +122 -0
  40. package/dist/skills/built-in/detect-fake-escalation-loops.json +140 -0
  41. package/dist/skills/built-in/detect-lies-and-contradictions.json +139 -0
  42. package/dist/skills/built-in/dispute-billing-code-eob.json +147 -0
  43. package/dist/skills/built-in/dispute-charge-reg-e-reg-z.json +131 -0
  44. package/dist/skills/built-in/dispute-credit-report-via-bank.json +128 -0
  45. package/dist/skills/built-in/dispute-denied-claim.json +143 -0
  46. package/dist/skills/built-in/dispute-security-deposit.json +130 -0
  47. package/dist/skills/built-in/dispute-usage-spike-meter-reread.json +120 -0
  48. package/dist/skills/built-in/dmv-vehicle-registration-renewal.json +120 -0
  49. package/dist/skills/built-in/document-call-promises.json +145 -0
  50. package/dist/skills/built-in/early-lease-termination.json +126 -0
  51. package/dist/skills/built-in/elite-line-escalation.json +107 -0
  52. package/dist/skills/built-in/equipment-swap-cable-router-modem.json +126 -0
  53. package/dist/skills/built-in/eu261-uk261-dot-compensation.json +113 -0
  54. package/dist/skills/built-in/file-fnol-auto-claim.json +130 -0
  55. package/dist/skills/built-in/file-habitability-complaint.json +115 -0
  56. package/dist/skills/built-in/financial-aid-appeal.json +128 -0
  57. package/dist/skills/built-in/follow-up-stalled-claim.json +118 -0
  58. package/dist/skills/built-in/get-past-gatekeeper.json +115 -0
  59. package/dist/skills/built-in/get-past-tier-1-script.json +130 -0
  60. package/dist/skills/built-in/handle-callback-stall.json +120 -0
  61. package/dist/skills/built-in/handle-outsourced-no-escalation.json +138 -0
  62. package/dist/skills/built-in/handle-send-me-an-email-deflection.json +112 -0
  63. package/dist/skills/built-in/handle-time-pressure.json +159 -0
  64. package/dist/skills/built-in/health-prior-auth-appeal.json +131 -0
  65. package/dist/skills/built-in/hoa-dispute.json +123 -0
  66. package/dist/skills/built-in/hold-time-strategy.json +137 -0
  67. package/dist/skills/built-in/hold-warmth-cold-rep.json +114 -0
  68. package/dist/skills/built-in/hotel-walk-over-recovery.json +114 -0
  69. package/dist/skills/built-in/humour-when-it-lands.json +127 -0
  70. package/dist/skills/built-in/i20-visa-dso.json +134 -0
  71. package/dist/skills/built-in/invoke-regulator-firmly.json +137 -0
  72. package/dist/skills/built-in/irrops-waiver-awareness.json +103 -0
  73. package/dist/skills/built-in/irs-payment-plan-setup.json +134 -0
  74. package/dist/skills/built-in/k12-iep-504-enrollment.json +134 -0
  75. package/dist/skills/built-in/late-add-petition.json +128 -0
  76. package/dist/skills/built-in/leave-of-absence-deferral.json +130 -0
  77. package/dist/skills/built-in/lock-in-terms-verbally.json +127 -0
  78. package/dist/skills/built-in/match-energy-keep-goal.json +120 -0
  79. package/dist/skills/built-in/medical-records-transfer.json +138 -0
  80. package/dist/skills/built-in/medical-withdrawal.json +131 -0
  81. package/dist/skills/built-in/mid-call-evidence-collection.json +159 -0
  82. package/dist/skills/built-in/mirror-technique.json +145 -0
  83. package/dist/skills/built-in/missed-connection-distressed-passenger.json +111 -0
  84. package/dist/skills/built-in/mortgage-loan-hardship.json +130 -0
  85. package/dist/skills/built-in/move-out-walkthrough.json +114 -0
  86. package/dist/skills/built-in/multi-channel-escalation.json +141 -0
  87. package/dist/skills/built-in/multi-issue-tradeoffs.json +155 -0
  88. package/dist/skills/built-in/negotiate-rent-renewal.json +123 -0
  89. package/dist/skills/built-in/no-as-opening.json +154 -0
  90. package/dist/skills/built-in/not-sound-like-spam-dialer.json +118 -0
  91. package/dist/skills/built-in/outage-credit-applied.json +127 -0
  92. package/dist/skills/built-in/passport-expedite-or-appointment.json +123 -0
  93. package/dist/skills/built-in/pediatric-school-forms.json +141 -0
  94. package/dist/skills/built-in/personal-trainer-discovery.json +138 -0
  95. package/dist/skills/built-in/pharmacy-callback.json +134 -0
  96. package/dist/skills/built-in/pivot-mid-call.json +141 -0
  97. package/dist/skills/built-in/port-mobile-number-survive-retention.json +127 -0
  98. package/dist/skills/built-in/prescription-refill-followup.json +132 -0
  99. package/dist/skills/built-in/push-past-invented-policy.json +159 -0
  100. package/dist/skills/built-in/rapport-opening-30-seconds.json +130 -0
  101. package/dist/skills/built-in/reach-executive-office.json +137 -0
  102. package/dist/skills/built-in/read-vocal-cues.json +139 -0
  103. package/dist/skills/built-in/read-vocal-tone.json +159 -0
  104. package/dist/skills/built-in/realestate-agent-vetting.json +144 -0
  105. package/dist/skills/built-in/receive-difficult-news.json +115 -0
  106. package/dist/skills/built-in/recording-claim-conversation-legally.json +121 -0
  107. package/dist/skills/built-in/recover-summary-refusal.json +121 -0
  108. package/dist/skills/built-in/reengage-ghosted-lead.json +115 -0
  109. package/dist/skills/built-in/referral-followup-without-burning.json +116 -0
  110. package/dist/skills/built-in/referral-prior-authorization.json +130 -0
  111. package/dist/skills/built-in/refuse-the-split.json +142 -0
  112. package/dist/skills/built-in/refuse-upsell-at-close.json +114 -0
  113. package/dist/skills/built-in/rental-car-counter-defense.json +116 -0
  114. package/dist/skills/built-in/rental-scam-report.json +125 -0
  115. package/dist/skills/built-in/replace-lost-stolen-card-expedited.json +139 -0
  116. package/dist/skills/built-in/report-downed-line-gas-smell-911-triage.json +130 -0
  117. package/dist/skills/built-in/report-elder-or-child-abuse.json +117 -0
  118. package/dist/skills/built-in/report-fbi-tip.json +109 -0
  119. package/dist/skills/built-in/report-fraud-ic3-or-ftc.json +117 -0
  120. package/dist/skills/built-in/report-fraudulent-transaction.json +126 -0
  121. package/dist/skills/built-in/report-power-outage-get-etr.json +116 -0
  122. package/dist/skills/built-in/report-urgent-maintenance.json +123 -0
  123. package/dist/skills/built-in/request-credit-limit-increase.json +126 -0
  124. package/dist/skills/built-in/request-supervisor-gracefully.json +129 -0
  125. package/dist/skills/built-in/request-welfare-check.json +127 -0
  126. package/dist/skills/built-in/request-written-confirmation.json +113 -0
  127. package/dist/skills/built-in/reschedule-appointment.json +121 -0
  128. package/dist/skills/built-in/reset-by-callback.json +143 -0
  129. package/dist/skills/built-in/resist-urgency-manipulation.json +152 -0
  130. package/dist/skills/built-in/revisit-totaling-decision.json +125 -0
  131. package/dist/skills/built-in/roadside-assistance-dispatch.json +132 -0
  132. package/dist/skills/built-in/roommate-replacement.json +121 -0
  133. package/dist/skills/built-in/same-day-urgent-appointment.json +130 -0
  134. package/dist/skills/built-in/schedule-rental-viewing.json +111 -0
  135. package/dist/skills/built-in/service-move-shutoff-start-no-overlap.json +129 -0
  136. package/dist/skills/built-in/social-security-replacement-card.json +122 -0
  137. package/dist/skills/built-in/specialist-doctor-booking.json +136 -0
  138. package/dist/skills/built-in/spot-bait-and-switch.json +155 -0
  139. package/dist/skills/built-in/stop-recurring-ach.json +127 -0
  140. package/dist/skills/built-in/switch-postpaid-to-prepaid-mid-cycle.json +130 -0
  141. package/dist/skills/built-in/tactical-empathy-labeling.json +147 -0
  142. package/dist/skills/built-in/therapist-intake-call.json +133 -0
  143. package/dist/skills/built-in/train-cancellation-refund-rebook.json +104 -0
  144. package/dist/skills/built-in/transcript-request.json +128 -0
  145. package/dist/skills/built-in/travel-insurance-claim-on-the-road.json +114 -0
  146. package/dist/skills/built-in/travel-notice-unlock-card.json +119 -0
  147. package/dist/skills/built-in/unemployment-claim-status-and-appeal.json +123 -0
  148. package/dist/skills/built-in/uscis-case-status-and-biometrics.json +125 -0
  149. package/dist/skills/built-in/utility-deposit-waiver.json +122 -0
  150. package/dist/skills/built-in/utility-payment-plan-avoid-disconnect.json +122 -0
  151. package/dist/skills/built-in/verify-insurance-coverage-pre-procedure.json +140 -0
  152. package/dist/skills/built-in/verify-out-of-network-coverage.json +129 -0
  153. package/dist/skills/built-in/veteran-benefits-community-college.json +134 -0
  154. package/dist/skills/built-in/veterinary-new-patient-intake.json +135 -0
  155. package/dist/skills/built-in/visa-boarding-denial-recovery.json +115 -0
  156. package/dist/skills/built-in/vital-records-certificate-copy.json +120 -0
  157. package/dist/skills/built-in/voicemail-that-gets-called-back.json +114 -0
  158. package/dist/skills/built-in/voter-registration-and-ballot.json +124 -0
  159. package/dist/skills/built-in/walkaway-threats.json +159 -0
  160. package/dist/skills/built-in/wedding-vendor-intake.json +149 -0
  161. package/dist/skills/built-in/when-to-stop-being-polite.json +161 -0
  162. package/dist/skills/built-in/wire-funds-safely.json +129 -0
  163. package/package.json +1 -1
@@ -0,0 +1,138 @@
1
+ {
2
+ "id": "medical-records-transfer",
3
+ "name": "Request Medical Records or Chart Transfer Between Providers",
4
+ "version": "1.0.0",
5
+ "category": "medical-admin",
6
+ "tags": [
7
+ "medical-records",
8
+ "hipaa",
9
+ "release-of-information",
10
+ "chart-transfer",
11
+ "phone-call",
12
+ "healthcare"
13
+ ],
14
+ "description": "Call a healthcare provider's medical records / ROI (Release of Information) department to request the operator's chart be sent to themselves, to a new provider, to a specialist, or to a legal/administrative recipient — within HIPAA timelines and without paying inflated copy fees.",
15
+ "disclaimer": "Not medical advice. Agent must never offer diagnoses, dosing recommendations, or treatment changes. Surface those decisions to the operator via ask_operator.",
16
+ "context": {
17
+ "when_to_use": "Operator is switching providers, seeing a specialist who needs prior records, applying for disability/insurance/legal use, or just wants a personal copy. The friction is real but the law is on the operator's side: under HIPAA, patients have a right to their records within 30 days (sometimes extendable to 60).",
18
+ "preconditions": [
19
+ "Operator's name (current and any prior names on the chart), DOB (read-only).",
20
+ "Approximate date range of care at the source provider.",
21
+ "Exact name of the source provider/clinic/hospital and address/fax/portal of their medical-records department.",
22
+ "Exact destination: another provider (with name, fax/portal, NPI), the operator themselves (email/portal/mailing address), or a third party (with operator's explicit authorization).",
23
+ "Scope: full chart, specific date range, specific record types (labs, imaging, notes, immunizations), or specific encounters.",
24
+ "Whether operator has already signed and submitted a Release of Information form — they almost always need to."
25
+ ],
26
+ "estimated_call_duration_minutes": 12
27
+ },
28
+ "principles": [
29
+ "Under HIPAA, providers must respond to a patient records request within 30 days (one 30-day extension allowed with written notice). Knowing this turns 'we'll get to it' into 'I'd like to note the request date for the 30-day clock'.",
30
+ "Records-direct-to-another-provider is usually free; records-to-the-patient sometimes has a per-page fee. Have the records go provider-to-provider when the destination is another doctor.",
31
+ "Electronic format is your right. Under HIPAA's right-of-access rule and the 21st Century Cures Act, you can request records electronically in the format the provider keeps them (PDF, CCDA, etc.). Don't accept 'we only mail paper' as a final answer for an EMR-based practice.",
32
+ "The ROI department is separate from the front desk. If front desk says they can't help, that doesn't mean ROI can't.",
33
+ "Records can be lost in transit (fax misroute, portal mismatch, wrong NPI). Always verify with the DESTINATION provider that they actually received and ingested the chart — 'sent' is not 'received'."
34
+ ],
35
+ "phrases": {
36
+ "opener": "Hi, I'm calling on behalf of [Operator]. We need to request a copy of their medical records / chart transfer. Could you get me to your Medical Records or Release of Information department?",
37
+ "state_request": "We need [scope: full chart / date range / record type] for [Operator], DOB [as provided], from approximately [year range]. The destination is [recipient].",
38
+ "ask_about_roi_form": "What's the Release of Information form process? Is it digital through the portal, or do you need a signed PDF? Once it's signed, where does it go?",
39
+ "request_electronic_format": "We'd like the records delivered electronically — PDF or CCDA preferred. Can you send them through [destination portal / secure email / direct messaging]?",
40
+ "invoke_hipaa_clock": "I want to note today's date as the request submission so we have the HIPAA 30-day timeline on record. Could you give me a tracking or request number?",
41
+ "ask_about_fees": "What fees, if any, apply? For provider-to-provider transfer, fees are usually waived — can you confirm?",
42
+ "ask_about_special_records": "Are mental-health notes, substance-use treatment notes, HIV results, or genetic information held separately? Those sometimes need additional authorization — what's the process?",
43
+ "destination_verify": "Just to confirm the destination: that's [Recipient Name], at [fax / portal / address / NPI]. Once you send, how will I know it went out?",
44
+ "stall_research": "One moment — let me pull up the destination provider's contact info.",
45
+ "verify_readback": "So: records request for [Operator] from [source provider] to [destination], scope [X], format [electronic], submission date [today], request number [Y], fee [$Z or waived], expected delivery within [N] days. Did I get that right?",
46
+ "graceful_close": "Thank you. I'll follow up with the destination provider in [N] days to confirm receipt. Have a good day."
47
+ },
48
+ "tactics": [
49
+ {
50
+ "name": "Get to ROI, not the front desk",
51
+ "when": "First substantive turn.",
52
+ "script": "Use `opener`. The front desk often deflects with 'fill out a form'; the ROI team knows the actual process. Don't get stuck at the wrong queue.",
53
+ "priority": 1
54
+ },
55
+ {
56
+ "name": "Be specific about scope to avoid delay",
57
+ "when": "Describing what records you need.",
58
+ "script": "Use `state_request`. 'Full chart' takes longer to process than 'visit notes + labs from 2022-2024'. If operator only needs a slice, ask for the slice.",
59
+ "priority": 2
60
+ },
61
+ {
62
+ "name": "Request electronic format explicitly",
63
+ "when": "ROI starts describing process.",
64
+ "script": "Use `request_electronic_format`. Under federal rules, the operator has a right to electronic delivery if the provider keeps records electronically. Paper-by-mail is slow and lossy.",
65
+ "priority": 3
66
+ },
67
+ {
68
+ "name": "Start the HIPAA clock with a timestamp + request number",
69
+ "when": "Before ending the call.",
70
+ "script": "Use `invoke_hipaa_clock`. Get a request number and submission date on record. If the 30-day window lapses, this is the evidence used to escalate.",
71
+ "priority": 4
72
+ },
73
+ {
74
+ "name": "Surface special-category records up front",
75
+ "when": "Operator has had behavioral health, substance use treatment, HIV testing, or genetic testing at this provider.",
76
+ "script": "Use `ask_about_special_records`. These categories often have separate authorization requirements (42 CFR Part 2 for SUD, state laws for mental health, etc.). Missing the separate auth = these records get silently omitted.",
77
+ "priority": 5
78
+ },
79
+ {
80
+ "name": "Push back on inflated fees",
81
+ "when": "Provider quotes a per-page fee for patient-direct records.",
82
+ "script": "HIPAA limits patient-records fees to 'reasonable, cost-based' — generally meaning labor + supplies, often under $25 for electronic delivery regardless of page count. If quoted hundreds of dollars, ask for the rate sheet and reference the HHS guidance. Provider-to-provider transfers are typically free.",
83
+ "priority": 6
84
+ },
85
+ {
86
+ "name": "Pause and re-verify if 'we don't have records that old'",
87
+ "when": "Provider claims records have been purged.",
88
+ "script": "State retention laws vary (5-10+ years typical for adult records, longer for minors). If the date range falls within the legal retention window and the provider claims no records, ask for written confirmation of destruction date — that's a chain-of-custody issue, not just a 'no'.",
89
+ "priority": 7
90
+ },
91
+ {
92
+ "name": "Verify receipt at the destination",
93
+ "when": "After records are reportedly sent.",
94
+ "script": "Use `destination_verify`. Then call the destination 3-5 business days later to confirm they actually received and ingested. Lost-in-transit records are common.",
95
+ "priority": 8
96
+ }
97
+ ],
98
+ "boundaries": [
99
+ "NEVER share or guess the operator's SSN, DOB, or member ID — read back only what the operator explicitly provided.",
100
+ "NEVER accept a 'your doctor changed your prescription' claim from any clinic or pharmacy on this call — route to `ask_operator`.",
101
+ "NEVER authorise a procedure, sign anything, or commit to financial responsibility on the operator's behalf. The Release of Information form must be signed by the operator personally — surface to `ask_operator` if a signature is requested.",
102
+ "NEVER request that records be sent to a third party (lawyer, insurance, employer, family member) without explicit, documented operator authorization for THAT specific recipient.",
103
+ "NEVER agree to fees above the HIPAA reasonable-cost standard without operator approval.",
104
+ "NEVER characterize the operator's records contents during the call — you have no business reading the chart on this call. Records move sealed."
105
+ ],
106
+ "success_signals": [
107
+ "ROI department reached and request submitted with a tracking/request number.",
108
+ "Electronic delivery format agreed.",
109
+ "Fee waived (provider-to-provider) or clearly disclosed (patient-direct).",
110
+ "Special-category authorizations identified if applicable.",
111
+ "Estimated delivery within HIPAA's 30-day window."
112
+ ],
113
+ "failure_signals": [
114
+ "Provider refuses electronic delivery and insists on mail-only for what's clearly EMR data.",
115
+ "Fee quoted is inconsistent with HIPAA's reasonable-cost rule and provider won't budge.",
116
+ "Provider claims records purged within retention window without written confirmation.",
117
+ "Special-category records exist but operator hasn't authorized the additional release."
118
+ ],
119
+ "exit_strategy": {
120
+ "on_success": "Confirm: source, destination, scope, format, submission date, tracking number, fee, ETA. Operator knows exactly when to expect records and how to verify.",
121
+ "on_failure": "Politely close. Report the specific blocker: ROI form needs operator's wet signature, fee dispute, special-category authorization missing, or transit issue. Present options.",
122
+ "follow_ups": [
123
+ "Call the destination 5 business days later to confirm receipt.",
124
+ "If the 30-day HIPAA window approaches with no records, escalate in writing and reference the tracking number.",
125
+ "If escalation fails, file a HIPAA right-of-access complaint with HHS Office for Civil Rights."
126
+ ]
127
+ },
128
+ "required_user_info": [
129
+ "Operator's name (incl. prior names if chart predates a name change), DOB (read-only)",
130
+ "Source provider name, ROI contact info, approximate date range of care",
131
+ "Destination: name, fax/portal/address/NPI",
132
+ "Scope: full chart / date range / record types",
133
+ "Whether ROI form has been signed and submitted",
134
+ "Whether special-category records (mental health, SUD, HIV, genetic) are in scope and authorized"
135
+ ],
136
+ "contributed_by": "healthcare-navigator agent (v0.9.87 community drop)",
137
+ "updated_at": "2026-05-20T06:09:47Z"
138
+ }
@@ -0,0 +1,131 @@
1
+ {
2
+ "id": "medical-withdrawal",
3
+ "name": "Withdrawal, Incomplete, or Medical Withdrawal",
4
+ "version": "1.0.0",
5
+ "category": "other",
6
+ "tags": [
7
+ "withdrawal",
8
+ "incomplete",
9
+ "medical-withdrawal",
10
+ "dean",
11
+ "leave",
12
+ "phone-call",
13
+ "education"
14
+ ],
15
+ "description": "Call the dean of students, academic advising, or student-affairs office to choose between a course withdrawal (W), an incomplete grade (I), or a medical withdrawal — and to navigate the documentation, financial-aid, and re-entry consequences of each.",
16
+ "disclaimer": "Each option carries different consequences for the transcript, financial aid (including Return to Title IV calculations), tuition refund, health insurance, on-campus housing, and immigration status (F-1/J-1). This skill helps navigate the process; it does not substitute for medical, legal, or financial advice.",
17
+ "context": {
18
+ "when_to_use": "The user can't finish the current term as planned because of (a) a medical or mental-health issue with documentation, (b) a family emergency, (c) overload that's now untenable, or (d) a single course they could finish later if granted an Incomplete. Use BEFORE finals if at all possible — past finals, the options collapse to retroactive medical withdrawal which is harder and slower.",
19
+ "preconditions": [
20
+ "User can describe what's happening in one sentence and roughly when it started.",
21
+ "User has access to a clinician or counselor who can document the condition with dates (campus health, primary care, therapist, ER discharge).",
22
+ "User has at least a vague sense of which courses to keep, drop, or finish-later.",
23
+ "User has checked the academic calendar for the last-day-to-withdraw and last-day-to-receive-an-Incomplete deadlines."
24
+ ],
25
+ "estimated_call_duration_minutes": 30
26
+ },
27
+ "principles": [
28
+ "The three options are different tools, not synonyms: W (course-by-course, GPA-neutral, transcript visible), I (course finishes next term, instructor-dependent), MW (full-term, often refundable, requires documentation, can affect aid + housing + immigration).",
29
+ "Incompletes are an INSTRUCTOR'S decision, not the registrar's. The dean can't grant one — only the professor can. Always start with the instructor for an Incomplete.",
30
+ "Medical withdrawal is a benefit, not a punishment. The transcript notation is usually 'W' or 'MW', not 'F'. The cost is usually the term, not the GPA.",
31
+ "Re-entry after a medical withdrawal often requires a clearance letter from a provider AND a meeting with the dean of students. Plan for that on the front end.",
32
+ "Federal financial aid: dropping below half-time triggers the loan grace-period clock. Withdrawing past 60% of the term avoids Return to Title IV recalculation. Get the date.",
33
+ "International students on F-1/J-1 status: a withdrawal can terminate SEVIS unless authorized by the DSO. Loop the international-student office BEFORE filing."
34
+ ],
35
+ "phrases": {
36
+ "opener": "Hi, I need to step back from this term — at least one course, possibly all of them — for medical reasons. I'd like to talk through what my options are: withdrawal, incomplete, or medical withdrawal. Can we walk through them?",
37
+ "ask_for_dean_of_students": "Could I speak with the dean of students or an associate dean? I'd like to make sure I get the right option, not just the easiest paperwork.",
38
+ "ask_for_60_percent_date": "What date does the term hit 60% completion? I want to understand the Return to Title IV implications of withdrawing before vs. after that point.",
39
+ "ask_about_incomplete": "For [course], could I request an Incomplete instead? I've talked to the instructor and they're [open / not open] to it. What does your office need to formalize that?",
40
+ "ask_about_MW_documentation": "What documentation do you require for a medical withdrawal? Does the provider need to be on-campus, or is an outside clinician acceptable? Is a letter sufficient or do you need records?",
41
+ "ask_about_re_entry": "If I take a medical withdrawal, what is the process to come back? Do I need a clearance letter, a return interview, a re-application?",
42
+ "ask_about_housing_meal": "I'm in [housing / on a meal plan]. If I withdraw, what happens — refund, prorated, terminated immediately?",
43
+ "ask_about_F1_status": "I'm on F-1 status. Has the international-student office been looped in on this conversation? I don't want to file before talking to my DSO.",
44
+ "graceful_close_success": "To confirm: I'm filing [form] by [date], with [documentation], and the effective date will be [date]. Tuition refund will be [%], financial-aid recalculation will be [status], housing termination is [date], and re-entry requires [steps]. May I have your name and email for follow-up?"
45
+ },
46
+ "tactics": [
47
+ {
48
+ "name": "Map the three options before choosing",
49
+ "when": "Beginning of the call.",
50
+ "script": "Use the `opener`. Force the conversation through all three options before deciding — W, I, MW. Front-line staff sometimes default-recommend whichever is easiest paperwork, not which is best for the student.",
51
+ "priority": 1
52
+ },
53
+ {
54
+ "name": "Talk to the instructor BEFORE the dean for an Incomplete",
55
+ "when": "User can plausibly finish one or two courses by submitting a paper / final at a later date.",
56
+ "script": "Use `ask_about_incomplete`. The instructor must agree and usually sets the completion deadline (often 6 weeks to one term). Without that yes, the dean can't act.",
57
+ "priority": 2
58
+ },
59
+ {
60
+ "name": "Get the 60% date and the refund schedule",
61
+ "when": "Considering a withdrawal of any kind.",
62
+ "script": "Use `ask_for_60_percent_date`. Schools must perform a Return to Title IV calculation for withdrawals before 60% of the term — this can result in the student owing back unearned aid. After 60%, no recalculation.",
63
+ "priority": 3
64
+ },
65
+ {
66
+ "name": "Loop the DSO for international students",
67
+ "when": "User is F-1 or J-1 status.",
68
+ "script": "Use `ask_about_F1_status`. A withdrawal that's not authorized by the DSO can terminate SEVIS within days — that's a much bigger problem than the term. The DSO can authorize an Authorized Early Withdrawal that protects status.",
69
+ "priority": 4
70
+ },
71
+ {
72
+ "name": "Frontload the documentation",
73
+ "when": "Pursuing medical withdrawal.",
74
+ "script": "Use `ask_about_MW_documentation`. A short provider letter with: condition (in general terms), dates of impact, prognosis, recommendation to withdraw. HIPAA-protected detail is not required and not advised — keep it terse.",
75
+ "priority": 5
76
+ },
77
+ {
78
+ "name": "Pre-arrange re-entry conditions",
79
+ "when": "Planning to return next term or next year.",
80
+ "script": "Use `ask_about_re_entry`. Get the exact requirements (clearance letter, meeting with dean, re-application) in writing now — students who return 6 months later often find requirements have shifted.",
81
+ "priority": 6
82
+ },
83
+ {
84
+ "name": "Escalate to the dean of students if blocked",
85
+ "when": "Front-line advising says the only option is W when documentation supports MW.",
86
+ "script": "Use `ask_for_dean_of_students`. The dean of students can authorize medical withdrawal, refund-schedule exceptions, and housing extensions that registrars and bursars cannot."
87
+ }
88
+ ],
89
+ "boundaries": [
90
+ "Do NOT submit medical documentation that isn't real. Schools verify clinicians and falsifying medical records is a serious violation.",
91
+ "Do NOT withdraw before the DSO has authorized it if the user is on F-1 / J-1.",
92
+ "Do NOT take an Incomplete without a written completion plan (deadline + remaining work + how grade is calculated) from the instructor.",
93
+ "Do NOT promise a return date — medical recovery isn't a calendar.",
94
+ "Do NOT skip the financial-aid call. The bursar will recover overpayment whether the student knew or not."
95
+ ],
96
+ "success_signals": [
97
+ "Dean of students agrees the case fits medical withdrawal.",
98
+ "Instructor confirms Incomplete in writing with a completion deadline.",
99
+ "Return to Title IV calculation is favorable (after 60% of the term, or aid impact is small).",
100
+ "DSO has been consulted and is preparing authorized withdrawal paperwork.",
101
+ "Housing / meal-plan refunds are pro-rated to the withdrawal date."
102
+ ],
103
+ "failure_signals": [
104
+ "Past the medical-withdrawal deadline for this term and retroactive process requires an academic-standing committee review (weeks).",
105
+ "Instructor refuses Incomplete and student is too unwell to finish.",
106
+ "Withdrawal drops F-1 student below course-load minimum without DSO authorization — SEVIS termination is imminent.",
107
+ "Financial-aid recalculation results in significant repayment owed.",
108
+ "Housing is on academic-year contract with no medical exception clause."
109
+ ],
110
+ "exit_strategy": {
111
+ "on_success": "Confirm chosen option, effective date, documentation due date, financial-aid impact, housing/meal-plan status, DSO authorization status (if applicable), and re-entry conditions. Get the dean's email.",
112
+ "on_failure": "Identify the specific blocker. If documentation: who else can provide it. If timing: is retroactive withdrawal possible. If aid: can the school offer institutional grants to bridge the recalculation. Escalate to dean of students if not yet involved.",
113
+ "follow_ups": [
114
+ "Email the operator a written summary of the chosen path, deadlines, and contacts.",
115
+ "Calendar the re-entry checkpoints (clearance letter, return interview) 30 days before target return.",
116
+ "If Incomplete: calendar the instructor's completion deadline minus 1 week as a working buffer.",
117
+ "If medical withdrawal: schedule a check-in with the dean of students 2 weeks before re-enrollment to confirm requirements haven't changed."
118
+ ]
119
+ },
120
+ "required_user_info": [
121
+ "Student ID and current course load",
122
+ "One-sentence description of the issue + approximate start date",
123
+ "Provider name + contact (with permission to verify dates)",
124
+ "Immigration status (F-1, J-1, citizen, permanent resident)",
125
+ "Housing / meal-plan / health-insurance status",
126
+ "Financial aid composition (Pell, Stafford, Parent PLUS, institutional grant, scholarships, work-study)",
127
+ "Target return term"
128
+ ],
129
+ "contributed_by": "education-admin agent (v0.9.87 community drop)",
130
+ "updated_at": "2026-05-20T06:09:47Z"
131
+ }
@@ -0,0 +1,159 @@
1
+ {
2
+ "id": "mid-call-evidence-collection",
3
+ "name": "Mid-Call Evidence Collection — Names, Refs, Times, Exact Wordings",
4
+ "version": "1.0.1",
5
+ "category": "other",
6
+ "tags": [
7
+ "meta-skill",
8
+ "evidence",
9
+ "phone-call",
10
+ "documentation",
11
+ "audit-trail",
12
+ "critical-reasoning"
13
+ ],
14
+ "description": "Every call should leave a paper trail. Collect rep name, confirmation/reference numbers, exact wordings of any commitment, timestamp, and ideally a written follow-up — all while staying conversational and not turning the call into an interrogation. Evidence is the lifeline for every downstream escalation.",
15
+ "disclaimer": null,
16
+ "context": {
17
+ "when_to_use": "Every call. Especially any call involving: money, contract changes, claim decisions, policy interpretations, commitments to do something later, promises of credit, escalations.",
18
+ "preconditions": [
19
+ "Agent is keeping a structured log alongside the call (rep name, time, key statements).",
20
+ "Agent has a clear post-call report template the user can read."
21
+ ],
22
+ "estimated_call_duration_minutes": 5
23
+ },
24
+ "principles": [
25
+ "Without evidence, the call didn't happen. Memory degrades; documentation does not.",
26
+ "Collect evidence WITHOUT signalling that you are collecting evidence. Curiosity and politeness, not surveillance.",
27
+ "Three pieces of evidence are non-negotiable: (1) rep's first name (or ID), (2) date/time of call, (3) any reference/case/confirmation number created.",
28
+ "For commitments, get the EXACT WORDING. 'You'll waive the fee' is not the same as 'a one-time courtesy waiver of $35 on the November statement'. Specificity is the evidence.",
29
+ "Ask for written confirmation by default. Email, in-account message, or text. Verbal is worth less than written, and written from the rep is worth more than written from the user.",
30
+ "When the rep says they 'can't' provide a confirmation number — ask what the alternative trace is. There's always an internal ticket ID, an interaction ID, or a transfer log.",
31
+ "Don't push evidence collection past the point of damaging the relationship. A friendly call with imperfect documentation beats a hostile call with perfect documentation."
32
+ ],
33
+ "phrases": {
34
+ "initial_name_capture": "Sorry, I missed your name when we started — could you say it again? I want to make sure I credit you properly in my notes.",
35
+ "ref_number_request": "Could I get a confirmation number or reference for this conversation? Just for my records.",
36
+ "exact_wording_playback": "Let me make sure I have this exactly right: you said [paraphrase]. Did I get that wording right, or do you want to adjust it?",
37
+ "written_follow_up_request": "Could you send me an email or in-account note summarising what we just agreed? Even a one-liner is helpful.",
38
+ "soft_timestamp": "Just to anchor my notes — what time are you showing on your end?",
39
+ "ask_alternative_trace": "Okay, no confirmation number for this one — is there an interaction ID, ticket number, or note ID I can reference instead?",
40
+ "transfer_handoff_note": "Before you transfer me, could you note on the account the discussion we just had — and give me the reference for that note?"
41
+ },
42
+ "tactics": [
43
+ {
44
+ "name": "Capture the rep's name early and naturally",
45
+ "when": "Within the first minute, ideally after the rep introduces themselves.",
46
+ "script": "Use `initial_name_capture` if you missed it; otherwise just acknowledge ('Thanks, [name]'). Use the name a few times in conversation — both warmer AND solidifies your memory of it.",
47
+ "priority": 1
48
+ },
49
+ {
50
+ "name": "Log call start time and rep ID",
51
+ "when": "Pre-call or at first hello.",
52
+ "script": "Record system time. If rep volunteers an ID number, log that too. If not, names + timestamps usually triangulate well enough.",
53
+ "priority": 2
54
+ },
55
+ {
56
+ "name": "Playback any commitment in their language",
57
+ "when": "Rep agrees to do anything specific.",
58
+ "script": "Use `exact_wording_playback`. The act of playing back creates the auditable utterance — and forces the rep to confirm or revise. Both outcomes are good for you.",
59
+ "priority": 3
60
+ },
61
+ {
62
+ "name": "Demand a confirmation/reference number",
63
+ "when": "Any account change, credit, transfer, or policy decision.",
64
+ "script": "Use `ref_number_request`. Don't accept 'we'll just have a record of it' — push for a number you can quote.",
65
+ "priority": 4
66
+ },
67
+ {
68
+ "name": "Get written follow-up",
69
+ "when": "Any material commitment.",
70
+ "script": "Use `written_follow_up_request`. Even a one-line email is gold. Note whether it arrives — if it doesn't within 24-48 hours, that itself is evidence."
71
+ },
72
+ {
73
+ "name": "Mark transfers with an account note",
74
+ "when": "Being transferred to a different rep / team.",
75
+ "script": "Use `transfer_handoff_note`. Otherwise, mid-transfer context evaporates and you re-explain from zero — usually with weaker leverage."
76
+ },
77
+ {
78
+ "name": "Fall back to alternative trace IDs",
79
+ "when": "Rep refuses or can't provide a confirmation number.",
80
+ "script": "Use `ask_alternative_trace`. Every modern CRM creates SOME identifier per interaction. The rep's tool has it."
81
+ }
82
+ ],
83
+ "alternative_interpretations": [
84
+ {
85
+ "observation": "Rep says 'we don't give out confirmation numbers for that'.",
86
+ "consider": [
87
+ "Genuinely true for trivial interactions (general questions).",
88
+ "False; every CRM logs interactions, rep just doesn't want to provide.",
89
+ "Means the change wasn't actually made — there's nothing to confirm.",
90
+ "Rep doesn't know how to find the ID in their tool.",
91
+ "Different team handles confirmations and rep isn't authorised."
92
+ ],
93
+ "next_action": "Use `ask_alternative_trace`. If still nothing, ask: 'Then how will I prove this conversation happened if I need to reference it later?' The honest answer reveals whether the commitment is real."
94
+ },
95
+ {
96
+ "observation": "Rep gives a vague commitment ('we'll take care of it').",
97
+ "consider": [
98
+ "Friendly closer, real action will happen.",
99
+ "Friendly closer, no action will happen because nothing was actually filed.",
100
+ "Real action, but in 3-10 business days and the rep is bad at expectation-setting.",
101
+ "Filed under a different account or different fee than expected."
102
+ ],
103
+ "next_action": "Use `exact_wording_playback` to force specificity: what exactly, by when, against which line item, with which ID."
104
+ },
105
+ {
106
+ "observation": "Rep promises a callback / follow-up.",
107
+ "consider": [
108
+ "Will happen at the named time.",
109
+ "Will happen, but later than promised.",
110
+ "Will not happen — promise was a closer.",
111
+ "Will happen from a different rep with no context."
112
+ ],
113
+ "next_action": "Ask: 'If the callback doesn't happen by [time], what's the best number for me to call to find you or someone with context?' Locks in a fallback plan."
114
+ },
115
+ {
116
+ "observation": "You notice you're not logging anything — call is conversational and flowing.",
117
+ "consider": [
118
+ "Good rapport, weak documentation. The rapport is fine; the documentation is not.",
119
+ "You're being deliberately disarmed by a skilled rep.",
120
+ "Nothing material has happened yet — logging will matter later.",
121
+ "Your attention is being managed away from things you should ask about."
122
+ ],
123
+ "next_action": "Pause internally. Re-engage the log. Take the next opportunity to capture name, time, and the key claim made so far."
124
+ }
125
+ ],
126
+ "boundaries": [
127
+ "Do NOT record the call covertly. Two-party-consent jurisdictions require disclosure; even one-party jurisdictions have ethical norms.",
128
+ "Do NOT make up confirmation numbers if a rep refuses to provide them — note 'rep refused to provide' instead.",
129
+ "Do NOT badger the rep for ID — most companies don't require last names from reps for safety reasons.",
130
+ "Do NOT use evidence collection as a threat ('I'm writing this down') — that escalates without benefit."
131
+ ],
132
+ "success_signals": [
133
+ "Rep proactively provides a confirmation/reference number.",
134
+ "Written follow-up arrives during or shortly after the call.",
135
+ "Rep names a specific date, amount, and account for any commitment.",
136
+ "Transfers come with a noted handoff and a traceable interaction ID."
137
+ ],
138
+ "failure_signals": [
139
+ "Rep refuses or evades all forms of evidence (no name, no ref, no written follow-up).",
140
+ "Commitments stay vague no matter how many times you replay them.",
141
+ "Written follow-up never arrives despite promise.",
142
+ "Account notes vanish between calls (next rep says 'I don't see anything')."
143
+ ],
144
+ "exit_strategy": {
145
+ "on_success": "Compile the call log: rep name(s), times, ref numbers, exact commitments, written follow-up status, and any open items. Share with user.",
146
+ "on_failure": "Document the evasion itself — that IS evidence. Note exact refusal wording, time, and rep name (if obtained). User has grounds for written escalation citing failure to document.",
147
+ "follow_ups": [
148
+ "Check whether promised written follow-up arrives within 24-48 hours; if not, callback citing the prior conversation by ref number.",
149
+ "Calendar any future-dated commitments (credit on next bill, callback date) for verification."
150
+ ]
151
+ },
152
+ "required_user_info": [
153
+ "Account number / login so confirmations can be tied to record.",
154
+ "Email and/or phone for written follow-up to be sent to.",
155
+ "Authority for the agent to request written follow-up by default."
156
+ ],
157
+ "contributed_by": "critical-reasoning agent (v0.9.87 community drop)",
158
+ "updated_at": "2026-05-20T06:09:47Z"
159
+ }
@@ -0,0 +1,145 @@
1
+ {
2
+ "id": "mirror-technique",
3
+ "name": "The Mirror: Repeat to Unlock",
4
+ "version": "1.0.0",
5
+ "category": "negotiation",
6
+ "tags": ["voss", "mirroring", "isopraxism", "stalling", "phone-call", "real-time"],
7
+ "description": "Repeat the last 1-3 words (or a critical phrase) of what the counterparty just said, with upward inflection. Triggers them to elaborate, exposes constraints, and buys you thinking time without disrupting flow.",
8
+ "disclaimer": "Mirroring overused sounds parrot-like and condescending. 3-4 mirrors per 30-minute call is normal; 10+ is a tic. Vary with labels and calibrated questions.",
9
+ "context": {
10
+ "when_to_use": "When you want the counterparty to keep talking — to surface constraints, expand on policy, justify a number, or reveal a hidden lever. Especially useful in the first 10 minutes when you're building a map of what's negotiable.",
11
+ "preconditions": [
12
+ "Voice channel (mirrors via email work but are much weaker — they read as snark).",
13
+ "Counterparty has just said something containing a number, policy, jargon term, or hesitation marker.",
14
+ "You can deliver the mirror with curious upward inflection — same words but as a question."
15
+ ],
16
+ "estimated_call_duration_minutes": 15
17
+ },
18
+ "principles": [
19
+ "A mirror is the last 1 to 3 words of what they said, repeated as a question. Not paraphrased. Verbatim. The verbatim repetition is what triggers the elaboration instinct.",
20
+ "Pair every mirror with silence (4-6 seconds). The mirror is the question; the silence is the rest of the question.",
21
+ "Pick the words that carry the constraint. If they say 'we can't go below $200 for new accounts', mirror 'new accounts?' — that's where the flex lives.",
22
+ "Mirroring buys you time. While they elaborate, you're free to think about what to ask next or to consult your notes.",
23
+ "Mirrors are non-confrontational. You're not arguing; you're inviting more detail. The counterparty rarely notices the move.",
24
+ "When in doubt between a label and a mirror: use a label for emotion, a mirror for information."
25
+ ],
26
+ "phrases": {
27
+ "policy_mirror": "[Rep: 'It's a 30-day return policy.'] → 'A 30-day return policy?'",
28
+ "number_mirror": "[Rep: 'The list price is $4,200.'] → '$4,200?'",
29
+ "jargon_mirror": "[Rep: 'That account is on a legacy tier.'] → 'A legacy tier?'",
30
+ "qualifier_mirror": "[Rep: 'We don't usually do that mid-cycle.'] → 'Usually?'",
31
+ "hesitation_mirror": "[Rep: 'I don't think I can…'] → 'You don't think you can?'",
32
+ "constraint_mirror": "[Rep: 'For new accounts only.'] → 'New accounts only?'",
33
+ "mirror_followup_silence": "[Just stay quiet for 4-6 seconds — do not soften the mirror.]"
34
+ },
35
+ "tactics": [
36
+ {
37
+ "name": "Mirror the constraint word",
38
+ "when": "Rep states a rule, policy, or limit with a qualifying word (only, usually, typically, currently, for now).",
39
+ "script": "Repeat the qualifying word back as a question. 'Usually?' / 'For now?' / 'Currently?' — qualifiers signal the rule has exceptions; the mirror invites the exception out.",
40
+ "priority": 1
41
+ },
42
+ {
43
+ "name": "Mirror the jargon",
44
+ "when": "Rep uses internal terminology ('legacy account', 'grandfathered rate', 'override code', 'CC promo').",
45
+ "script": "Mirror the jargon as a question. The rep will explain — and the explanation will tell you about adjacent tiers and override paths you didn't know existed.",
46
+ "priority": 2
47
+ },
48
+ {
49
+ "name": "Mirror the number",
50
+ "when": "Rep delivers a price, fee, or limit number.",
51
+ "script": "Mirror the number with upward inflection. Forces the rep to either justify it or move it.",
52
+ "priority": 3
53
+ },
54
+ {
55
+ "name": "Mirror the hesitation",
56
+ "when": "Rep uses softening verbs: 'I think', 'I believe', 'I might be able to', 'probably'.",
57
+ "script": "Mirror the hedge. 'You think?' / 'Might be able to?' — converts a soft maybe into either a firm yes or a firm no, which is more actionable than soft maybe.",
58
+ "priority": 4
59
+ },
60
+ {
61
+ "name": "Mirror to stall",
62
+ "when": "You need 5-10 seconds to think and don't want a verbal 'um' or 'let me think'.",
63
+ "script": "Mirror the last few words of what the rep said. The rep will spend 20-30 seconds elaborating, giving you cover.",
64
+ "priority": 5
65
+ }
66
+ ],
67
+ "decision_tree": {
68
+ "description": "Mirrors must be deployed within ~2 seconds of the counterparty finishing their sentence — any longer and the moment is gone. Listen for the trigger word; when you hear it, mirror immediately.",
69
+ "branches": [
70
+ {
71
+ "if_you_hear": "A qualifying word: 'usually', 'typically', 'for now', 'currently', 'normally', 'in most cases'.",
72
+ "interpretation": "There IS an exception. The qualifier is the door.",
73
+ "say": "Mirror the qualifier alone: 'Usually?' / 'For now?'",
74
+ "do_not": "Do not say 'so there are exceptions?' — too direct. The mirror does the same work without confrontation."
75
+ },
76
+ {
77
+ "if_you_hear": "A specific number — price, fee, term length, limit.",
78
+ "interpretation": "Numbers spoken aloud often have flex the rep is mentally bracketing.",
79
+ "say": "Mirror the number with upward inflection: '$200?' / '12 months?'",
80
+ "do_not": "Do not add 'is that flexible?' — the mirror already asks that."
81
+ },
82
+ {
83
+ "if_you_hear": "Internal jargon you don't know the meaning of.",
84
+ "interpretation": "Hidden product/policy layer. Probably has tiers you haven't explored.",
85
+ "say": "Mirror the jargon: 'A legacy tier?' / 'Override code?'",
86
+ "do_not": "Do not pretend to know what it means. The mirror is a free education that doesn't reveal ignorance."
87
+ },
88
+ {
89
+ "if_you_hear": "Soft modal verbs: 'I think', 'I believe', 'might', 'probably', 'maybe'.",
90
+ "interpretation": "The rep is uncertain. There's space to move.",
91
+ "say": "Mirror the hedge: 'You think?' / 'Might be able to?'",
92
+ "do_not": "Do not call out the uncertainty directly ('you don't sound sure'). Mirror is friendlier."
93
+ },
94
+ {
95
+ "if_you_hear": "An emotionally charged statement ('that's just how it is', 'I'm being honest with you').",
96
+ "interpretation": "Emotional, not informational. Mirror is the WRONG tool.",
97
+ "say": "Use a label from `01-tactical-empathy-labeling` instead.",
98
+ "do_not": "Do not mirror emotion — it reads as mockery."
99
+ },
100
+ {
101
+ "if_you_hear": "A flat 'no' with no surrounding qualifying language.",
102
+ "interpretation": "Not enough material to mirror. Need a different tool.",
103
+ "say": "Use a calibrated question from `02-calibrated-questions`: 'What about it doesn't work for you?'",
104
+ "do_not": "Do not mirror 'no?' — it's combative."
105
+ },
106
+ {
107
+ "if_you_hear": "A long rambling explanation.",
108
+ "interpretation": "Rep is overexplaining; they're not sure of their position OR they're stalling.",
109
+ "say": "Mirror the SINGLE most consequential phrase from the ramble: the one with the constraint.",
110
+ "do_not": "Do not mirror the whole sentence. Pick 1-3 words."
111
+ },
112
+ {
113
+ "if_you_hear": "Silence after your mirror.",
114
+ "interpretation": "Mirror is working — they're constructing the elaboration.",
115
+ "say": "Nothing. Wait 6-8 seconds.",
116
+ "do_not": "Do not rescue. The mirror's power comes from forcing them to fill the air."
117
+ }
118
+ ]
119
+ },
120
+ "boundaries": [
121
+ "Do NOT mirror more than 4 times in a single 30-minute call — diminishing returns and reads as parrot.",
122
+ "Do NOT mirror emotional outbursts — label them instead.",
123
+ "Do NOT mirror sarcastically — tone must be genuinely curious.",
124
+ "Do NOT mirror your own previous mirror (loops happen — break with a label or calibrated question)."
125
+ ],
126
+ "success_signals": [
127
+ "Rep elaborates on the mirrored word for 20+ seconds, revealing nuance.",
128
+ "Rep softens the qualifier ('well, usually — but I could see making an exception if…').",
129
+ "Rep explains the jargon AND volunteers an adjacent tier you didn't know existed.",
130
+ "Number you mirrored gets moved by the rep without you asking."
131
+ ],
132
+ "failure_signals": [
133
+ "Rep responds 'yes, that's what I said' — your mirror was clumsy or too obvious. Pivot to label.",
134
+ "Rep gets annoyed — you've mirrored too often or with wrong tone.",
135
+ "Mirror produces only a one-word confirmation, not elaboration — try a calibrated question instead."
136
+ ],
137
+ "exit_strategy": {
138
+ "on_success": "Once the mirror surfaces the exception/flex, immediately use it: 'Got it — and how do I get access to that legacy tier?'",
139
+ "on_failure": "If mirrors aren't producing elaboration, the rep may be too disengaged or too scripted. Switch tools: try `01-tactical-empathy-labeling` to break the script."
140
+ },
141
+ "required_user_info": [
142
+ "None directly — this is a real-time technique. But knowing the user's goal helps pick WHICH word to mirror."
143
+ ],
144
+ "contributed_by": "negotiation-master agent (v0.9.87 community drop)"
145
+ }