@wonsukchoi/crondex 0.22.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 (187) hide show
  1. package/README.md +16 -15
  2. package/catalog.json +4839 -118
  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/education/chronic-absenteeism-tracker.yaml +34 -0
  31. package/jobs/education/department-budget-variance-check.yaml +37 -0
  32. package/jobs/education/enrollment-withdrawal-trend-tracker.yaml +39 -0
  33. package/jobs/education/facility-work-order-backlog-check.yaml +34 -0
  34. package/jobs/education/free-reduced-lunch-eligibility-renewal-check.yaml +36 -0
  35. package/jobs/education/iep-504-review-deadline-tracker.yaml +35 -0
  36. package/jobs/education/parent-teacher-conference-noshow-tracker.yaml +29 -0
  37. package/jobs/education/school-bus-route-ontime-check.yaml +40 -0
  38. package/jobs/education/standardized-test-registration-deadline-check.yaml +35 -0
  39. package/jobs/education/substitute-teacher-fill-rate-tracker.yaml +35 -0
  40. package/jobs/education/teacher-certification-expiry-tracker.yaml +35 -0
  41. package/jobs/education/textbook-inventory-shortage-check.yaml +32 -0
  42. package/jobs/fleet/accident-incident-report-tracker.yaml +34 -0
  43. package/jobs/fleet/driver-mvr-review-tracker.yaml +34 -0
  44. package/jobs/fleet/driver-safety-score-monitor.yaml +39 -0
  45. package/jobs/fleet/ev-battery-health-check.yaml +36 -0
  46. package/jobs/fleet/fuel-efficiency-trend-monitor.yaml +33 -0
  47. package/jobs/fleet/geofence-violation-check.yaml +37 -0
  48. package/jobs/fleet/lease-return-condition-check.yaml +33 -0
  49. package/jobs/fleet/tire-wear-replacement-check.yaml +30 -0
  50. package/jobs/fleet/toll-violation-tracker.yaml +34 -0
  51. package/jobs/fleet/vehicle-pool-scheduling-conflict-check.yaml +37 -0
  52. package/jobs/fleet/vehicle-tco-tracker.yaml +41 -0
  53. package/jobs/fleet/vehicle-utilization-rate-check.yaml +37 -0
  54. package/jobs/growth/cohort-retention-curve-monitor.yaml +39 -0
  55. package/jobs/growth/customer-health-score-monitor.yaml +37 -0
  56. package/jobs/growth/dau-mau-engagement-ratio-check.yaml +39 -0
  57. package/jobs/growth/dormant-account-reactivation-check.yaml +39 -0
  58. package/jobs/growth/expansion-revenue-opportunity-tracker.yaml +44 -0
  59. package/jobs/growth/feature-adoption-rate-tracker.yaml +44 -0
  60. package/jobs/growth/nps-trend-tracker.yaml +40 -0
  61. package/jobs/growth/onboarding-funnel-dropoff-check.yaml +39 -0
  62. package/jobs/growth/paywall-upgrade-prompt-conversion-check.yaml +40 -0
  63. package/jobs/growth/product-qualified-lead-tracker.yaml +42 -0
  64. package/jobs/growth/referral-program-performance-tracker.yaml +35 -0
  65. package/jobs/growth/trial-to-paid-conversion-rate-tracker.yaml +48 -0
  66. package/jobs/growth/winback-reactivation-campaign-tracker.yaml +46 -0
  67. package/jobs/hospitality/adr-revpar-tracker.yaml +43 -0
  68. package/jobs/hospitality/cancellation-rate-spike-check.yaml +21 -0
  69. package/jobs/hospitality/group-booking-space-utilization-check.yaml +40 -0
  70. package/jobs/hospitality/guest-complaint-sla-tracker.yaml +34 -0
  71. package/jobs/hospitality/guest-satisfaction-score-monitor.yaml +41 -0
  72. package/jobs/hospitality/linen-inventory-turnover-check.yaml +35 -0
  73. package/jobs/hospitality/loyalty-points-reconciliation-check.yaml +33 -0
  74. package/jobs/hospitality/minibar-charge-reconciliation-check.yaml +38 -0
  75. package/jobs/hospitality/occupancy-forecast-variance-check.yaml +33 -0
  76. package/jobs/hospitality/ota-rate-parity-check.yaml +36 -0
  77. package/jobs/hospitality/overbooking-risk-alert.yaml +38 -0
  78. package/jobs/hospitality/room-maintenance-work-order-tracker.yaml +31 -0
  79. package/jobs/hospitality/upsell-upgrade-conversion-tracker.yaml +37 -0
  80. package/jobs/insurance/adjuster-caseload-balance-check.yaml +45 -0
  81. package/jobs/insurance/agent-broker-license-expiry-tracker.yaml +40 -0
  82. package/jobs/insurance/cat-event-exposure-monitor.yaml +37 -0
  83. package/jobs/insurance/claims-aging-backlog-tracker.yaml +48 -0
  84. package/jobs/insurance/doi-filing-deadline-tracker.yaml +42 -0
  85. package/jobs/insurance/loss-ratio-by-line-monitor.yaml +43 -0
  86. package/jobs/insurance/policy-lapse-rate-monitor.yaml +41 -0
  87. package/jobs/insurance/premium-payment-delinquency-tracker.yaml +42 -0
  88. package/jobs/insurance/quote-to-bind-conversion-tracker.yaml +41 -0
  89. package/jobs/insurance/reinsurance-treaty-renewal-tracker.yaml +38 -0
  90. package/jobs/insurance/siu-fraud-referral-tracker.yaml +36 -0
  91. package/jobs/insurance/subrogation-recovery-tracker.yaml +41 -0
  92. package/jobs/insurance/underwriting-queue-sla-monitor.yaml +45 -0
  93. package/jobs/logistics/3pl-performance-scorecard.yaml +45 -0
  94. package/jobs/logistics/bol-freight-class-accuracy-audit.yaml +33 -0
  95. package/jobs/logistics/cargo-insurance-claim-status-check.yaml +39 -0
  96. package/jobs/logistics/carrier-load-tender-acceptance-check.yaml +34 -0
  97. package/jobs/logistics/carrier-otd-performance-scorecard.yaml +41 -0
  98. package/jobs/logistics/carrier-rate-contract-renewal-check.yaml +35 -0
  99. package/jobs/logistics/cross-dock-dwell-time-watch.yaml +43 -0
  100. package/jobs/logistics/freight-invoice-rate-audit.yaml +38 -0
  101. package/jobs/logistics/fuel-surcharge-rate-monitor.yaml +40 -0
  102. package/jobs/logistics/international-shipment-documentation-check.yaml +36 -0
  103. package/jobs/logistics/linehaul-transit-time-variance-check.yaml +43 -0
  104. package/jobs/logistics/proof-of-delivery-reconciliation-check.yaml +38 -0
  105. package/jobs/logistics/route-load-optimization-check.yaml +32 -0
  106. package/jobs/manufacturing/changeover-time-tracker.yaml +29 -0
  107. package/jobs/manufacturing/critical-spare-parts-stock-check.yaml +29 -0
  108. package/jobs/manufacturing/first-pass-yield-report.yaml +37 -0
  109. package/jobs/manufacturing/lot-traceability-audit.yaml +37 -0
  110. package/jobs/manufacturing/non-conformance-report-backlog-check.yaml +34 -0
  111. package/jobs/manufacturing/oee-efficiency-check.yaml +37 -0
  112. package/jobs/manufacturing/osha-recordable-incident-audit.yaml +37 -0
  113. package/jobs/manufacturing/production-schedule-adherence-check.yaml +35 -0
  114. package/jobs/manufacturing/safety-certification-expiry-check.yaml +37 -0
  115. package/jobs/manufacturing/scrap-waste-rate-watch.yaml +33 -0
  116. package/jobs/manufacturing/shift-handoff-report.yaml +37 -0
  117. package/jobs/manufacturing/supplier-quality-ppm-watch.yaml +38 -0
  118. package/jobs/manufacturing/tooling-die-wear-check.yaml +31 -0
  119. package/jobs/manufacturing/work-order-backlog-check.yaml +37 -0
  120. package/jobs/marketing/ad-creative-fatigue-check.yaml +44 -0
  121. package/jobs/marketing/affiliate-partner-performance-check.yaml +38 -0
  122. package/jobs/marketing/attribution-discrepancy-check.yaml +42 -0
  123. package/jobs/marketing/brand-share-of-voice-check.yaml +43 -0
  124. package/jobs/marketing/campaign-roas-cpa-anomaly-check.yaml +41 -0
  125. package/jobs/marketing/competitor-ad-creative-watch.yaml +40 -0
  126. package/jobs/marketing/email-list-growth-rate-check.yaml +43 -0
  127. package/jobs/marketing/landing-page-conversion-drop-check.yaml +44 -0
  128. package/jobs/marketing/mql-to-sql-handoff-sla-check.yaml +29 -0
  129. package/jobs/marketing/mql-volume-pace-check.yaml +34 -0
  130. package/jobs/marketing/paid-search-negative-keyword-waste-check.yaml +37 -0
  131. package/jobs/marketing/press-release-pickup-tracking.yaml +32 -0
  132. package/jobs/marketing/webinar-registration-attendance-check.yaml +38 -0
  133. package/jobs/restaurant/comp-void-anomaly-tracker.yaml +39 -0
  134. package/jobs/restaurant/daily-sales-flash-report.yaml +36 -0
  135. package/jobs/restaurant/delivery-platform-commission-reconciliation.yaml +33 -0
  136. package/jobs/restaurant/delivery-receiving-discrepancy-check.yaml +33 -0
  137. package/jobs/restaurant/food-handler-permit-expiry-tracker.yaml +33 -0
  138. package/jobs/restaurant/gift-card-liability-check.yaml +45 -0
  139. package/jobs/restaurant/kitchen-ticket-time-watch.yaml +38 -0
  140. package/jobs/restaurant/liquor-pour-cost-variance-check.yaml +34 -0
  141. package/jobs/restaurant/menu-86-frequency-tracker.yaml +39 -0
  142. package/jobs/restaurant/menu-item-profitability-check.yaml +33 -0
  143. package/jobs/restaurant/pos-end-of-day-reconciliation-check.yaml +31 -0
  144. package/jobs/restaurant/table-turnover-rate-tracker.yaml +36 -0
  145. package/jobs/restaurant/waitlist-conversion-check.yaml +37 -0
  146. package/jobs/retail/cash-office-deposit-variance-check.yaml +34 -0
  147. package/jobs/retail/competitor-price-monitoring-check.yaml +42 -0
  148. package/jobs/retail/damaged-merchandise-writeoff-tracker.yaml +41 -0
  149. package/jobs/retail/employee-discount-abuse-check.yaml +39 -0
  150. package/jobs/retail/layaway-special-order-pickup-tracker.yaml +33 -0
  151. package/jobs/retail/loyalty-enrollment-redemption-rate-tracker.yaml +37 -0
  152. package/jobs/retail/markdown-execution-audit-check.yaml +29 -0
  153. package/jobs/retail/planogram-compliance-audit-check.yaml +36 -0
  154. package/jobs/retail/pos-void-refund-anomaly-tracker.yaml +42 -0
  155. package/jobs/retail/price-tag-audit-accuracy-check.yaml +37 -0
  156. package/jobs/retail/sales-per-square-foot-tracker.yaml +36 -0
  157. package/jobs/retail/seasonal-staffing-coverage-check.yaml +35 -0
  158. package/jobs/retail/store-closing-checklist-compliance-check.yaml +32 -0
  159. package/jobs/retail/visual-merchandising-compliance-check.yaml +40 -0
  160. package/jobs/veterinary/appointment-no-show-rate-tracker.yaml +49 -0
  161. package/jobs/veterinary/boarding-kennel-capacity-utilization-check.yaml +39 -0
  162. package/jobs/veterinary/client-payment-plan-delinquency-check.yaml +36 -0
  163. package/jobs/veterinary/dvm-license-dea-registration-expiry-check.yaml +41 -0
  164. package/jobs/veterinary/microchip-registration-verification-check.yaml +40 -0
  165. package/jobs/veterinary/patient-record-completeness-audit.yaml +41 -0
  166. package/jobs/veterinary/pet-medication-refill-backlog-check.yaml +36 -0
  167. package/jobs/veterinary/puppy-kitten-vaccine-series-compliance-check.yaml +39 -0
  168. package/jobs/veterinary/senior-pet-wellness-recall-tracker.yaml +43 -0
  169. package/jobs/veterinary/spay-neuter-followup-compliance-check.yaml +35 -0
  170. package/jobs/veterinary/specialist-referral-followup-check.yaml +38 -0
  171. package/jobs/veterinary/surgical-schedule-utilization-check.yaml +36 -0
  172. package/jobs/veterinary/vet-staff-ce-credit-tracking.yaml +36 -0
  173. package/jobs/warehousing/conveyor-sortation-downtime-watch.yaml +48 -0
  174. package/jobs/warehousing/labor-productivity-rate-check.yaml +33 -0
  175. package/jobs/warehousing/mhe-preventive-maintenance-check.yaml +38 -0
  176. package/jobs/warehousing/order-fulfillment-sla-watch.yaml +42 -0
  177. package/jobs/warehousing/shift-headcount-coverage-check.yaml +33 -0
  178. package/jobs/warehousing/slotting-velocity-review-check.yaml +44 -0
  179. package/jobs/warehousing/warehouse-damage-writeoff-review.yaml +41 -0
  180. package/jobs/warehousing/warehouse-near-miss-incident-rate-watch.yaml +47 -0
  181. package/jobs/warehousing/warehouse-space-utilization-check.yaml +39 -0
  182. package/jobs/warehousing/wave-pick-batch-efficiency-check.yaml +33 -0
  183. package/jobs/warehousing/wms-integration-error-check.yaml +36 -0
  184. package/jobs/warehousing/yard-trailer-detention-watch.yaml +41 -0
  185. package/lib/category-descriptions.js +12 -12
  186. package/lib/duplicates-allowlist.js +10 -0
  187. package/package.json +2 -2
@@ -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.
@@ -0,0 +1,45 @@
1
+ id: 3pl-performance-scorecard
2
+ version: 1
3
+ name: 3PL Performance Scorecard
4
+ description: >
5
+ Reviews a third-party logistics provider's recent performance across
6
+ on-time delivery, damage rate, and cost against your service agreement
7
+ targets. Use this if a 3PL relationship has ever drifted from "great at
8
+ onboarding" to "quietly underperforming" without a regular scorecard
9
+ catching it.
10
+ category: logistics
11
+ tags: [logistics, 3pl, performance, scorecard]
12
+ schedule: "0 8 1 * *"
13
+ timezone: "UTC"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Pull the last {{period_days}} days of performance data for 3PL
17
+ provider {{provider_name}} from {{data_source_hint}}.
18
+ 1. Summarize on-time delivery rate, damage/loss rate, and average
19
+ cost per shipment.
20
+ 2. Compare each metric against the service agreement targets:
21
+ OTD >= {{otd_target_pct}}%, damage rate <= {{damage_target_pct}}%.
22
+ 3. Flag any metric missing target, note the trend versus the prior
23
+ period if available, and suggest whether it warrants a QBR
24
+ conversation or is within normal variance.
25
+ variables:
26
+ provider_name:
27
+ default: "your-3pl-provider"
28
+ description: Name of the 3PL provider being scored.
29
+ data_source_hint:
30
+ default: "your TMS or the 3PL's reporting portal"
31
+ description: Where shipment-level performance data for this 3PL can be pulled.
32
+ period_days:
33
+ default: 30
34
+ description: Lookback window for the scorecard period.
35
+ otd_target_pct:
36
+ default: 95
37
+ description: Contracted on-time delivery target.
38
+ damage_target_pct:
39
+ default: 1
40
+ description: Contracted maximum acceptable damage/loss rate.
41
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
42
+ notes: >
43
+ Aggregate multi-metric scorecard for an outsourced logistics provider,
44
+ distinct from carrier-otd-performance-scorecard which tracks a single
45
+ metric (on-time delivery) per carrier from your own shipment CSV.
@@ -0,0 +1,33 @@
1
+ id: bol-freight-class-accuracy-audit
2
+ version: 1
3
+ name: Bill of Lading Freight Class Accuracy Audit
4
+ description: >
5
+ Reviews recent bills of lading for freight class or NMFC codes that
6
+ look mismatched against the described commodity, which is a common
7
+ cause of reclassification fees. Use this if a shipment has ever come
8
+ back with a surprise reclass charge because the BOL freight class
9
+ didn't match what was actually shipped.
10
+ category: logistics
11
+ tags: [logistics, freight, bol, compliance, billing]
12
+ schedule: "0 9 * * 1"
13
+ timezone: "UTC"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Review the bills of lading listed in {{bol_source_hint}} for the last
17
+ {{lookback_days}} days.
18
+ 1. For each BOL, compare the declared freight class/NMFC code against
19
+ the described commodity and dimensions/weight.
20
+ 2. Flag any BOL where the class looks mismatched (e.g. density-based
21
+ class inconsistent with stated weight/cube, or a commodity code
22
+ that doesn't match the item description).
23
+ 3. For each flagged BOL, note the likely correct class if determinable
24
+ and the estimated reclassification fee risk.
25
+ variables:
26
+ bol_source_hint:
27
+ default: "your TMS or freight audit vendor's BOL archive"
28
+ description: Where recent bills of lading can be reviewed.
29
+ lookback_days:
30
+ default: 7
31
+ description: How many days of BOLs to review per run.
32
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
33
+ notes: No generic script mode — freight classification judgment (NMFC density/commodity rules) isn't reliably scriptable from a CSV; this needs interpretation of the BOL description against the shipped item.
@@ -0,0 +1,39 @@
1
+ id: cargo-insurance-claim-status-check
2
+ version: 1
3
+ name: Cargo Insurance Claim Status Check
4
+ description: >
5
+ Checks open cargo loss/damage insurance claims for ones that have gone
6
+ quiet and need a follow-up push. Use this if a damaged-freight claim
7
+ has ever sat untouched with the insurer for months because nobody was
8
+ tracking it against the filing deadline or a status update.
9
+ category: logistics
10
+ tags: [logistics, cargo, insurance, claims]
11
+ schedule: "0 9 * * 1"
12
+ timezone: "UTC"
13
+ runner: agent-prompt
14
+ prompt: |
15
+ Check {{claims_portal_hint}} for open cargo loss/damage claims.
16
+ 1. List each open claim: claim number, shipment reference, date filed,
17
+ and current status.
18
+ 2. Flag any claim with no status update in the last
19
+ {{stale_days}} days, or approaching a filing/documentation deadline
20
+ within {{deadline_warn_days}} days.
21
+ 3. Suggest the follow-up action for each flagged claim (submit missing
22
+ documentation, request adjuster update, escalate).
23
+ variables:
24
+ claims_portal_hint:
25
+ default: "your cargo insurer's claims portal or broker"
26
+ description: Where open cargo insurance claims and their status are tracked.
27
+ stale_days:
28
+ default: 14
29
+ description: Days without a status update before a claim is flagged as stale.
30
+ deadline_warn_days:
31
+ default: 5
32
+ description: Days before a claim deadline to start warning.
33
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
34
+ notes: >
35
+ Scoped to freight loss/damage claims against a cargo policy, tracked
36
+ per shipment through the insurer/broker — distinct from a general
37
+ claim-status job in that it follows freight-specific deadlines (e.g.
38
+ concealed damage notice windows) rather than a generic policyholder
39
+ claim.
@@ -0,0 +1,34 @@
1
+ id: carrier-load-tender-acceptance-check
2
+ version: 1
3
+ name: Carrier Load Tender Acceptance Check
4
+ description: >
5
+ Checks recently tendered loads for carriers that haven't accepted or
6
+ rejected within the expected window. Use this if a tendered load has
7
+ ever sat unconfirmed until the ship date was already at risk.
8
+ category: logistics
9
+ tags: [logistics, carrier, tender, booking]
10
+ schedule: "0 */3 * * *"
11
+ timezone: "UTC"
12
+ runner: agent-prompt
13
+ prompt: |
14
+ Check {{tms_or_broker_portal}} for load tenders sent to carriers in the
15
+ last {{lookback_hours}} hours.
16
+ 1. List each tendered load: load/reference number, carrier, and time
17
+ since tendered.
18
+ 2. Flag any load still showing "pending" or unacknowledged past
19
+ {{escalate_after_hours}} hours.
20
+ 3. For flagged loads, suggest the next action — re-tender to a backup
21
+ carrier, call the carrier directly, or escalate to the broker —
22
+ based on how close the ship date is.
23
+ variables:
24
+ tms_or_broker_portal:
25
+ default: "your TMS load board or broker portal"
26
+ description: Where tendered loads and their acceptance status are visible.
27
+ lookback_hours:
28
+ default: 48
29
+ description: How far back to check for tendered loads.
30
+ escalate_after_hours:
31
+ default: 6
32
+ description: Hours a tender can sit unacknowledged before it's flagged as at risk.
33
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
34
+ notes: No generic script mode — tender status and acceptance workflows vary by TMS and broker platform, and re-tender decisions need judgment about ship-date risk.
@@ -0,0 +1,41 @@
1
+ id: carrier-otd-performance-scorecard
2
+ version: 1
3
+ name: Carrier On-Time Delivery Performance Scorecard
4
+ description: >
5
+ Tracks each carrier's on-time delivery rate over recent shipments and
6
+ flags any carrier that's dropped below your target. Use this if a
7
+ carrier's reliability has ever quietly slipped for months before a
8
+ customer complaint made it obvious.
9
+ category: logistics
10
+ tags: [logistics, carrier, otd, performance]
11
+ schedule: "0 8 * * 1"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v target="{{otd_target_pct}}" '
16
+ NR==1 {next}
17
+ {
18
+ total[$1]++;
19
+ if ($2 == "on-time") ontime[$1]++;
20
+ }
21
+ END {
22
+ for (c in total) {
23
+ pct = (ontime[c] / total[c]) * 100;
24
+ if (pct < target) {
25
+ printf "BELOW TARGET: %s — %.1f%% on-time (%d of %d shipments), target %d%%\n", c, pct, ontime[c], total[c], target;
26
+ }
27
+ }
28
+ }
29
+ ' "{{shipments_csv_path}}"
30
+ variables:
31
+ shipments_csv_path:
32
+ default: "./carrier-shipments.csv"
33
+ description: "Path to a CSV with columns: carrier_name,status (on-time or late) — one row per recent outbound shipment."
34
+ otd_target_pct:
35
+ default: 90
36
+ description: Minimum acceptable on-time delivery percentage per carrier.
37
+ compatible_agents: [generic, claude, codex]
38
+ notes: >
39
+ Tracks outbound carrier delivery performance to customers, not inbound
40
+ supplier delivery of materials — pair with your TMS or carrier
41
+ scorecard export to keep the CSV current.
@@ -0,0 +1,35 @@
1
+ id: carrier-rate-contract-renewal-check
2
+ version: 1
3
+ name: Carrier Rate Contract Renewal Check
4
+ description: >
5
+ Checks tracked carrier rate agreements against their expiry date and
6
+ warns before they lapse. Use this if a freight contract has ever
7
+ quietly expired and shipments kept moving on it anyway, until a rate
8
+ dispute surfaced with no valid agreement backing it.
9
+ category: logistics
10
+ tags: [logistics, carrier, contract, 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 \"" $2 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $2 "\" +%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
+ printf "RENEWAL DUE: carrier agreement %s — expires %s (%d days)\n", $1, $2, diff_days;
24
+ }
25
+ }
26
+ ' "{{carrier_contracts_csv_path}}"
27
+ variables:
28
+ carrier_contracts_csv_path:
29
+ default: "./carrier-rate-contracts.csv"
30
+ description: "Path to a CSV with columns: carrier_name,contract_expiry_date (YYYY-MM-DD)."
31
+ warn_days_before:
32
+ default: 45
33
+ description: How many days before contract expiry to start warning, to leave time for renewal negotiation.
34
+ compatible_agents: [generic, claude, codex]
35
+ notes: Assumes carrier rate agreements and their term dates are exported or manually tracked from procurement/legal — this is the renewal-deadline backstop, not a contract management system.
@@ -0,0 +1,43 @@
1
+ id: cross-dock-dwell-time-watch
2
+ version: 1
3
+ name: Cross-Dock Dwell Time Watch
4
+ description: >
5
+ Checks freight moving through a cross-dock facility against a target
6
+ dwell time and flags anything sitting too long between inbound and
7
+ outbound legs. Use this if freight has ever quietly stalled at a
8
+ cross-dock for days, turning a same-day transfer into a missed
9
+ delivery window.
10
+ category: logistics
11
+ tags: [logistics, cross-dock, dwell-time, freight]
12
+ schedule: "0 */2 * * *"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v threshold="{{max_dwell_hours}}" '
17
+ NR==1 {next}
18
+ {
19
+ shipment=$1; arrived=$2; status=$3;
20
+ if (status != "departed") {
21
+ cmd = "date -d \"" arrived "\" +%s 2>/dev/null || date -j -f %Y-%m-%dT%H:%M:%S \"" arrived "\" +%s 2>/dev/null";
22
+ cmd | getline arrived_epoch; close(cmd);
23
+ "date +%s" | getline now_epoch; close("date +%s");
24
+ dwell_hours = (now_epoch - arrived_epoch) / 3600;
25
+ if (dwell_hours >= threshold) {
26
+ printf "DWELL EXCEEDED: shipment %s has been on the dock %.1fh (arrived %s), threshold %dh\n", shipment, dwell_hours, arrived, threshold;
27
+ }
28
+ }
29
+ }
30
+ ' "{{crossdock_status_csv}}"
31
+ variables:
32
+ crossdock_status_csv:
33
+ default: "./crossdock-shipment-status.csv"
34
+ description: "Path to a CSV with columns: shipment_id,arrived_at (ISO timestamp),status (e.g. staged, departed) — export from your dock/yard management system."
35
+ max_dwell_hours:
36
+ default: 12
37
+ description: Hours a shipment can sit at the cross-dock before it's flagged.
38
+ compatible_agents: [generic, claude, codex]
39
+ notes: >
40
+ Tracks freight-in-transit dwell between inbound and outbound legs at a
41
+ cross-dock, distinct from warehousing's dock-schedule-conflict-check
42
+ (which checks appointment scheduling conflicts, not how long freight
43
+ actually sits once it's on the dock).
@@ -0,0 +1,38 @@
1
+ id: freight-invoice-rate-audit
2
+ version: 1
3
+ name: Freight Invoice Rate Audit
4
+ description: >
5
+ Compares billed freight invoice amounts against the contracted rate for
6
+ each shipment and flags overcharges. Use this if a carrier has ever
7
+ quietly billed above the agreed rate and it only got caught months
8
+ later during an annual freight spend review.
9
+ category: logistics
10
+ tags: [logistics, freight, invoice, audit, billing]
11
+ schedule: "0 6 * * *"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v tolerance="{{overcharge_tolerance_pct}}" '
16
+ NR==1 {next}
17
+ {
18
+ invoice_id=$1; contracted=$2; billed=$3;
19
+ if (contracted <= 0) next;
20
+ pct_over = ((billed - contracted) / contracted) * 100;
21
+ if (pct_over > tolerance) {
22
+ printf "OVERCHARGE: invoice %s — billed $%.2f vs contracted $%.2f (%.1f%% over, tolerance %d%%)\n", invoice_id, billed, contracted, pct_over, tolerance;
23
+ }
24
+ }
25
+ ' "{{invoices_csv_path}}"
26
+ variables:
27
+ invoices_csv_path:
28
+ default: "./freight-invoices.csv"
29
+ description: "Path to a CSV with columns: invoice_id,contracted_rate,billed_amount — export from your freight audit/AP system."
30
+ overcharge_tolerance_pct:
31
+ default: 3
32
+ description: Percent above the contracted rate allowed before flagging as an overcharge worth disputing.
33
+ compatible_agents: [generic, claude, codex]
34
+ notes: >
35
+ Checks billing accuracy against the contracted rate, not market rate
36
+ movement — pair with freight-rate-spike-watch if you also want to
37
+ track whether the contracted rate itself is falling behind the
38
+ market.
@@ -0,0 +1,40 @@
1
+ id: fuel-surcharge-rate-monitor
2
+ version: 1
3
+ name: Fuel Surcharge Rate Monitor
4
+ description: >
5
+ Checks the current published fuel surcharge index against your
6
+ baseline and flags a jump. Use this if a carrier's fuel surcharge has
7
+ ever crept up for weeks before it showed up as a bigger-than-expected
8
+ line item on the freight invoice.
9
+ category: logistics
10
+ tags: [logistics, freight, fuel-surcharge, rates]
11
+ schedule: "0 7 * * 1"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ surcharge_pct=$(curl -s -H "Authorization: Bearer {{fuel_index_api_token}}" "{{fuel_index_api_url}}" | grep -o '"surcharge_pct":[0-9.]*' | head -n1 | cut -d':' -f2);
16
+ if [ -z "$surcharge_pct" ]; then echo "ERROR: could not fetch fuel surcharge data from {{fuel_index_api_url}}"; exit 1; fi;
17
+ if awk "BEGIN{exit !($surcharge_pct - {{baseline_surcharge_pct}} >= {{jump_threshold_pct}})}"; then
18
+ echo "WARNING: fuel surcharge is ${surcharge_pct}% (baseline {{baseline_surcharge_pct}}%, jumped >= {{jump_threshold_pct}}pt)";
19
+ exit 1;
20
+ else echo "OK: fuel surcharge is ${surcharge_pct}%, within tolerance of baseline {{baseline_surcharge_pct}}%"; fi
21
+ variables:
22
+ fuel_index_api_url:
23
+ default: "https://api.example-carrier.com/fuel-surcharge/current"
24
+ description: Carrier or DOE fuel surcharge index API endpoint returning surcharge_pct.
25
+ fuel_index_api_token:
26
+ default: "your-api-token"
27
+ description: Bearer token for the fuel surcharge index API, if required.
28
+ baseline_surcharge_pct:
29
+ default: 25
30
+ description: Baseline fuel surcharge percentage to compare against.
31
+ jump_threshold_pct:
32
+ default: 5
33
+ description: Percentage-point jump above baseline that counts as worth flagging.
34
+ compatible_agents: [generic, claude, codex]
35
+ notes: >
36
+ Generic REST pattern — point fuel_index_api_url at your carrier's
37
+ published surcharge schedule or the DOE/EIA weekly diesel price feed
38
+ used to derive it; adjust field names to match its response shape.
39
+ Distinct from freight-rate-spike-watch, which tracks the all-in
40
+ quoted lane rate rather than the fuel surcharge component alone.
@@ -0,0 +1,36 @@
1
+ id: international-shipment-documentation-check
2
+ version: 1
3
+ name: International Shipment Documentation Completeness Check
4
+ description: >
5
+ Checks upcoming international shipments for missing export/import
6
+ paperwork before they're due to ship. Use this if a shipment has ever
7
+ reached the port only to get held up because the commercial invoice or
8
+ certificate of origin was never finalized.
9
+ category: logistics
10
+ tags: [logistics, international, documentation, export, compliance]
11
+ schedule: "0 8 * * *"
12
+ timezone: "UTC"
13
+ runner: agent-prompt
14
+ prompt: |
15
+ Check {{shipment_system_hint}} for international shipments scheduled
16
+ to depart within the next {{lookahead_days}} days.
17
+ 1. For each shipment, verify the required document set is present:
18
+ commercial invoice, packing list, certificate of origin, and any
19
+ destination-specific requirements (e.g. import license, phytosanitary
20
+ certificate) for {{destination_hint}}.
21
+ 2. Flag any shipment missing one or more required documents.
22
+ 3. For each flagged shipment, note which document is missing and who
23
+ typically owns producing it (shipper, freight forwarder, customs
24
+ broker).
25
+ variables:
26
+ shipment_system_hint:
27
+ default: "your TMS or export documentation system"
28
+ description: Where upcoming international shipments and their document status are tracked.
29
+ lookahead_days:
30
+ default: 5
31
+ description: How many days ahead to check for shipments needing documentation.
32
+ destination_hint:
33
+ default: "your typical export destination(s)"
34
+ description: Destination country/countries, since required documents vary by destination.
35
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
36
+ notes: No generic script mode — required document sets vary by destination country and commodity, and need judgment about which regulatory requirements apply.
@@ -0,0 +1,43 @@
1
+ id: linehaul-transit-time-variance-check
2
+ version: 1
3
+ name: Linehaul Transit Time Variance Check
4
+ description: >
5
+ Compares actual transit times against the scheduled transit time per
6
+ lane and flags lanes running consistently slow. Use this if a lane's
7
+ transit times have ever crept up gradually until service levels
8
+ quietly missed the mark for a whole quarter.
9
+ category: logistics
10
+ tags: [logistics, transit, lanes, performance]
11
+ schedule: "0 7 * * 1"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v tolerance="{{variance_hours_threshold}}" '
16
+ NR==1 {next}
17
+ {
18
+ lane=$1; scheduled=$2; actual=$3;
19
+ variance = actual - scheduled;
20
+ sum[lane] += variance; count[lane]++;
21
+ }
22
+ END {
23
+ for (l in sum) {
24
+ avg = sum[l] / count[l];
25
+ if (avg >= tolerance) {
26
+ printf "SLOW LANE: %s — averaging %.1fh over scheduled transit time across %d shipments\n", l, avg, count[l];
27
+ }
28
+ }
29
+ }
30
+ ' "{{transit_times_csv_path}}"
31
+ variables:
32
+ transit_times_csv_path:
33
+ default: "./lane-transit-times.csv"
34
+ description: "Path to a CSV with columns: lane,scheduled_transit_hours,actual_transit_hours — one row per completed shipment."
35
+ variance_hours_threshold:
36
+ default: 6
37
+ description: Average hours over scheduled transit time before a lane is flagged as consistently slow.
38
+ compatible_agents: [generic, claude, codex]
39
+ notes: >
40
+ Aggregates variance across a lane's shipment history, unlike
41
+ shipment-delay-watch which checks a single shipment's live tracking
42
+ status — this catches gradual lane-level drift a one-off delay check
43
+ won't.