@wonsukchoi/crondex 0.21.0 → 0.23.0

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 (275) hide show
  1. package/README.md +31 -44
  2. package/catalog.json +8862 -1873
  3. package/jobs/automotive/ase-certification-expiry-check.yaml +36 -0
  4. package/jobs/automotive/csi-score-monitor.yaml +33 -0
  5. package/jobs/automotive/customer-pay-warranty-pay-mix-tracker.yaml +47 -0
  6. package/jobs/automotive/fi-product-attachment-rate-tracker.yaml +39 -0
  7. package/jobs/automotive/loaner-fleet-availability-check.yaml +40 -0
  8. package/jobs/automotive/manufacturer-recall-notice-check.yaml +39 -0
  9. package/jobs/automotive/parts-reorder-point-check.yaml +36 -0
  10. package/jobs/automotive/repair-cycle-time-trend-monitor.yaml +42 -0
  11. package/jobs/automotive/service-appointment-no-show-tracker.yaml +38 -0
  12. package/jobs/automotive/service-bay-utilization-check.yaml +38 -0
  13. package/jobs/automotive/shop-supply-reorder-check.yaml +31 -0
  14. package/jobs/automotive/trade-in-appraisal-variance-check.yaml +39 -0
  15. package/jobs/automotive/used-vehicle-inventory-aging-check.yaml +35 -0
  16. package/jobs/construction/critical-path-material-lead-time-review.yaml +43 -0
  17. package/jobs/construction/daily-jobsite-log-compliance-check.yaml +34 -0
  18. package/jobs/construction/equipment-utilization-cost-check.yaml +35 -0
  19. package/jobs/construction/heavy-equipment-inspection-compliance-check.yaml +34 -0
  20. package/jobs/construction/jobsite-safety-incident-near-miss-tracker.yaml +35 -0
  21. package/jobs/construction/lien-waiver-collection-tracker.yaml +27 -0
  22. package/jobs/construction/permit-application-approval-backlog-check.yaml +33 -0
  23. package/jobs/construction/project-budget-variance-check.yaml +34 -0
  24. package/jobs/construction/punch-list-completion-tracker.yaml +36 -0
  25. package/jobs/construction/retainage-holdback-release-tracker.yaml +33 -0
  26. package/jobs/construction/rfi-response-time-tracker.yaml +33 -0
  27. package/jobs/construction/subcontractor-pay-application-approval-tracker.yaml +35 -0
  28. package/jobs/construction/submittal-shop-drawing-review-check.yaml +45 -0
  29. package/jobs/construction/weather-delay-impact-log.yaml +44 -0
  30. package/jobs/ecommerce/affiliate-commission-payout-check.yaml +38 -0
  31. package/jobs/ecommerce/back-in-stock-notification-backlog-check.yaml +30 -0
  32. package/jobs/ecommerce/bundle-component-stock-mismatch-check.yaml +37 -0
  33. package/jobs/ecommerce/chargeback-fraud-risk-order-review.yaml +43 -0
  34. package/jobs/ecommerce/competitor-price-watch.yaml +60 -0
  35. package/jobs/ecommerce/economic-nexus-threshold-check.yaml +43 -0
  36. package/jobs/ecommerce/failed-payment-dunning-check.yaml +35 -0
  37. package/jobs/ecommerce/marketplace-listing-sync-drift-check.yaml +48 -0
  38. package/jobs/ecommerce/product-feed-health-check.yaml +35 -0
  39. package/jobs/ecommerce/purchase-order-overdue-check.yaml +32 -0
  40. package/jobs/ecommerce/storefront-ssl-domain-expiry-check.yaml +46 -0
  41. package/jobs/ecommerce/vip-tier-reclassification-check.yaml +55 -0
  42. package/jobs/ecommerce/wishlist-abandonment-check.yaml +37 -0
  43. package/jobs/education/chronic-absenteeism-tracker.yaml +34 -0
  44. package/jobs/education/department-budget-variance-check.yaml +37 -0
  45. package/jobs/education/enrollment-withdrawal-trend-tracker.yaml +39 -0
  46. package/jobs/education/facility-work-order-backlog-check.yaml +34 -0
  47. package/jobs/education/free-reduced-lunch-eligibility-renewal-check.yaml +36 -0
  48. package/jobs/education/iep-504-review-deadline-tracker.yaml +35 -0
  49. package/jobs/education/parent-teacher-conference-noshow-tracker.yaml +29 -0
  50. package/jobs/education/school-bus-route-ontime-check.yaml +40 -0
  51. package/jobs/education/standardized-test-registration-deadline-check.yaml +35 -0
  52. package/jobs/education/substitute-teacher-fill-rate-tracker.yaml +35 -0
  53. package/jobs/education/teacher-certification-expiry-tracker.yaml +35 -0
  54. package/jobs/education/textbook-inventory-shortage-check.yaml +32 -0
  55. package/jobs/finance/accounts-payable-aging-check.yaml +40 -0
  56. package/jobs/finance/bank-statement-reconciliation-check.yaml +40 -0
  57. package/jobs/finance/budget-vs-actual-variance-report.yaml +38 -0
  58. package/jobs/finance/contractor-1099-threshold-tracker.yaml +43 -0
  59. package/jobs/finance/credit-utilization-watch.yaml +40 -0
  60. package/jobs/finance/duplicate-payment-detection.yaml +43 -0
  61. package/jobs/finance/expense-report-compliance-check.yaml +46 -0
  62. package/jobs/finance/late-fee-interest-risk-check.yaml +43 -0
  63. package/jobs/finance/loan-covenant-compliance-check.yaml +37 -0
  64. package/jobs/finance/month-end-close-checklist-tracker.yaml +39 -0
  65. package/jobs/finance/multi-account-cash-position-rollup.yaml +45 -0
  66. package/jobs/finance/petty-cash-float-reconciliation.yaml +43 -0
  67. package/jobs/finance/quarterly-estimated-tax-calculator.yaml +66 -0
  68. package/jobs/finance/vendor-early-pay-discount-tracker.yaml +45 -0
  69. package/jobs/fleet/accident-incident-report-tracker.yaml +34 -0
  70. package/jobs/fleet/driver-mvr-review-tracker.yaml +34 -0
  71. package/jobs/fleet/driver-safety-score-monitor.yaml +39 -0
  72. package/jobs/fleet/ev-battery-health-check.yaml +36 -0
  73. package/jobs/fleet/fuel-efficiency-trend-monitor.yaml +33 -0
  74. package/jobs/fleet/geofence-violation-check.yaml +37 -0
  75. package/jobs/fleet/lease-return-condition-check.yaml +33 -0
  76. package/jobs/fleet/tire-wear-replacement-check.yaml +30 -0
  77. package/jobs/fleet/toll-violation-tracker.yaml +34 -0
  78. package/jobs/fleet/vehicle-pool-scheduling-conflict-check.yaml +37 -0
  79. package/jobs/fleet/vehicle-tco-tracker.yaml +41 -0
  80. package/jobs/fleet/vehicle-utilization-rate-check.yaml +37 -0
  81. package/jobs/growth/cohort-retention-curve-monitor.yaml +39 -0
  82. package/jobs/growth/customer-health-score-monitor.yaml +37 -0
  83. package/jobs/growth/dau-mau-engagement-ratio-check.yaml +39 -0
  84. package/jobs/growth/dormant-account-reactivation-check.yaml +39 -0
  85. package/jobs/growth/expansion-revenue-opportunity-tracker.yaml +44 -0
  86. package/jobs/growth/feature-adoption-rate-tracker.yaml +44 -0
  87. package/jobs/growth/nps-trend-tracker.yaml +40 -0
  88. package/jobs/growth/onboarding-funnel-dropoff-check.yaml +39 -0
  89. package/jobs/growth/paywall-upgrade-prompt-conversion-check.yaml +40 -0
  90. package/jobs/growth/product-qualified-lead-tracker.yaml +42 -0
  91. package/jobs/growth/referral-program-performance-tracker.yaml +35 -0
  92. package/jobs/growth/trial-to-paid-conversion-rate-tracker.yaml +48 -0
  93. package/jobs/growth/winback-reactivation-campaign-tracker.yaml +46 -0
  94. package/jobs/healthcare/appointment-slot-utilization-check.yaml +56 -0
  95. package/jobs/healthcare/claims-denial-resubmission-check.yaml +43 -0
  96. package/jobs/healthcare/clinical-supply-low-stock-check.yaml +30 -0
  97. package/jobs/healthcare/controlled-substance-inventory-reconciliation.yaml +42 -0
  98. package/jobs/healthcare/hipaa-access-log-audit.yaml +74 -0
  99. package/jobs/healthcare/patient-balance-collections-aging-check.yaml +41 -0
  100. package/jobs/healthcare/patient-immunization-schedule-check.yaml +41 -0
  101. package/jobs/healthcare/patient-portal-message-backlog-check.yaml +39 -0
  102. package/jobs/healthcare/patient-satisfaction-survey-tracking.yaml +59 -0
  103. package/jobs/healthcare/prescription-refill-request-backlog-check.yaml +38 -0
  104. package/jobs/healthcare/prior-authorization-expiry-check.yaml +53 -0
  105. package/jobs/healthcare/staff-cme-credit-tracking.yaml +41 -0
  106. package/jobs/healthcare/telehealth-session-issue-check.yaml +51 -0
  107. package/jobs/hospitality/adr-revpar-tracker.yaml +43 -0
  108. package/jobs/hospitality/cancellation-rate-spike-check.yaml +21 -0
  109. package/jobs/hospitality/group-booking-space-utilization-check.yaml +40 -0
  110. package/jobs/hospitality/guest-complaint-sla-tracker.yaml +34 -0
  111. package/jobs/hospitality/guest-satisfaction-score-monitor.yaml +41 -0
  112. package/jobs/hospitality/linen-inventory-turnover-check.yaml +35 -0
  113. package/jobs/hospitality/loyalty-points-reconciliation-check.yaml +33 -0
  114. package/jobs/hospitality/minibar-charge-reconciliation-check.yaml +38 -0
  115. package/jobs/hospitality/occupancy-forecast-variance-check.yaml +33 -0
  116. package/jobs/hospitality/ota-rate-parity-check.yaml +36 -0
  117. package/jobs/hospitality/overbooking-risk-alert.yaml +38 -0
  118. package/jobs/hospitality/room-maintenance-work-order-tracker.yaml +31 -0
  119. package/jobs/hospitality/upsell-upgrade-conversion-tracker.yaml +37 -0
  120. package/jobs/hr/aca-fte-threshold-monitor.yaml +44 -0
  121. package/jobs/hr/cobra-notification-deadline-tracker.yaml +47 -0
  122. package/jobs/hr/compliance-training-completion-check.yaml +41 -0
  123. package/jobs/hr/eeo1-filing-deadline-reminder.yaml +37 -0
  124. package/jobs/hr/handbook-acknowledgment-tracking.yaml +34 -0
  125. package/jobs/hr/headcount-budget-variance-check.yaml +37 -0
  126. package/jobs/hr/leave-of-absence-return-tracker.yaml +42 -0
  127. package/jobs/hr/org-chart-manager-drift-check.yaml +40 -0
  128. package/jobs/hr/pay-equity-band-outlier-check.yaml +58 -0
  129. package/jobs/hr/pto-year-end-use-it-or-lose-it-check.yaml +49 -0
  130. package/jobs/hr/retirement-plan-enrollment-deadline-check.yaml +40 -0
  131. package/jobs/hr/workers-comp-claim-status-check.yaml +42 -0
  132. package/jobs/insurance/adjuster-caseload-balance-check.yaml +45 -0
  133. package/jobs/insurance/agent-broker-license-expiry-tracker.yaml +40 -0
  134. package/jobs/insurance/cat-event-exposure-monitor.yaml +37 -0
  135. package/jobs/insurance/claims-aging-backlog-tracker.yaml +48 -0
  136. package/jobs/insurance/doi-filing-deadline-tracker.yaml +42 -0
  137. package/jobs/insurance/loss-ratio-by-line-monitor.yaml +43 -0
  138. package/jobs/insurance/policy-lapse-rate-monitor.yaml +41 -0
  139. package/jobs/insurance/premium-payment-delinquency-tracker.yaml +42 -0
  140. package/jobs/insurance/quote-to-bind-conversion-tracker.yaml +41 -0
  141. package/jobs/insurance/reinsurance-treaty-renewal-tracker.yaml +38 -0
  142. package/jobs/insurance/siu-fraud-referral-tracker.yaml +36 -0
  143. package/jobs/insurance/subrogation-recovery-tracker.yaml +41 -0
  144. package/jobs/insurance/underwriting-queue-sla-monitor.yaml +45 -0
  145. package/jobs/legal/conflict-of-interest-check-tracker.yaml +38 -0
  146. package/jobs/legal/corporate-minute-book-completeness-check.yaml +31 -0
  147. package/jobs/legal/data-privacy-request-deadline-tracker.yaml +61 -0
  148. package/jobs/legal/entity-authority-document-expiry-check.yaml +37 -0
  149. package/jobs/legal/legal-document-retention-purge-review.yaml +39 -0
  150. package/jobs/legal/litigation-hold-acknowledgment-tracker.yaml +40 -0
  151. package/jobs/legal/non-compete-expiry-tracker.yaml +37 -0
  152. package/jobs/legal/outside-counsel-invoice-budget-check.yaml +37 -0
  153. package/jobs/legal/settlement-payment-schedule-tracker.yaml +34 -0
  154. package/jobs/legal/timekeeper-billable-hours-compliance-check.yaml +39 -0
  155. package/jobs/legal/trademark-infringement-watch.yaml +43 -0
  156. package/jobs/legal/vendor-coi-expiry-tracker.yaml +37 -0
  157. package/jobs/logistics/3pl-performance-scorecard.yaml +45 -0
  158. package/jobs/logistics/bol-freight-class-accuracy-audit.yaml +33 -0
  159. package/jobs/logistics/cargo-insurance-claim-status-check.yaml +39 -0
  160. package/jobs/logistics/carrier-load-tender-acceptance-check.yaml +34 -0
  161. package/jobs/logistics/carrier-otd-performance-scorecard.yaml +41 -0
  162. package/jobs/logistics/carrier-rate-contract-renewal-check.yaml +35 -0
  163. package/jobs/logistics/cross-dock-dwell-time-watch.yaml +43 -0
  164. package/jobs/logistics/freight-invoice-rate-audit.yaml +38 -0
  165. package/jobs/logistics/fuel-surcharge-rate-monitor.yaml +40 -0
  166. package/jobs/logistics/international-shipment-documentation-check.yaml +36 -0
  167. package/jobs/logistics/linehaul-transit-time-variance-check.yaml +43 -0
  168. package/jobs/logistics/proof-of-delivery-reconciliation-check.yaml +38 -0
  169. package/jobs/logistics/route-load-optimization-check.yaml +32 -0
  170. package/jobs/manufacturing/changeover-time-tracker.yaml +29 -0
  171. package/jobs/manufacturing/critical-spare-parts-stock-check.yaml +29 -0
  172. package/jobs/manufacturing/first-pass-yield-report.yaml +37 -0
  173. package/jobs/manufacturing/lot-traceability-audit.yaml +37 -0
  174. package/jobs/manufacturing/non-conformance-report-backlog-check.yaml +34 -0
  175. package/jobs/manufacturing/oee-efficiency-check.yaml +37 -0
  176. package/jobs/manufacturing/osha-recordable-incident-audit.yaml +37 -0
  177. package/jobs/manufacturing/production-schedule-adherence-check.yaml +35 -0
  178. package/jobs/manufacturing/safety-certification-expiry-check.yaml +37 -0
  179. package/jobs/manufacturing/scrap-waste-rate-watch.yaml +33 -0
  180. package/jobs/manufacturing/shift-handoff-report.yaml +37 -0
  181. package/jobs/manufacturing/supplier-quality-ppm-watch.yaml +38 -0
  182. package/jobs/manufacturing/tooling-die-wear-check.yaml +31 -0
  183. package/jobs/manufacturing/work-order-backlog-check.yaml +37 -0
  184. package/jobs/marketing/ad-creative-fatigue-check.yaml +44 -0
  185. package/jobs/marketing/affiliate-partner-performance-check.yaml +38 -0
  186. package/jobs/marketing/attribution-discrepancy-check.yaml +42 -0
  187. package/jobs/marketing/brand-share-of-voice-check.yaml +43 -0
  188. package/jobs/marketing/campaign-roas-cpa-anomaly-check.yaml +41 -0
  189. package/jobs/marketing/competitor-ad-creative-watch.yaml +40 -0
  190. package/jobs/marketing/email-list-growth-rate-check.yaml +43 -0
  191. package/jobs/marketing/landing-page-conversion-drop-check.yaml +44 -0
  192. package/jobs/marketing/mql-to-sql-handoff-sla-check.yaml +29 -0
  193. package/jobs/marketing/mql-volume-pace-check.yaml +34 -0
  194. package/jobs/marketing/paid-search-negative-keyword-waste-check.yaml +37 -0
  195. package/jobs/marketing/press-release-pickup-tracking.yaml +32 -0
  196. package/jobs/marketing/webinar-registration-attendance-check.yaml +38 -0
  197. package/jobs/realestate/capital-reserve-fund-threshold-check.yaml +32 -0
  198. package/jobs/realestate/eviction-notice-deadline-tracker.yaml +37 -0
  199. package/jobs/realestate/landlord-insurance-claim-status-check.yaml +35 -0
  200. package/jobs/realestate/lease-renewal-offer-window-check.yaml +35 -0
  201. package/jobs/realestate/maintenance-request-sla-check.yaml +39 -0
  202. package/jobs/realestate/move-in-move-out-inspection-tracker.yaml +35 -0
  203. package/jobs/realestate/rent-increase-notice-deadline-check.yaml +54 -0
  204. package/jobs/realestate/rent-roll-vacancy-loss-report.yaml +32 -0
  205. package/jobs/realestate/rental-license-renewal-check.yaml +35 -0
  206. package/jobs/realestate/security-deposit-return-deadline-check.yaml +38 -0
  207. package/jobs/realestate/tenant-application-review-backlog-check.yaml +35 -0
  208. package/jobs/realestate/tenant-renters-insurance-compliance-check.yaml +35 -0
  209. package/jobs/realestate/utility-billback-reconciliation-check.yaml +41 -0
  210. package/jobs/restaurant/comp-void-anomaly-tracker.yaml +39 -0
  211. package/jobs/restaurant/daily-sales-flash-report.yaml +36 -0
  212. package/jobs/restaurant/delivery-platform-commission-reconciliation.yaml +33 -0
  213. package/jobs/restaurant/delivery-receiving-discrepancy-check.yaml +33 -0
  214. package/jobs/restaurant/food-handler-permit-expiry-tracker.yaml +33 -0
  215. package/jobs/restaurant/gift-card-liability-check.yaml +45 -0
  216. package/jobs/restaurant/kitchen-ticket-time-watch.yaml +38 -0
  217. package/jobs/restaurant/liquor-pour-cost-variance-check.yaml +34 -0
  218. package/jobs/restaurant/menu-86-frequency-tracker.yaml +39 -0
  219. package/jobs/restaurant/menu-item-profitability-check.yaml +33 -0
  220. package/jobs/restaurant/pos-end-of-day-reconciliation-check.yaml +31 -0
  221. package/jobs/restaurant/table-turnover-rate-tracker.yaml +36 -0
  222. package/jobs/restaurant/waitlist-conversion-check.yaml +37 -0
  223. package/jobs/retail/cash-office-deposit-variance-check.yaml +34 -0
  224. package/jobs/retail/competitor-price-monitoring-check.yaml +42 -0
  225. package/jobs/retail/damaged-merchandise-writeoff-tracker.yaml +41 -0
  226. package/jobs/retail/employee-discount-abuse-check.yaml +39 -0
  227. package/jobs/retail/layaway-special-order-pickup-tracker.yaml +33 -0
  228. package/jobs/retail/loyalty-enrollment-redemption-rate-tracker.yaml +37 -0
  229. package/jobs/retail/markdown-execution-audit-check.yaml +29 -0
  230. package/jobs/retail/planogram-compliance-audit-check.yaml +36 -0
  231. package/jobs/retail/pos-void-refund-anomaly-tracker.yaml +42 -0
  232. package/jobs/retail/price-tag-audit-accuracy-check.yaml +37 -0
  233. package/jobs/retail/sales-per-square-foot-tracker.yaml +36 -0
  234. package/jobs/retail/seasonal-staffing-coverage-check.yaml +35 -0
  235. package/jobs/retail/store-closing-checklist-compliance-check.yaml +32 -0
  236. package/jobs/retail/visual-merchandising-compliance-check.yaml +40 -0
  237. package/jobs/sales/champion-departure-watch.yaml +44 -0
  238. package/jobs/sales/closed-lost-reason-audit.yaml +42 -0
  239. package/jobs/sales/commission-payout-tracker.yaml +32 -0
  240. package/jobs/sales/contract-renewal-opportunity-tracker.yaml +28 -0
  241. package/jobs/sales/discount-approval-pending-check.yaml +31 -0
  242. package/jobs/sales/forecast-submission-compliance-check.yaml +42 -0
  243. package/jobs/sales/multi-year-renewal-escalation-tracker.yaml +31 -0
  244. package/jobs/sales/pipeline-hygiene-audit.yaml +26 -0
  245. package/jobs/sales/poc-trial-conversion-tracker.yaml +29 -0
  246. package/jobs/sales/referral-followup-tracker.yaml +40 -0
  247. package/jobs/sales/territory-coverage-gap-check.yaml +43 -0
  248. package/jobs/veterinary/appointment-no-show-rate-tracker.yaml +49 -0
  249. package/jobs/veterinary/boarding-kennel-capacity-utilization-check.yaml +39 -0
  250. package/jobs/veterinary/client-payment-plan-delinquency-check.yaml +36 -0
  251. package/jobs/veterinary/dvm-license-dea-registration-expiry-check.yaml +41 -0
  252. package/jobs/veterinary/microchip-registration-verification-check.yaml +40 -0
  253. package/jobs/veterinary/patient-record-completeness-audit.yaml +41 -0
  254. package/jobs/veterinary/pet-medication-refill-backlog-check.yaml +36 -0
  255. package/jobs/veterinary/puppy-kitten-vaccine-series-compliance-check.yaml +39 -0
  256. package/jobs/veterinary/senior-pet-wellness-recall-tracker.yaml +43 -0
  257. package/jobs/veterinary/spay-neuter-followup-compliance-check.yaml +35 -0
  258. package/jobs/veterinary/specialist-referral-followup-check.yaml +38 -0
  259. package/jobs/veterinary/surgical-schedule-utilization-check.yaml +36 -0
  260. package/jobs/veterinary/vet-staff-ce-credit-tracking.yaml +36 -0
  261. package/jobs/warehousing/conveyor-sortation-downtime-watch.yaml +48 -0
  262. package/jobs/warehousing/labor-productivity-rate-check.yaml +33 -0
  263. package/jobs/warehousing/mhe-preventive-maintenance-check.yaml +38 -0
  264. package/jobs/warehousing/order-fulfillment-sla-watch.yaml +42 -0
  265. package/jobs/warehousing/shift-headcount-coverage-check.yaml +33 -0
  266. package/jobs/warehousing/slotting-velocity-review-check.yaml +44 -0
  267. package/jobs/warehousing/warehouse-damage-writeoff-review.yaml +41 -0
  268. package/jobs/warehousing/warehouse-near-miss-incident-rate-watch.yaml +47 -0
  269. package/jobs/warehousing/warehouse-space-utilization-check.yaml +39 -0
  270. package/jobs/warehousing/wave-pick-batch-efficiency-check.yaml +33 -0
  271. package/jobs/warehousing/wms-integration-error-check.yaml +36 -0
  272. package/jobs/warehousing/yard-trailer-detention-watch.yaml +41 -0
  273. package/lib/category-descriptions.js +12 -12
  274. package/lib/duplicates-allowlist.js +15 -0
  275. package/package.json +2 -2
@@ -0,0 +1,40 @@
1
+ id: retirement-plan-enrollment-deadline-check
2
+ version: 1
3
+ name: Retirement Plan Enrollment Deadline Check
4
+ description: >
5
+ Flags employees who are eligible for the 401(k)/retirement plan but
6
+ haven't enrolled or waived as their enrollment deadline approaches. Use
7
+ this if someone has ever missed the window to make an active election
8
+ and got dropped into a default auto-enrollment deferral rate they didn't
9
+ actually want.
10
+ category: hr
11
+ tags: [hr, retirement, 401k, benefits, deadline]
12
+ schedule: "0 8 * * 1"
13
+ timezone: "America/New_York"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v days="{{warn_days_before}}" '
17
+ NR==1 {next}
18
+ $4 != "" {next}
19
+ {
20
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
21
+ cmd | getline due_epoch; close(cmd);
22
+ "date +%s" | getline now_epoch; close("date +%s");
23
+ diff_days = (due_epoch - now_epoch) / 86400;
24
+ if (diff_days <= days) {
25
+ printf "ENROLLMENT DEADLINE: %s — eligible since %s, deadline %s (%d days), no election on file\n", $1, $2, $3, diff_days;
26
+ }
27
+ }
28
+ ' "{{retirement_tracking_csv_path}}"
29
+ variables:
30
+ retirement_tracking_csv_path:
31
+ default: "./retirement-plan-tracking.csv"
32
+ description: "Path to a CSV with columns: employee_name,eligibility_date (YYYY-MM-DD),enrollment_deadline (YYYY-MM-DD),election_status (enrolled/waived, blank if no election yet)."
33
+ warn_days_before:
34
+ default: 14
35
+ description: How many days before the enrollment deadline to start warning.
36
+ compatible_agents: [generic, claude, codex]
37
+ notes: >
38
+ Many plans auto-enroll non-responders at a default deferral rate after
39
+ the deadline rather than defaulting to no contribution — confirm your
40
+ plan document's actual default behavior rather than assuming.
@@ -0,0 +1,42 @@
1
+ id: workers-comp-claim-status-check
2
+ version: 1
3
+ name: Workers' Comp Claim Status Check
4
+ description: >
5
+ Checks open workers' compensation claims with the carrier and flags ones
6
+ that have gone quiet or are approaching an expected return-to-work date
7
+ with no update. Use this if an injured employee's claim has ever
8
+ stalled with the carrier for weeks with nobody at the company noticing
9
+ or following up.
10
+ category: hr
11
+ tags: [hr, workers-comp, compliance, safety]
12
+ schedule: "0 9 * * 1"
13
+ timezone: "UTC"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Check {{wc_carrier}} for open workers' compensation claims and
17
+ cross-reference against {{hris_system}} for each claimant's expected
18
+ return-to-work date, if any.
19
+ 1. List each open claim: employee name, date of injury, days since last
20
+ status update, and expected return date (if set).
21
+ 2. Flag any claim with no status update in the last {{stale_days}} days,
22
+ or with a return date within {{escalate_within_days}} days and no
23
+ recent update, as needing a follow-up call with the carrier.
24
+ 3. If everything is progressing normally, say so in one line.
25
+ variables:
26
+ wc_carrier:
27
+ default: "your workers' compensation carrier/TPA"
28
+ description: Where claim status is tracked (the insurance carrier or third-party administrator portal).
29
+ hris_system:
30
+ default: "your HRIS"
31
+ description: Where employee return-to-work dates and leave status are recorded.
32
+ stale_days:
33
+ default: 14
34
+ description: Days with no status update before a claim is flagged as stalled.
35
+ escalate_within_days:
36
+ default: 7
37
+ description: Days before an expected return date at which a claim with no recent update becomes urgent.
38
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
39
+ notes: >
40
+ Read-only status check — actually contacting the carrier, adjusting
41
+ duties, or making return-to-work decisions is for HR/legal/safety to
42
+ handle. No generic script mode since carrier portals vary widely.
@@ -0,0 +1,45 @@
1
+ id: adjuster-caseload-balance-check
2
+ version: 1
3
+ name: Adjuster Caseload Balance Check
4
+ description: >
5
+ Counts open claims assigned per adjuster and flags anyone carrying a
6
+ caseload well above the team average, so work can be redistributed
7
+ before it hurts claim cycle time. Use this if one adjuster has ever
8
+ quietly ended up with double the caseload of everyone else on the team.
9
+ category: insurance
10
+ tags: [insurance, claims, adjuster, caseload, operations]
11
+ schedule: "0 7 * * 1"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v overload="{{overload_multiplier}}" '
16
+ NR==1 {next}
17
+ {
18
+ count[$2]++;
19
+ total++;
20
+ n_adjusters[$2]=1;
21
+ }
22
+ END {
23
+ n=0;
24
+ for (a in n_adjusters) n++;
25
+ avg = (n > 0) ? total / n : 0;
26
+ printf "CASELOAD SUMMARY: %d open claims across %d adjusters (avg %.1f)\n", total, n, avg;
27
+ for (a in count) {
28
+ if (avg > 0 && count[a] > avg * overload) {
29
+ printf "OVERLOADED: %s — %d open claims (avg %.1f)\n", a, count[a], avg;
30
+ }
31
+ }
32
+ }
33
+ ' "{{open_claims_by_adjuster_csv}}"
34
+ variables:
35
+ open_claims_by_adjuster_csv:
36
+ default: "./open-claims-by-adjuster.csv"
37
+ description: "Path to a CSV with columns: claim_number,adjuster_name — one row per open claim."
38
+ overload_multiplier:
39
+ default: 1.5
40
+ description: How many times the team average caseload counts as overloaded (e.g. 1.5 = 50% above average).
41
+ compatible_agents: [generic, claude, codex]
42
+ notes: >
43
+ Staffing-balance check across a claims team, distinct from
44
+ claims-aging-backlog-tracker which looks at claim age rather than
45
+ who's handling how many claims.
@@ -0,0 +1,40 @@
1
+ id: agent-broker-license-expiry-tracker
2
+ version: 1
3
+ name: Agent/Broker License Expiry Tracker
4
+ description: >
5
+ Checks producer (agent/broker) license and appointment expiration dates
6
+ across every state they're licensed in and flags anything expiring
7
+ soon. Use this if an agent has ever kept writing business in a state
8
+ after their license quietly lapsed.
9
+ category: insurance
10
+ tags: [insurance, agent, broker, license, compliance]
11
+ schedule: "0 8 * * 1"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v days="{{warn_days_before}}" '
16
+ NR==1 {next}
17
+ {
18
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
19
+ cmd | getline expiry_epoch; close(cmd);
20
+ "date +%s" | getline now_epoch; close("date +%s");
21
+ diff_days = (expiry_epoch - now_epoch) / 86400;
22
+ if (diff_days <= days) {
23
+ status = (diff_days < 0) ? "EXPIRED" : "EXPIRING";
24
+ printf "%s: %s — %s license/appointment in %s expires %s (%d days)\n", status, $1, $2, $2, $3, diff_days;
25
+ }
26
+ }
27
+ ' "{{producer_licenses_csv_path}}"
28
+ variables:
29
+ producer_licenses_csv_path:
30
+ default: "./producer-licenses.csv"
31
+ description: "Path to a CSV with columns: producer_name,state,expiry_date (YYYY-MM-DD) — one row per state license/appointment."
32
+ warn_days_before:
33
+ default: 45
34
+ description: How many days before a license or appointment expiry to start warning.
35
+ compatible_agents: [generic, claude, codex]
36
+ notes: >
37
+ Tracks producer (selling agent/broker) licensing compliance across an
38
+ agency or MGA's distribution force — distinct from
39
+ certificate-of-insurance-request-check, which tracks COI requests, not
40
+ producer licensure.
@@ -0,0 +1,37 @@
1
+ id: cat-event-exposure-monitor
2
+ version: 1
3
+ name: Catastrophe Event Exposure Monitor
4
+ description: >
5
+ Cross-references active policies against a catastrophe (hurricane,
6
+ wildfire, earthquake, flood) event footprint and estimates
7
+ policy-count and total insured value exposure inside the impact zone.
8
+ Use this if a CAT event has ever hit before anyone had a fast answer to
9
+ "how many policies do we have in that area, and what's our exposure."
10
+ category: insurance
11
+ tags: [insurance, catastrophe, cat, exposure, risk]
12
+ schedule: "0 */6 * * *"
13
+ timezone: "UTC"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Given the active/forecast catastrophe event: {{cat_event_description}},
17
+ and the policy exposure summary: {{policy_exposure_summary}}.
18
+ 1. Estimate how many policies and how much total insured value fall
19
+ within or near the event's impact footprint.
20
+ 2. Break this down by line of business (property, auto, etc.) if the
21
+ exposure data allows it.
22
+ 3. Flag any single large-limit policy that falls inside the footprint
23
+ for individual review.
24
+ 4. Note this is a rough triage estimate for readiness/response
25
+ planning, not a final claims or reserve figure.
26
+ variables:
27
+ cat_event_description:
28
+ default: "describe the catastrophe event and its current/forecast footprint here"
29
+ description: Name, type, and geographic footprint of the catastrophe event being tracked.
30
+ policy_exposure_summary:
31
+ default: "paste or summarize policy counts and insured values by geography here"
32
+ description: Summary of active policy counts and total insured value by geography/line of business.
33
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
34
+ notes: >
35
+ Pre/during-event exposure estimation for claims and reinsurance
36
+ readiness planning — distinct from claims-aging-backlog-tracker, which
37
+ tracks already-filed claims rather than pre-loss exposure.
@@ -0,0 +1,48 @@
1
+ id: claims-aging-backlog-tracker
2
+ version: 1
3
+ name: Claims Aging & Backlog Tracker
4
+ description: >
5
+ Buckets open claims by how long they've been open (0-30, 31-60, 61-90,
6
+ 90+ days) and flags any bucket that's grown past target so a claims
7
+ manager can rebalance the queue. Use this if a backlog of aging claims
8
+ has ever crept up gradually until a regulator or auditor asked why so
9
+ many were still open past 90 days.
10
+ category: insurance
11
+ tags: [insurance, claims, aging, backlog, operations]
12
+ schedule: "0 7 * * 1"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ today=$(date +%s);
17
+ awk -F',' -v today="$today" -v cap90="{{max_90plus_pct}}" '
18
+ NR==1 {next}
19
+ {
20
+ cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $2 "\" +%s 2>/dev/null";
21
+ cmd | getline opened_epoch; close(cmd);
22
+ age_days = (today - opened_epoch) / 86400;
23
+ total++;
24
+ if (age_days <= 30) b30++;
25
+ else if (age_days <= 60) b60++;
26
+ else if (age_days <= 90) b90++;
27
+ else b90plus++;
28
+ }
29
+ END {
30
+ printf "AGING SUMMARY: 0-30d=%d 31-60d=%d 61-90d=%d 90d+=%d (total=%d)\n", b30, b60, b90, b90plus, total;
31
+ pct90plus = (total > 0) ? (b90plus / total) * 100 : 0;
32
+ if (pct90plus > cap90) {
33
+ printf "OVER TARGET: %.1f%% of open claims are 90+ days old (cap %d%%)\n", pct90plus, cap90;
34
+ }
35
+ }
36
+ ' "{{open_claims_csv_path}}"
37
+ variables:
38
+ open_claims_csv_path:
39
+ default: "./open-claims.csv"
40
+ description: "Path to a CSV with columns: claim_number,date_opened (YYYY-MM-DD)."
41
+ max_90plus_pct:
42
+ default: 10
43
+ description: Maximum acceptable percentage of open claims sitting at 90+ days before this counts as over target.
44
+ compatible_agents: [generic, claude, codex]
45
+ notes: >
46
+ Portfolio-level aging distribution for a claims team, distinct from
47
+ claim-status-check which follows up on individual stale claims for a
48
+ single policyholder.
@@ -0,0 +1,42 @@
1
+ id: doi-filing-deadline-tracker
2
+ version: 1
3
+ name: State DOI Regulatory Filing Deadline Tracker
4
+ description: >
5
+ Warns before a state Department of Insurance filing deadline (rate
6
+ filings, annual statements, market conduct reports) so nothing gets
7
+ submitted late. Use this if a regulatory filing has ever gone out late
8
+ because the deadline lived only in one compliance person's memory.
9
+ category: insurance
10
+ tags: [insurance, compliance, regulatory, doi, filing]
11
+ schedule: "0 8 * * 1-5"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v days="{{warn_days_before}}" '
16
+ NR==1 {next}
17
+ $4 != "" {next}
18
+ {
19
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
20
+ cmd | getline due_epoch; close(cmd);
21
+ "date +%s" | getline now_epoch; close("date +%s");
22
+ diff_days = (due_epoch - now_epoch) / 86400;
23
+ if (diff_days <= days) {
24
+ status = (diff_days < 0) ? "OVERDUE" : "DUE SOON";
25
+ printf "%s: %s — %s filing due %s (%d days)\n", status, $1, $2, $3, diff_days;
26
+ }
27
+ }
28
+ ' "{{doi_filings_csv_path}}"
29
+ variables:
30
+ doi_filings_csv_path:
31
+ default: "./doi-filings.csv"
32
+ description: "Path to a CSV with columns: state,filing_type,due_date (YYYY-MM-DD),filed_date (blank if not yet filed)."
33
+ warn_days_before:
34
+ default: 21
35
+ description: How many days before a filing deadline to start warning.
36
+ compatible_agents: [generic, claude, codex]
37
+ notes: >
38
+ Regulatory filing deadlines owed to state insurance regulators —
39
+ distinct from legal's compliance-filing-deadline-reminder, which is a
40
+ generic cross-industry filing tracker; this one is scoped specifically
41
+ to insurance-department filings (rate filings, annual statements,
42
+ market conduct reports).
@@ -0,0 +1,43 @@
1
+ id: loss-ratio-by-line-monitor
2
+ version: 1
3
+ name: Loss Ratio by Line of Business Monitor
4
+ description: >
5
+ Calculates the incurred loss ratio for each line of business and flags
6
+ any line running hotter than target, so underwriting or pricing can
7
+ react before a bad quarter turns into a bad year. Use this if a line's
8
+ loss ratio has ever drifted well past target for months before anyone
9
+ noticed in the numbers.
10
+ category: insurance
11
+ tags: [insurance, loss-ratio, underwriting, finance]
12
+ schedule: "0 7 1 * *"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v target="{{target_loss_ratio_pct}}" '
17
+ NR==1 {next}
18
+ {
19
+ earned[$1] += $2;
20
+ incurred[$1] += $3;
21
+ }
22
+ END {
23
+ for (line in earned) {
24
+ if (earned[line] > 0) {
25
+ ratio = (incurred[line] / earned[line]) * 100;
26
+ flag = (ratio > target) ? " OVER TARGET" : "";
27
+ printf "%s: loss ratio %.1f%%%s (earned %.2f, incurred %.2f)\n", line, ratio, flag, earned[line], incurred[line];
28
+ }
29
+ }
30
+ }
31
+ ' "{{loss_ratio_csv_path}}"
32
+ variables:
33
+ loss_ratio_csv_path:
34
+ default: "./loss-ratio-by-line.csv"
35
+ description: "Path to a CSV with columns: line_of_business,earned_premium,incurred_losses — one row per period/line entry, aggregated across the current reporting period."
36
+ target_loss_ratio_pct:
37
+ default: 65
38
+ description: Target maximum loss ratio percentage per line of business before it's flagged.
39
+ compatible_agents: [generic, claude, codex]
40
+ notes: >
41
+ Financial performance monitoring by line of business for underwriting
42
+ and actuarial review — distinct from claims-aging-backlog-tracker,
43
+ which tracks claim handling speed rather than loss cost.
@@ -0,0 +1,41 @@
1
+ id: policy-lapse-rate-monitor
2
+ version: 1
3
+ name: Policy Cancellation & Lapse Rate Monitor
4
+ description: >
5
+ Calculates the weekly policy cancellation/lapse rate and flags it when
6
+ it climbs past a healthy baseline, so retention teams can react before
7
+ a leaky book turns into a shrinking one. Use this if a rising lapse
8
+ rate has ever gone unnoticed until a quarterly report showed the book
9
+ had quietly shrunk.
10
+ category: insurance
11
+ tags: [insurance, retention, lapse, cancellation, operations]
12
+ schedule: "0 7 * * 1"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v baseline="{{baseline_lapse_pct}}" '
17
+ NR==1 {next}
18
+ {
19
+ total++;
20
+ if ($2 == "cancelled" || $2 == "lapsed") lapsed++;
21
+ }
22
+ END {
23
+ pct = (total > 0) ? (lapsed / total) * 100 : 0;
24
+ printf "LAPSE RATE: %.1f%% (%d of %d policies) — baseline %d%%\n", pct, lapsed, total, baseline;
25
+ if (pct > baseline) {
26
+ printf "ABOVE BASELINE: lapse rate exceeds the %d%% target\n", baseline;
27
+ }
28
+ }
29
+ ' "{{policy_status_csv_path}}"
30
+ variables:
31
+ policy_status_csv_path:
32
+ default: "./policy-status-weekly.csv"
33
+ description: "Path to a CSV with columns: policy_number,status (active/cancelled/lapsed) for the current reporting period's book."
34
+ baseline_lapse_pct:
35
+ default: 8
36
+ description: Baseline acceptable cancellation/lapse rate percentage before it's flagged as elevated.
37
+ compatible_agents: [generic, claude, codex]
38
+ notes: >
39
+ Book-wide retention health metric, distinct from
40
+ premium-payment-delinquency-tracker, which flags individual accounts
41
+ rather than the aggregate lapse trend.
@@ -0,0 +1,42 @@
1
+ id: premium-payment-delinquency-tracker
2
+ version: 1
3
+ name: Premium Payment Delinquency Tracker
4
+ description: >
5
+ Scans the book of business for policyholders past due on premium
6
+ payments and flags accounts approaching cancellation-for-nonpayment, so
7
+ collections or retention outreach can happen before a policy lapses.
8
+ Use this if delinquent accounts have ever piled up unnoticed until a
9
+ batch of policies cancelled all at once.
10
+ category: insurance
11
+ tags: [insurance, premium, delinquency, collections, retention]
12
+ schedule: "0 7 * * 1-5"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ today=$(date +%s);
17
+ awk -F',' -v today="$today" -v cancel_days="{{cancellation_grace_days}}" '
18
+ NR==1 {next}
19
+ $3 != "unpaid" {next}
20
+ {
21
+ cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $2 "\" +%s 2>/dev/null";
22
+ cmd | getline due_epoch; close(cmd);
23
+ past_due_days = (today - due_epoch) / 86400;
24
+ if (past_due_days > 0) {
25
+ remaining = cancel_days - past_due_days;
26
+ status = (remaining <= 0) ? "CANCELLATION ELIGIBLE" : sprintf("%d days until cancellation-eligible", remaining);
27
+ printf "DELINQUENT: %s — due %s, %d days past due — %s\n", $1, $2, past_due_days, status;
28
+ }
29
+ }
30
+ ' "{{book_of_business_csv_path}}"
31
+ variables:
32
+ book_of_business_csv_path:
33
+ default: "./premium-payment-status.csv"
34
+ description: "Path to a CSV with columns: policy_number,payment_due_date (YYYY-MM-DD),status (paid/unpaid)."
35
+ cancellation_grace_days:
36
+ default: 30
37
+ description: Days past due before a policy becomes eligible for cancellation-for-nonpayment.
38
+ compatible_agents: [generic, claude, codex]
39
+ notes: >
40
+ Book-wide delinquency and collections view across many policyholders,
41
+ distinct from premium-payment-due-reminder, which reminds a single
42
+ policyholder about their own upcoming payment before it's even late.
@@ -0,0 +1,41 @@
1
+ id: quote-to-bind-conversion-tracker
2
+ version: 1
3
+ name: Quote-to-Bind Conversion Rate Tracker
4
+ description: >
5
+ Calculates the quote-to-bind conversion rate over the trailing period
6
+ and flags it when it drops below target, so sales/underwriting leaders
7
+ catch a pricing or process problem while it's still small. Use this if
8
+ a falling close rate has ever gone unnoticed for a full quarter because
9
+ nobody was watching quotes lost, only policies written.
10
+ category: insurance
11
+ tags: [insurance, sales, quoting, conversion, underwriting]
12
+ schedule: "0 7 * * 1"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v target="{{target_conversion_pct}}" '
17
+ NR==1 {next}
18
+ {
19
+ quotes++;
20
+ if ($2 == "bound") bound++;
21
+ }
22
+ END {
23
+ pct = (quotes > 0) ? (bound / quotes) * 100 : 0;
24
+ printf "CONVERSION RATE: %.1f%% (%d of %d quotes bound) — target %d%%\n", pct, bound, quotes, target;
25
+ if (pct < target) {
26
+ printf "BELOW TARGET: conversion rate is under the %d%% target\n", target;
27
+ }
28
+ }
29
+ ' "{{quotes_csv_path}}"
30
+ variables:
31
+ quotes_csv_path:
32
+ default: "./quotes-weekly.csv"
33
+ description: "Path to a CSV with columns: quote_id,status (bound/lost/pending) for the trailing reporting period."
34
+ target_conversion_pct:
35
+ default: 25
36
+ description: Target minimum quote-to-bind conversion rate percentage before this is flagged as below target.
37
+ compatible_agents: [generic, claude, codex]
38
+ notes: >
39
+ Sales-funnel metric for new business production, distinct from
40
+ underwriting-queue-sla-monitor, which measures decision speed rather
41
+ than the rate at which quotes actually convert to bound policies.
@@ -0,0 +1,38 @@
1
+ id: reinsurance-treaty-renewal-tracker
2
+ version: 1
3
+ name: Reinsurance Treaty Renewal Tracker
4
+ description: >
5
+ Warns before a reinsurance treaty's renewal or non-renewal notice date
6
+ so terms can be renegotiated or the market re-shopped in time. Use this
7
+ if a treaty has ever auto-renewed on unfavorable terms because the
8
+ notice window quietly passed.
9
+ category: insurance
10
+ tags: [insurance, reinsurance, treaty, renewal]
11
+ schedule: "0 8 1 * *"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v days="{{warn_days_before}}" '
16
+ NR==1 {next}
17
+ {
18
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
19
+ cmd | getline notice_epoch; close(cmd);
20
+ "date +%s" | getline now_epoch; close("date +%s");
21
+ diff_days = (notice_epoch - now_epoch) / 86400;
22
+ if (diff_days <= days && diff_days >= 0) {
23
+ printf "NOTICE DEADLINE APPROACHING: %s (%s) — non-renewal notice due %s (%d days)\n", $1, $2, $3, diff_days;
24
+ }
25
+ }
26
+ ' "{{treaties_csv_path}}"
27
+ variables:
28
+ treaties_csv_path:
29
+ default: "./reinsurance-treaties.csv"
30
+ description: "Path to a CSV with columns: treaty_name,reinsurer,non_renewal_notice_date (YYYY-MM-DD)."
31
+ warn_days_before:
32
+ default: 60
33
+ description: How many days before the non-renewal notice deadline to start warning.
34
+ compatible_agents: [generic, claude, codex]
35
+ notes: >
36
+ Tracks the reinsurer-facing treaty notice deadline, not a primary
37
+ policy renewal — distinct in scope from policy-renewal-reminder, which
38
+ tracks retail/commercial policies sold to policyholders.
@@ -0,0 +1,36 @@
1
+ id: siu-fraud-referral-tracker
2
+ version: 1
3
+ name: SIU Fraud Referral Tracker
4
+ description: >
5
+ Checks claims referred to the Special Investigations Unit for suspected
6
+ fraud and flags any referral that hasn't been triaged or closed within
7
+ the target window. Use this if a fraud-flagged claim has ever sat in an
8
+ SIU queue for months with no documented outcome.
9
+ category: insurance
10
+ tags: [insurance, siu, fraud, claims, compliance]
11
+ schedule: "0 9 * * 1"
12
+ timezone: "UTC"
13
+ runner: agent-prompt
14
+ prompt: |
15
+ Review the SIU referral log: {{siu_referrals_summary}}.
16
+ 1. List each open referral: claim number, referral date, referral
17
+ reason, and current SIU status.
18
+ 2. Flag any referral open longer than {{triage_sla_days}} days without
19
+ a documented triage decision (accept for investigation, decline,
20
+ refer to law enforcement, or close as unsubstantiated).
21
+ 3. For referrals nearing a statutory reporting deadline, note that
22
+ explicitly so it doesn't get missed.
23
+ 4. Do not draw conclusions about guilt — flag for human SIU review only.
24
+ variables:
25
+ siu_referrals_summary:
26
+ default: "paste or summarize the current SIU referral log here"
27
+ description: Summary or export of claims currently referred to the Special Investigations Unit.
28
+ triage_sla_days:
29
+ default: 15
30
+ description: Days a referral can sit without a documented triage decision before it's flagged.
31
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
32
+ notes: >
33
+ Fraud-investigation triage tracking, distinct from
34
+ claims-aging-backlog-tracker which tracks ordinary claim age rather
35
+ than SIU investigation status. Sensitive — restrict access to the SIU
36
+ team and legal/compliance.
@@ -0,0 +1,41 @@
1
+ id: subrogation-recovery-tracker
2
+ version: 1
3
+ name: Subrogation Recovery Tracker
4
+ description: >
5
+ Checks open subrogation files against at-fault third parties and flags
6
+ ones with no recovery activity in a while, so pursuit doesn't quietly
7
+ stall until the statute of limitations closes the door. Use this if a
8
+ recoverable claim has ever gone unpursued long enough to lose the
9
+ chance at reimbursement entirely.
10
+ category: insurance
11
+ tags: [insurance, subrogation, recovery, claims]
12
+ schedule: "0 9 * * 1"
13
+ timezone: "UTC"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Review the open subrogation file list: {{subrogation_files_summary}}.
17
+ 1. List each open file: claim number, at-fault party, recovery amount
18
+ sought, and date of last recovery activity.
19
+ 2. Flag any file with no activity in more than {{stale_after_days}}
20
+ days as needing follow-up (demand letter, arbitration filing, or
21
+ status call to the at-fault carrier).
22
+ 3. Separately flag any file approaching its statute-of-limitations
23
+ deadline within {{sol_warn_days}} days as urgent.
24
+ 4. Draft a short follow-up note for each stale file, referencing the
25
+ claim number and recovery amount.
26
+ variables:
27
+ subrogation_files_summary:
28
+ default: "paste or summarize the current open subrogation file list here"
29
+ description: Summary or export of open subrogation recovery files.
30
+ stale_after_days:
31
+ default: 21
32
+ description: Days without recovery activity before a file is flagged as stale.
33
+ sol_warn_days:
34
+ default: 45
35
+ description: Days before a statute-of-limitations deadline to flag a file as urgent.
36
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
37
+ notes: >
38
+ Tracks pursuing reimbursement from an at-fault third party after a
39
+ claim is paid — a different direction and timeline from
40
+ claim-status-check, which tracks the insurer's own claim to the
41
+ policyholder before payment.
@@ -0,0 +1,45 @@
1
+ id: underwriting-queue-sla-monitor
2
+ version: 1
3
+ name: Underwriting Queue SLA Monitor
4
+ description: >
5
+ Checks pending underwriting submissions against the target
6
+ turnaround-time SLA and flags any that are approaching or past it. Use
7
+ this if a broker submission has ever sat in an underwriter's queue for
8
+ weeks with no decision because nobody was watching the clock.
9
+ category: insurance
10
+ tags: [insurance, underwriting, sla, queue]
11
+ schedule: "0 8 * * 1-5"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ today=$(date +%s);
16
+ awk -F',' -v today="$today" -v sla="{{sla_days}}" -v warn="{{warn_days_before}}" '
17
+ NR==1 {next}
18
+ $4 != "" {next}
19
+ {
20
+ cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $2 "\" +%s 2>/dev/null";
21
+ cmd | getline submitted_epoch; close(cmd);
22
+ age_days = (today - submitted_epoch) / 86400;
23
+ remaining = sla - age_days;
24
+ if (remaining <= 0) {
25
+ printf "SLA BREACHED: %s (%s) submitted %s — %d days in queue, SLA is %d\n", $1, $3, $2, age_days, sla;
26
+ } else if (remaining <= warn) {
27
+ printf "SLA AT RISK: %s (%s) submitted %s — %d days remaining\n", $1, $3, $2, remaining;
28
+ }
29
+ }
30
+ ' "{{submissions_csv_path}}"
31
+ variables:
32
+ submissions_csv_path:
33
+ default: "./underwriting-submissions.csv"
34
+ description: "Path to a CSV with columns: submission_id,submitted_date (YYYY-MM-DD),underwriter,decision_date (blank if undecided)."
35
+ sla_days:
36
+ default: 10
37
+ description: Target number of business days to reach a decision from submission.
38
+ warn_days_before:
39
+ default: 2
40
+ description: Days before the SLA deadline to start flagging a submission as at-risk.
41
+ compatible_agents: [generic, claude, codex]
42
+ notes: >
43
+ Tracks new-business/renewal underwriting decision turnaround, distinct
44
+ from endorsement-request-followup-check which tracks mid-term policy
45
+ change requests after a policy is already bound.