@wonsukchoi/crondex 0.21.0 → 0.22.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 (92) hide show
  1. package/README.md +16 -30
  2. package/catalog.json +2294 -26
  3. package/jobs/ecommerce/affiliate-commission-payout-check.yaml +38 -0
  4. package/jobs/ecommerce/back-in-stock-notification-backlog-check.yaml +30 -0
  5. package/jobs/ecommerce/bundle-component-stock-mismatch-check.yaml +37 -0
  6. package/jobs/ecommerce/chargeback-fraud-risk-order-review.yaml +43 -0
  7. package/jobs/ecommerce/competitor-price-watch.yaml +60 -0
  8. package/jobs/ecommerce/economic-nexus-threshold-check.yaml +43 -0
  9. package/jobs/ecommerce/failed-payment-dunning-check.yaml +35 -0
  10. package/jobs/ecommerce/marketplace-listing-sync-drift-check.yaml +48 -0
  11. package/jobs/ecommerce/product-feed-health-check.yaml +35 -0
  12. package/jobs/ecommerce/purchase-order-overdue-check.yaml +32 -0
  13. package/jobs/ecommerce/storefront-ssl-domain-expiry-check.yaml +46 -0
  14. package/jobs/ecommerce/vip-tier-reclassification-check.yaml +55 -0
  15. package/jobs/ecommerce/wishlist-abandonment-check.yaml +37 -0
  16. package/jobs/finance/accounts-payable-aging-check.yaml +40 -0
  17. package/jobs/finance/bank-statement-reconciliation-check.yaml +40 -0
  18. package/jobs/finance/budget-vs-actual-variance-report.yaml +38 -0
  19. package/jobs/finance/contractor-1099-threshold-tracker.yaml +43 -0
  20. package/jobs/finance/credit-utilization-watch.yaml +40 -0
  21. package/jobs/finance/duplicate-payment-detection.yaml +43 -0
  22. package/jobs/finance/expense-report-compliance-check.yaml +46 -0
  23. package/jobs/finance/late-fee-interest-risk-check.yaml +43 -0
  24. package/jobs/finance/loan-covenant-compliance-check.yaml +37 -0
  25. package/jobs/finance/month-end-close-checklist-tracker.yaml +39 -0
  26. package/jobs/finance/multi-account-cash-position-rollup.yaml +45 -0
  27. package/jobs/finance/petty-cash-float-reconciliation.yaml +43 -0
  28. package/jobs/finance/quarterly-estimated-tax-calculator.yaml +66 -0
  29. package/jobs/finance/vendor-early-pay-discount-tracker.yaml +45 -0
  30. package/jobs/healthcare/appointment-slot-utilization-check.yaml +56 -0
  31. package/jobs/healthcare/claims-denial-resubmission-check.yaml +43 -0
  32. package/jobs/healthcare/clinical-supply-low-stock-check.yaml +30 -0
  33. package/jobs/healthcare/controlled-substance-inventory-reconciliation.yaml +42 -0
  34. package/jobs/healthcare/hipaa-access-log-audit.yaml +74 -0
  35. package/jobs/healthcare/patient-balance-collections-aging-check.yaml +41 -0
  36. package/jobs/healthcare/patient-immunization-schedule-check.yaml +41 -0
  37. package/jobs/healthcare/patient-portal-message-backlog-check.yaml +39 -0
  38. package/jobs/healthcare/patient-satisfaction-survey-tracking.yaml +59 -0
  39. package/jobs/healthcare/prescription-refill-request-backlog-check.yaml +38 -0
  40. package/jobs/healthcare/prior-authorization-expiry-check.yaml +53 -0
  41. package/jobs/healthcare/staff-cme-credit-tracking.yaml +41 -0
  42. package/jobs/healthcare/telehealth-session-issue-check.yaml +51 -0
  43. package/jobs/hr/aca-fte-threshold-monitor.yaml +44 -0
  44. package/jobs/hr/cobra-notification-deadline-tracker.yaml +47 -0
  45. package/jobs/hr/compliance-training-completion-check.yaml +41 -0
  46. package/jobs/hr/eeo1-filing-deadline-reminder.yaml +37 -0
  47. package/jobs/hr/handbook-acknowledgment-tracking.yaml +34 -0
  48. package/jobs/hr/headcount-budget-variance-check.yaml +37 -0
  49. package/jobs/hr/leave-of-absence-return-tracker.yaml +42 -0
  50. package/jobs/hr/org-chart-manager-drift-check.yaml +40 -0
  51. package/jobs/hr/pay-equity-band-outlier-check.yaml +58 -0
  52. package/jobs/hr/pto-year-end-use-it-or-lose-it-check.yaml +49 -0
  53. package/jobs/hr/retirement-plan-enrollment-deadline-check.yaml +40 -0
  54. package/jobs/hr/workers-comp-claim-status-check.yaml +42 -0
  55. package/jobs/legal/conflict-of-interest-check-tracker.yaml +38 -0
  56. package/jobs/legal/corporate-minute-book-completeness-check.yaml +31 -0
  57. package/jobs/legal/data-privacy-request-deadline-tracker.yaml +61 -0
  58. package/jobs/legal/entity-authority-document-expiry-check.yaml +37 -0
  59. package/jobs/legal/legal-document-retention-purge-review.yaml +39 -0
  60. package/jobs/legal/litigation-hold-acknowledgment-tracker.yaml +40 -0
  61. package/jobs/legal/non-compete-expiry-tracker.yaml +37 -0
  62. package/jobs/legal/outside-counsel-invoice-budget-check.yaml +37 -0
  63. package/jobs/legal/settlement-payment-schedule-tracker.yaml +34 -0
  64. package/jobs/legal/timekeeper-billable-hours-compliance-check.yaml +39 -0
  65. package/jobs/legal/trademark-infringement-watch.yaml +43 -0
  66. package/jobs/legal/vendor-coi-expiry-tracker.yaml +37 -0
  67. package/jobs/realestate/capital-reserve-fund-threshold-check.yaml +32 -0
  68. package/jobs/realestate/eviction-notice-deadline-tracker.yaml +37 -0
  69. package/jobs/realestate/landlord-insurance-claim-status-check.yaml +35 -0
  70. package/jobs/realestate/lease-renewal-offer-window-check.yaml +35 -0
  71. package/jobs/realestate/maintenance-request-sla-check.yaml +39 -0
  72. package/jobs/realestate/move-in-move-out-inspection-tracker.yaml +35 -0
  73. package/jobs/realestate/rent-increase-notice-deadline-check.yaml +54 -0
  74. package/jobs/realestate/rent-roll-vacancy-loss-report.yaml +32 -0
  75. package/jobs/realestate/rental-license-renewal-check.yaml +35 -0
  76. package/jobs/realestate/security-deposit-return-deadline-check.yaml +38 -0
  77. package/jobs/realestate/tenant-application-review-backlog-check.yaml +35 -0
  78. package/jobs/realestate/tenant-renters-insurance-compliance-check.yaml +35 -0
  79. package/jobs/realestate/utility-billback-reconciliation-check.yaml +41 -0
  80. package/jobs/sales/champion-departure-watch.yaml +44 -0
  81. package/jobs/sales/closed-lost-reason-audit.yaml +42 -0
  82. package/jobs/sales/commission-payout-tracker.yaml +32 -0
  83. package/jobs/sales/contract-renewal-opportunity-tracker.yaml +28 -0
  84. package/jobs/sales/discount-approval-pending-check.yaml +31 -0
  85. package/jobs/sales/forecast-submission-compliance-check.yaml +42 -0
  86. package/jobs/sales/multi-year-renewal-escalation-tracker.yaml +31 -0
  87. package/jobs/sales/pipeline-hygiene-audit.yaml +26 -0
  88. package/jobs/sales/poc-trial-conversion-tracker.yaml +29 -0
  89. package/jobs/sales/referral-followup-tracker.yaml +40 -0
  90. package/jobs/sales/territory-coverage-gap-check.yaml +43 -0
  91. package/lib/duplicates-allowlist.js +5 -0
  92. package/package.json +2 -2
package/catalog.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "generated_by": "scripts/build-catalog.js",
3
3
  "schema": "schema/job.schema.json",
4
- "count": 375,
4
+ "count": 463,
5
5
  "jobs": [
6
6
  {
7
7
  "id": "1on1-prep-reminder",
@@ -78,6 +78,56 @@
78
78
  ],
79
79
  "path": "jobs/ecommerce/abandoned-cart-recovery-check.yaml"
80
80
  },
81
+ {
82
+ "id": "aca-fte-threshold-monitor",
83
+ "version": 1,
84
+ "name": "ACA Full-Time-Equivalent Threshold Monitor",
85
+ "description": "Estimates the company's total ACA full-time-equivalent count from a headcount/hours export and warns when it's approaching the Applicable Large Employer threshold. Use this if the company has ever crossed 50 FTEs without anyone noticing until a compliance filing requirement suddenly applied.",
86
+ "category": "hr",
87
+ "tags": [
88
+ "hr",
89
+ "aca",
90
+ "compliance",
91
+ "headcount"
92
+ ],
93
+ "schedule": "0 8 1 * *",
94
+ "timezone": "America/New_York",
95
+ "runner": "shell",
96
+ "modes": [
97
+ "script"
98
+ ],
99
+ "compatible_agents": [
100
+ "generic",
101
+ "claude",
102
+ "codex"
103
+ ],
104
+ "path": "jobs/hr/aca-fte-threshold-monitor.yaml"
105
+ },
106
+ {
107
+ "id": "accounts-payable-aging-check",
108
+ "version": 1,
109
+ "name": "Accounts Payable Aging Check",
110
+ "description": "Buckets bills you owe (not invoices you've sent) into aging ranges — current, 30, 60, 90+ days past due — so nothing quietly slips into a late-fee zone. Use this if you or your business pay vendors on terms and want a standing view of what's coming due versus already overdue.",
111
+ "category": "finance",
112
+ "tags": [
113
+ "accounts-payable",
114
+ "bills",
115
+ "aging",
116
+ "finance"
117
+ ],
118
+ "schedule": "0 8 * * *",
119
+ "timezone": "UTC",
120
+ "runner": "shell",
121
+ "modes": [
122
+ "script"
123
+ ],
124
+ "compatible_agents": [
125
+ "generic",
126
+ "claude",
127
+ "codex"
128
+ ],
129
+ "path": "jobs/finance/accounts-payable-aging-check.yaml"
130
+ },
81
131
  {
82
132
  "id": "ad-spend-pacing-check",
83
133
  "version": 1,
@@ -104,6 +154,32 @@
104
154
  ],
105
155
  "path": "jobs/marketing/ad-spend-pacing-check.yaml"
106
156
  },
157
+ {
158
+ "id": "affiliate-commission-payout-check",
159
+ "version": 1,
160
+ "name": "Affiliate Commission Payout Check",
161
+ "description": "Checks commissions owed to affiliates who drive sales to your store against your payout schedule and flags anything overdue and still unpaid. Use this if an affiliate has ever had to chase you for a commission payment because nobody was tracking payout due dates on your side.",
162
+ "category": "ecommerce",
163
+ "tags": [
164
+ "ecommerce",
165
+ "affiliates",
166
+ "commissions",
167
+ "payouts",
168
+ "finance"
169
+ ],
170
+ "schedule": "0 9 * * 1",
171
+ "timezone": "UTC",
172
+ "runner": "shell",
173
+ "modes": [
174
+ "script"
175
+ ],
176
+ "compatible_agents": [
177
+ "generic",
178
+ "claude",
179
+ "codex"
180
+ ],
181
+ "path": "jobs/ecommerce/affiliate-commission-payout-check.yaml"
182
+ },
107
183
  {
108
184
  "id": "affiliate-link-expiry-check",
109
185
  "version": 1,
@@ -257,6 +333,35 @@
257
333
  ],
258
334
  "path": "jobs/spa/appointment-no-show-tracker.yaml"
259
335
  },
336
+ {
337
+ "id": "appointment-slot-utilization-check",
338
+ "version": 1,
339
+ "name": "Appointment Slot Utilization and Schedule Gap Check",
340
+ "description": "Computes daily/weekly appointment slot utilization from the schedule and flags days running well under capacity, then suggests what to do about the gaps. Use this if provider schedules have ever had large unbooked gaps that nobody noticed until the day arrived nearly empty, wasting billable capacity that a recall push or same-day-opening alert could have filled.",
341
+ "category": "healthcare",
342
+ "tags": [
343
+ "healthcare",
344
+ "scheduling",
345
+ "utilization",
346
+ "operations",
347
+ "capacity"
348
+ ],
349
+ "schedule": "0 16 * * 5",
350
+ "timezone": "America/New_York",
351
+ "runner": "hybrid",
352
+ "modes": [
353
+ "script",
354
+ "agent-prompt"
355
+ ],
356
+ "compatible_agents": [
357
+ "claude",
358
+ "codex",
359
+ "hermes",
360
+ "openclaw",
361
+ "generic"
362
+ ],
363
+ "path": "jobs/healthcare/appointment-slot-utilization-check.yaml"
364
+ },
260
365
  {
261
366
  "id": "arc-review-copy-followup",
262
367
  "version": 1,
@@ -384,6 +489,31 @@
384
489
  ],
385
490
  "path": "jobs/events/attendee-checkin-rate-watch.yaml"
386
491
  },
492
+ {
493
+ "id": "back-in-stock-notification-backlog-check",
494
+ "version": 1,
495
+ "name": "Back-in-Stock Notification Backlog Check",
496
+ "description": "Checks products that customers asked to be notified about against current stock levels, and flags any that are back in stock with a waiting list that never got notified. Use this if an item has ever restocked while a list of interested customers sat unnotified until the item sold out again, missing the sale entirely.",
497
+ "category": "ecommerce",
498
+ "tags": [
499
+ "ecommerce",
500
+ "back-in-stock",
501
+ "notifications",
502
+ "inventory"
503
+ ],
504
+ "schedule": "0 */3 * * *",
505
+ "timezone": "UTC",
506
+ "runner": "shell",
507
+ "modes": [
508
+ "script"
509
+ ],
510
+ "compatible_agents": [
511
+ "generic",
512
+ "claude",
513
+ "codex"
514
+ ],
515
+ "path": "jobs/ecommerce/back-in-stock-notification-backlog-check.yaml"
516
+ },
387
517
  {
388
518
  "id": "background-check-status-check",
389
519
  "version": 1,
@@ -435,6 +565,31 @@
435
565
  ],
436
566
  "path": "jobs/devops/backup-reminder.yaml"
437
567
  },
568
+ {
569
+ "id": "bank-statement-reconciliation-check",
570
+ "version": 1,
571
+ "name": "Bank Statement Reconciliation Check",
572
+ "description": "Compares your internal ledger against a bank/card statement export and flags transactions present in one but not the other, plus any balance mismatch. Use this if your books have ever quietly drifted from what the bank actually shows and you only found out at tax time.",
573
+ "category": "finance",
574
+ "tags": [
575
+ "reconciliation",
576
+ "bookkeeping",
577
+ "bank",
578
+ "finance"
579
+ ],
580
+ "schedule": "0 9 * * 1",
581
+ "timezone": "UTC",
582
+ "runner": "shell",
583
+ "modes": [
584
+ "script"
585
+ ],
586
+ "compatible_agents": [
587
+ "generic",
588
+ "claude",
589
+ "codex"
590
+ ],
591
+ "path": "jobs/finance/bank-statement-reconciliation-check.yaml"
592
+ },
438
593
  {
439
594
  "id": "beneficiary-designation-review-reminder",
440
595
  "version": 1,
@@ -711,6 +866,56 @@
711
866
  ],
712
867
  "path": "jobs/finance/budget-overspend-check.yaml"
713
868
  },
869
+ {
870
+ "id": "budget-vs-actual-variance-report",
871
+ "version": 1,
872
+ "name": "Budget vs. Actual Variance Report",
873
+ "description": "Compares budgeted vs. actual spend across every category or department in one pass and reports the percentage variance for each, not just a single category's pass/fail. Use this if you need a monthly variance report across a whole budget (department, project, or household), which is different from budget-overspend-check watching one category's limit.",
874
+ "category": "finance",
875
+ "tags": [
876
+ "budget",
877
+ "variance",
878
+ "finance",
879
+ "reporting"
880
+ ],
881
+ "schedule": "0 9 2 * *",
882
+ "timezone": "UTC",
883
+ "runner": "shell",
884
+ "modes": [
885
+ "script"
886
+ ],
887
+ "compatible_agents": [
888
+ "generic",
889
+ "claude",
890
+ "codex"
891
+ ],
892
+ "path": "jobs/finance/budget-vs-actual-variance-report.yaml"
893
+ },
894
+ {
895
+ "id": "bundle-component-stock-mismatch-check",
896
+ "version": 1,
897
+ "name": "Bundle Component Stock Mismatch Check",
898
+ "description": "Checks each product bundle/kit against the stock of its individual components and flags any bundle still marked in-stock while one of its components is actually out. Use this if a bundle has ever sold through checkout only for fulfillment to discover one piece of it was unavailable, because the bundle's own stock flag wasn't tied to its components.",
899
+ "category": "ecommerce",
900
+ "tags": [
901
+ "ecommerce",
902
+ "bundles",
903
+ "inventory",
904
+ "kitting"
905
+ ],
906
+ "schedule": "0 6 * * *",
907
+ "timezone": "UTC",
908
+ "runner": "shell",
909
+ "modes": [
910
+ "script"
911
+ ],
912
+ "compatible_agents": [
913
+ "generic",
914
+ "claude",
915
+ "codex"
916
+ ],
917
+ "path": "jobs/ecommerce/bundle-component-stock-mismatch-check.yaml"
918
+ },
714
919
  {
715
920
  "id": "business-license-renewal-check",
716
921
  "version": 1,
@@ -835,6 +1040,31 @@
835
1040
  ],
836
1041
  "path": "jobs/content/canonical-tag-check.yaml"
837
1042
  },
1043
+ {
1044
+ "id": "capital-reserve-fund-threshold-check",
1045
+ "version": 1,
1046
+ "name": "Capital Reserve Fund Threshold Check",
1047
+ "description": "Compares each property's or HOA's capital reserve fund balance against its target minimum and flags any that have dropped below threshold. Use this if a roof or elevator replacement has ever turned into a surprise special assessment because nobody was watching the reserve balance drift down over time.",
1048
+ "category": "realestate",
1049
+ "tags": [
1050
+ "realestate",
1051
+ "reserve-fund",
1052
+ "capex",
1053
+ "budgeting"
1054
+ ],
1055
+ "schedule": "0 8 1 * *",
1056
+ "timezone": "UTC",
1057
+ "runner": "shell",
1058
+ "modes": [
1059
+ "script"
1060
+ ],
1061
+ "compatible_agents": [
1062
+ "generic",
1063
+ "claude",
1064
+ "codex"
1065
+ ],
1066
+ "path": "jobs/realestate/capital-reserve-fund-threshold-check.yaml"
1067
+ },
838
1068
  {
839
1069
  "id": "car-maintenance-due-reminder",
840
1070
  "version": 1,
@@ -983,6 +1213,33 @@
983
1213
  ],
984
1214
  "path": "jobs/security/certificate-transparency-watch.yaml"
985
1215
  },
1216
+ {
1217
+ "id": "champion-departure-watch",
1218
+ "version": 1,
1219
+ "name": "Champion Departure Watch",
1220
+ "description": "Checks whether your champion or economic-buyer contact at open or recently-closed accounts has left the company, using bounce signals or a job-change lookup, and drafts a plan to find the new point of contact. Use this if a deal has ever gone quiet for weeks before you found out your one internal advocate had already left the company.",
1221
+ "category": "sales",
1222
+ "tags": [
1223
+ "sales",
1224
+ "champion",
1225
+ "contact-departure",
1226
+ "account-risk"
1227
+ ],
1228
+ "schedule": "0 8 * * 1",
1229
+ "timezone": "UTC",
1230
+ "runner": "agent-prompt",
1231
+ "modes": [
1232
+ "agent-prompt"
1233
+ ],
1234
+ "compatible_agents": [
1235
+ "claude",
1236
+ "codex",
1237
+ "hermes",
1238
+ "openclaw",
1239
+ "generic"
1240
+ ],
1241
+ "path": "jobs/sales/champion-departure-watch.yaml"
1242
+ },
986
1243
  {
987
1244
  "id": "change-order-approval-reminder",
988
1245
  "version": 1,
@@ -1034,6 +1291,32 @@
1034
1291
  ],
1035
1292
  "path": "jobs/content/changelog-digest.yaml"
1036
1293
  },
1294
+ {
1295
+ "id": "chargeback-fraud-risk-order-review",
1296
+ "version": 1,
1297
+ "name": "Chargeback Fraud Risk Order Review",
1298
+ "description": "Scores new orders against common fraud signals — billing/shipping country mismatch, high order value from a first-time customer, and rush shipping on an unverified address — and flags the risky ones before they ship. Use this if a chargeback has ever landed on an order that, in hindsight, had obvious red flags nobody checked before fulfillment.",
1299
+ "category": "ecommerce",
1300
+ "tags": [
1301
+ "ecommerce",
1302
+ "fraud",
1303
+ "chargebacks",
1304
+ "risk",
1305
+ "orders"
1306
+ ],
1307
+ "schedule": "0 * * * *",
1308
+ "timezone": "UTC",
1309
+ "runner": "shell",
1310
+ "modes": [
1311
+ "script"
1312
+ ],
1313
+ "compatible_agents": [
1314
+ "generic",
1315
+ "claude",
1316
+ "codex"
1317
+ ],
1318
+ "path": "jobs/ecommerce/chargeback-fraud-risk-order-review.yaml"
1319
+ },
1037
1320
  {
1038
1321
  "id": "checkout-conversion-drop-watch",
1039
1322
  "version": 1,
@@ -1189,6 +1472,32 @@
1189
1472
  ],
1190
1473
  "path": "jobs/insurance/claim-status-check.yaml"
1191
1474
  },
1475
+ {
1476
+ "id": "claims-denial-resubmission-check",
1477
+ "version": 1,
1478
+ "name": "Claims Denial Resubmission Check",
1479
+ "description": "Checks denied insurance claims against their payer resubmission or appeal deadline and flags anything still open as the deadline approaches or has already passed. Use this if a denied claim has ever quietly aged past the window to resubmit or appeal it, turning recoverable revenue into a write-off nobody meant to take.",
1480
+ "category": "healthcare",
1481
+ "tags": [
1482
+ "healthcare",
1483
+ "billing",
1484
+ "claims",
1485
+ "denials",
1486
+ "revenue-cycle"
1487
+ ],
1488
+ "schedule": "0 8 * * 1-5",
1489
+ "timezone": "America/New_York",
1490
+ "runner": "shell",
1491
+ "modes": [
1492
+ "script"
1493
+ ],
1494
+ "compatible_agents": [
1495
+ "generic",
1496
+ "claude",
1497
+ "codex"
1498
+ ],
1499
+ "path": "jobs/healthcare/claims-denial-resubmission-check.yaml"
1500
+ },
1192
1501
  {
1193
1502
  "id": "class-utilization-check",
1194
1503
  "version": 1,
@@ -1290,23 +1599,128 @@
1290
1599
  "path": "jobs/warehousing/climate-control-compliance-check.yaml"
1291
1600
  },
1292
1601
  {
1293
- "id": "competitor-page-diff-watch",
1294
- "version": 2,
1295
- "name": "Competitor Page Diff Watch",
1296
- "description": "Snapshots a competitor's pricing or landing page and diffs it against the last snapshot, turning any real change into a short action memo instead of a wall of markup diff. Use this if a competitor has ever changed pricing or repositioned a page and you found out from a customer instead of noticing it yourself.",
1297
- "category": "marketing",
1602
+ "id": "clinical-supply-low-stock-check",
1603
+ "version": 1,
1604
+ "name": "Clinical Supply and PPE Low-Stock Check",
1605
+ "description": "Scans clinical supply and PPE inventory (gloves, masks, gowns, syringes, exam table paper, sanitizer) against reorder thresholds and flags what's running low. Use this if a clinic has ever discovered it was out of gloves or exam paper mid-morning because nobody was watching stock levels between deliveries.",
1606
+ "category": "healthcare",
1298
1607
  "tags": [
1299
- "competitor",
1300
- "monitoring",
1301
- "pricing",
1302
- "marketing"
1608
+ "healthcare",
1609
+ "inventory",
1610
+ "supplies",
1611
+ "ppe",
1612
+ "operations"
1303
1613
  ],
1304
- "schedule": "0 9 * * 1",
1305
- "timezone": "UTC",
1306
- "runner": "hybrid",
1614
+ "schedule": "0 7 * * 1,4",
1615
+ "timezone": "America/New_York",
1616
+ "runner": "shell",
1307
1617
  "modes": [
1308
- "script",
1309
- "agent-prompt"
1618
+ "script"
1619
+ ],
1620
+ "compatible_agents": [
1621
+ "generic",
1622
+ "claude",
1623
+ "codex"
1624
+ ],
1625
+ "path": "jobs/healthcare/clinical-supply-low-stock-check.yaml"
1626
+ },
1627
+ {
1628
+ "id": "closed-lost-reason-audit",
1629
+ "version": 1,
1630
+ "name": "Closed-Lost Reason Audit",
1631
+ "description": "Finds recently closed-lost deals with no loss reason recorded, and summarizes the reasons that were captured into a short pattern report. Use this if closed-lost deals have ever piled up with a blank reason field, making it impossible to tell whether you're losing to a competitor, on price, or on missing features.",
1632
+ "category": "sales",
1633
+ "tags": [
1634
+ "sales",
1635
+ "closed-lost",
1636
+ "win-loss",
1637
+ "reporting"
1638
+ ],
1639
+ "schedule": "0 8 * * 1",
1640
+ "timezone": "UTC",
1641
+ "runner": "hybrid",
1642
+ "modes": [
1643
+ "script",
1644
+ "agent-prompt"
1645
+ ],
1646
+ "compatible_agents": [
1647
+ "claude",
1648
+ "codex",
1649
+ "hermes",
1650
+ "openclaw",
1651
+ "generic"
1652
+ ],
1653
+ "path": "jobs/sales/closed-lost-reason-audit.yaml"
1654
+ },
1655
+ {
1656
+ "id": "cobra-notification-deadline-tracker",
1657
+ "version": 1,
1658
+ "name": "COBRA Notification Deadline Tracker",
1659
+ "description": "Flags terminated employees who are approaching or past the deadline for their COBRA election notice with no notice sent on record. Use this if a COBRA notice has ever gone out late — or not at all — because offboarding paperwork got deprioritized once the employee's last day had already passed.",
1660
+ "category": "hr",
1661
+ "tags": [
1662
+ "hr",
1663
+ "cobra",
1664
+ "offboarding",
1665
+ "compliance",
1666
+ "benefits"
1667
+ ],
1668
+ "schedule": "0 8 * * 1-5",
1669
+ "timezone": "America/New_York",
1670
+ "runner": "shell",
1671
+ "modes": [
1672
+ "script"
1673
+ ],
1674
+ "compatible_agents": [
1675
+ "generic",
1676
+ "claude",
1677
+ "codex"
1678
+ ],
1679
+ "path": "jobs/hr/cobra-notification-deadline-tracker.yaml"
1680
+ },
1681
+ {
1682
+ "id": "commission-payout-tracker",
1683
+ "version": 1,
1684
+ "name": "Commission Payout Tracker",
1685
+ "description": "Finds closed-won deals whose sales commission hasn't been marked as paid even though the payout grace period has passed, and totals what's owed per rep. Use this if a rep has ever had to chase finance to find out why a commission from weeks ago never showed up in their paycheck.",
1686
+ "category": "sales",
1687
+ "tags": [
1688
+ "sales",
1689
+ "commission",
1690
+ "payroll-adjacent",
1691
+ "compensation"
1692
+ ],
1693
+ "schedule": "0 8 1,15 * *",
1694
+ "timezone": "UTC",
1695
+ "runner": "shell",
1696
+ "modes": [
1697
+ "script"
1698
+ ],
1699
+ "compatible_agents": [
1700
+ "generic",
1701
+ "claude",
1702
+ "codex"
1703
+ ],
1704
+ "path": "jobs/sales/commission-payout-tracker.yaml"
1705
+ },
1706
+ {
1707
+ "id": "competitor-page-diff-watch",
1708
+ "version": 2,
1709
+ "name": "Competitor Page Diff Watch",
1710
+ "description": "Snapshots a competitor's pricing or landing page and diffs it against the last snapshot, turning any real change into a short action memo instead of a wall of markup diff. Use this if a competitor has ever changed pricing or repositioned a page and you found out from a customer instead of noticing it yourself.",
1711
+ "category": "marketing",
1712
+ "tags": [
1713
+ "competitor",
1714
+ "monitoring",
1715
+ "pricing",
1716
+ "marketing"
1717
+ ],
1718
+ "schedule": "0 9 * * 1",
1719
+ "timezone": "UTC",
1720
+ "runner": "hybrid",
1721
+ "modes": [
1722
+ "script",
1723
+ "agent-prompt"
1310
1724
  ],
1311
1725
  "compatible_agents": [
1312
1726
  "claude",
@@ -1317,6 +1731,34 @@
1317
1731
  ],
1318
1732
  "path": "jobs/marketing/competitor-page-diff-watch.yaml"
1319
1733
  },
1734
+ {
1735
+ "id": "competitor-price-watch",
1736
+ "version": 1,
1737
+ "name": "Competitor Price Watch",
1738
+ "description": "Fetches a competitor's product page for each SKU you're tracking, pulls out the price, and flags any SKU where their price has moved enough to matter relative to yours. Use this if you've ever found out you were underpricing (or getting undercut on) a product only because a customer mentioned it.",
1739
+ "category": "ecommerce",
1740
+ "tags": [
1741
+ "ecommerce",
1742
+ "pricing",
1743
+ "competitor",
1744
+ "monitoring"
1745
+ ],
1746
+ "schedule": "0 6 * * *",
1747
+ "timezone": "UTC",
1748
+ "runner": "hybrid",
1749
+ "modes": [
1750
+ "script",
1751
+ "agent-prompt"
1752
+ ],
1753
+ "compatible_agents": [
1754
+ "claude",
1755
+ "codex",
1756
+ "hermes",
1757
+ "openclaw",
1758
+ "generic"
1759
+ ],
1760
+ "path": "jobs/ecommerce/competitor-price-watch.yaml"
1761
+ },
1320
1762
  {
1321
1763
  "id": "compliance-filing-deadline-reminder",
1322
1764
  "version": 1,
@@ -1342,6 +1784,31 @@
1342
1784
  ],
1343
1785
  "path": "jobs/legal/compliance-filing-deadline-reminder.yaml"
1344
1786
  },
1787
+ {
1788
+ "id": "compliance-training-completion-check",
1789
+ "version": 1,
1790
+ "name": "Compliance Training Completion Check",
1791
+ "description": "Flags employees with a required compliance training (harassment prevention, safety cert, data-privacy, etc.) approaching or past its due date with no completion on record. Use this if a training deadline has ever been missed and only surfaced when a regulator or auditor asked for proof of completion.",
1792
+ "category": "hr",
1793
+ "tags": [
1794
+ "hr",
1795
+ "compliance",
1796
+ "training",
1797
+ "deadline"
1798
+ ],
1799
+ "schedule": "0 8 * * 1",
1800
+ "timezone": "America/New_York",
1801
+ "runner": "shell",
1802
+ "modes": [
1803
+ "script"
1804
+ ],
1805
+ "compatible_agents": [
1806
+ "generic",
1807
+ "claude",
1808
+ "codex"
1809
+ ],
1810
+ "path": "jobs/hr/compliance-training-completion-check.yaml"
1811
+ },
1345
1812
  {
1346
1813
  "id": "conference-cfp-deadline-reminder",
1347
1814
  "version": 1,
@@ -1370,6 +1837,31 @@
1370
1837
  ],
1371
1838
  "path": "jobs/learning/conference-cfp-deadline-reminder.yaml"
1372
1839
  },
1840
+ {
1841
+ "id": "conflict-of-interest-check-tracker",
1842
+ "version": 1,
1843
+ "name": "Conflict-of-Interest Check Tracker",
1844
+ "description": "Checks new matters or clients waiting on a conflict-of-interest clearance and flags any that have sat unresolved past a set number of days. Use this if a new engagement has ever started before the conflicts check actually cleared, because the request got sent and then forgotten.",
1845
+ "category": "legal",
1846
+ "tags": [
1847
+ "legal",
1848
+ "conflicts-check",
1849
+ "intake",
1850
+ "compliance"
1851
+ ],
1852
+ "schedule": "0 9 * * 1-5",
1853
+ "timezone": "UTC",
1854
+ "runner": "shell",
1855
+ "modes": [
1856
+ "script"
1857
+ ],
1858
+ "compatible_agents": [
1859
+ "generic",
1860
+ "claude",
1861
+ "codex"
1862
+ ],
1863
+ "path": "jobs/legal/conflict-of-interest-check-tracker.yaml"
1864
+ },
1373
1865
  {
1374
1866
  "id": "constituent-casework-followup-check",
1375
1867
  "version": 1,
@@ -1446,6 +1938,31 @@
1446
1938
  ],
1447
1939
  "path": "jobs/creator/content-calendar-gap-check.yaml"
1448
1940
  },
1941
+ {
1942
+ "id": "contract-renewal-opportunity-tracker",
1943
+ "version": 1,
1944
+ "name": "Contract Renewal Opportunity Tracker",
1945
+ "description": "Flags existing customer contracts approaching their renewal date so account management can start the renewal conversation early. Use this if a contract has ever auto-lapsed or renewed on unfavorable terms because nobody flagged it until it was almost too late.",
1946
+ "category": "sales",
1947
+ "tags": [
1948
+ "sales",
1949
+ "renewals",
1950
+ "contracts",
1951
+ "account-management"
1952
+ ],
1953
+ "schedule": "0 8 * * 1-5",
1954
+ "timezone": "UTC",
1955
+ "runner": "shell",
1956
+ "modes": [
1957
+ "script"
1958
+ ],
1959
+ "compatible_agents": [
1960
+ "generic",
1961
+ "claude",
1962
+ "codex"
1963
+ ],
1964
+ "path": "jobs/sales/contract-renewal-opportunity-tracker.yaml"
1965
+ },
1449
1966
  {
1450
1967
  "id": "contract-renewal-reminder",
1451
1968
  "version": 1,
@@ -1470,6 +1987,59 @@
1470
1987
  ],
1471
1988
  "path": "jobs/legal/contract-renewal-reminder.yaml"
1472
1989
  },
1990
+ {
1991
+ "id": "contractor-1099-threshold-tracker",
1992
+ "version": 1,
1993
+ "name": "Contractor 1099 Threshold Tracker",
1994
+ "description": "Tracks year-to-date payments per contractor and flags anyone approaching or past the tax reporting threshold that triggers a 1099. Use this if you pay freelancers or contractors and don't want to discover in January that you're missing W-9s for someone you owe a filing for.",
1995
+ "category": "finance",
1996
+ "tags": [
1997
+ "1099",
1998
+ "contractors",
1999
+ "tax",
2000
+ "finance"
2001
+ ],
2002
+ "schedule": "0 9 1 * *",
2003
+ "timezone": "UTC",
2004
+ "runner": "shell",
2005
+ "modes": [
2006
+ "script"
2007
+ ],
2008
+ "compatible_agents": [
2009
+ "generic",
2010
+ "claude",
2011
+ "codex"
2012
+ ],
2013
+ "path": "jobs/finance/contractor-1099-threshold-tracker.yaml"
2014
+ },
2015
+ {
2016
+ "id": "controlled-substance-inventory-reconciliation",
2017
+ "version": 1,
2018
+ "name": "Controlled Substance Inventory Reconciliation",
2019
+ "description": "Reviews the practice's controlled-substance dispensing/administration log (e.g. in-office injectable opioids, ketamine, testosterone, Schedule II-V medications kept on site) for gaps or unreconciled counts. Use this if a discrepancy in a controlled-drug count has ever gone unnoticed for weeks in a human practice instead of being caught same-day — this covers a clinic's own in-office stock, the same DEA-style pattern as jobs/veterinary/controlled-substance-log-audit.yaml but for a human medical/dental practice rather than an animal clinic, so both are kept as separate jobs.",
2020
+ "category": "healthcare",
2021
+ "tags": [
2022
+ "healthcare",
2023
+ "controlled-substances",
2024
+ "compliance",
2025
+ "audit",
2026
+ "dea"
2027
+ ],
2028
+ "schedule": "0 20 * * *",
2029
+ "timezone": "America/New_York",
2030
+ "runner": "agent-prompt",
2031
+ "modes": [
2032
+ "agent-prompt"
2033
+ ],
2034
+ "compatible_agents": [
2035
+ "claude",
2036
+ "codex",
2037
+ "hermes",
2038
+ "openclaw",
2039
+ "generic"
2040
+ ],
2041
+ "path": "jobs/healthcare/controlled-substance-inventory-reconciliation.yaml"
2042
+ },
1473
2043
  {
1474
2044
  "id": "controlled-substance-log-audit",
1475
2045
  "version": 1,
@@ -1497,6 +2067,31 @@
1497
2067
  ],
1498
2068
  "path": "jobs/veterinary/controlled-substance-log-audit.yaml"
1499
2069
  },
2070
+ {
2071
+ "id": "corporate-minute-book-completeness-check",
2072
+ "version": 1,
2073
+ "name": "Corporate Minute Book Completeness Check",
2074
+ "description": "Checks the corporate minute book against the list of resolutions and actions that should be documented for the year and flags anything missing. Use this if a board resolution or annual consent has ever been discussed and acted on but never actually got written up and filed in the minute book, which surfaces at the worst time — due diligence for a financing or sale.",
2075
+ "category": "legal",
2076
+ "tags": [
2077
+ "legal",
2078
+ "corporate-governance",
2079
+ "board-resolutions",
2080
+ "minute-book"
2081
+ ],
2082
+ "schedule": "0 9 1 1,4,7,10 *",
2083
+ "timezone": "UTC",
2084
+ "runner": "shell",
2085
+ "modes": [
2086
+ "script"
2087
+ ],
2088
+ "compatible_agents": [
2089
+ "generic",
2090
+ "claude",
2091
+ "codex"
2092
+ ],
2093
+ "path": "jobs/legal/corporate-minute-book-completeness-check.yaml"
2094
+ },
1500
2095
  {
1501
2096
  "id": "cost-alert",
1502
2097
  "version": 2,
@@ -1650,6 +2245,30 @@
1650
2245
  ],
1651
2246
  "path": "jobs/telecom/cpe-firmware-update-tracker.yaml"
1652
2247
  },
2248
+ {
2249
+ "id": "credit-utilization-watch",
2250
+ "version": 1,
2251
+ "name": "Credit Utilization Watch",
2252
+ "description": "Checks the balance-to-limit ratio on a credit card or line of credit and warns when utilization crosses a threshold. Use this if you want to protect your credit score or stay within a business line of credit's comfortable operating range, rather than finding out only when a statement arrives.",
2253
+ "category": "finance",
2254
+ "tags": [
2255
+ "credit",
2256
+ "utilization",
2257
+ "finance"
2258
+ ],
2259
+ "schedule": "0 8 * * *",
2260
+ "timezone": "UTC",
2261
+ "runner": "shell",
2262
+ "modes": [
2263
+ "script"
2264
+ ],
2265
+ "compatible_agents": [
2266
+ "generic",
2267
+ "claude",
2268
+ "codex"
2269
+ ],
2270
+ "path": "jobs/finance/credit-utilization-watch.yaml"
2271
+ },
1653
2272
  {
1654
2273
  "id": "crew-safety-cert-expiry-check",
1655
2274
  "version": 1,
@@ -1906,6 +2525,35 @@
1906
2525
  ],
1907
2526
  "path": "jobs/productivity/daily-standup-summary.yaml"
1908
2527
  },
2528
+ {
2529
+ "id": "data-privacy-request-deadline-tracker",
2530
+ "version": 1,
2531
+ "name": "Data Privacy Request (GDPR/CCPA) Deadline Tracker",
2532
+ "description": "Flags open data subject access/deletion requests approaching their statutory response deadline and drafts a status summary for whoever owns the response. Use this if a GDPR or CCPA-style privacy request has ever come uncomfortably close to its response window because tracking it lived in someone's inbox instead of a real deadline list.",
2533
+ "category": "legal",
2534
+ "tags": [
2535
+ "legal",
2536
+ "data-privacy",
2537
+ "gdpr",
2538
+ "ccpa",
2539
+ "deadline"
2540
+ ],
2541
+ "schedule": "0 8 * * *",
2542
+ "timezone": "UTC",
2543
+ "runner": "hybrid",
2544
+ "modes": [
2545
+ "script",
2546
+ "agent-prompt"
2547
+ ],
2548
+ "compatible_agents": [
2549
+ "claude",
2550
+ "codex",
2551
+ "hermes",
2552
+ "openclaw",
2553
+ "generic"
2554
+ ],
2555
+ "path": "jobs/legal/data-privacy-request-deadline-tracker.yaml"
2556
+ },
1909
2557
  {
1910
2558
  "id": "db-backup-verify",
1911
2559
  "version": 1,
@@ -2058,6 +2706,31 @@
2058
2706
  ],
2059
2707
  "path": "jobs/veterinary/diagnostic-equipment-calibration-check.yaml"
2060
2708
  },
2709
+ {
2710
+ "id": "discount-approval-pending-check",
2711
+ "version": 1,
2712
+ "name": "Discount Approval Pending Check",
2713
+ "description": "Flags deals with a discount above your standard threshold that are still waiting on manager approval, especially ones that have been sitting for a while. Use this if a rep has ever quoted a customer a deep discount and the deal stalled for days waiting on an approval nobody knew was pending.",
2714
+ "category": "sales",
2715
+ "tags": [
2716
+ "sales",
2717
+ "discounts",
2718
+ "approvals",
2719
+ "deal-desk"
2720
+ ],
2721
+ "schedule": "0 */4 * * 1-5",
2722
+ "timezone": "UTC",
2723
+ "runner": "shell",
2724
+ "modes": [
2725
+ "script"
2726
+ ],
2727
+ "compatible_agents": [
2728
+ "generic",
2729
+ "claude",
2730
+ "codex"
2731
+ ],
2732
+ "path": "jobs/sales/discount-approval-pending-check.yaml"
2733
+ },
2061
2734
  {
2062
2735
  "id": "disk-space-check",
2063
2736
  "version": 1,
@@ -2282,6 +2955,31 @@
2282
2955
  ],
2283
2956
  "path": "jobs/fleet/driver-license-cdl-expiry-check.yaml"
2284
2957
  },
2958
+ {
2959
+ "id": "duplicate-payment-detection",
2960
+ "version": 1,
2961
+ "name": "Duplicate Payment Detection",
2962
+ "description": "Scans a payments/disbursements log for the same vendor and invoice number (or same vendor/amount/date) paid more than once. Use this if a bill has ever gotten paid twice because it was submitted through two channels or reprocessed after a system hiccup.",
2963
+ "category": "finance",
2964
+ "tags": [
2965
+ "duplicate-payment",
2966
+ "accounts-payable",
2967
+ "fraud-prevention",
2968
+ "finance"
2969
+ ],
2970
+ "schedule": "0 9 * * 1",
2971
+ "timezone": "UTC",
2972
+ "runner": "shell",
2973
+ "modes": [
2974
+ "script"
2975
+ ],
2976
+ "compatible_agents": [
2977
+ "generic",
2978
+ "claude",
2979
+ "codex"
2980
+ ],
2981
+ "path": "jobs/finance/duplicate-payment-detection.yaml"
2982
+ },
2285
2983
  {
2286
2984
  "id": "earnings-calendar-watch",
2287
2985
  "version": 1,
@@ -2309,6 +3007,58 @@
2309
3007
  ],
2310
3008
  "path": "jobs/investing/earnings-calendar-watch.yaml"
2311
3009
  },
3010
+ {
3011
+ "id": "economic-nexus-threshold-check",
3012
+ "version": 1,
3013
+ "name": "Economic Nexus Threshold Check",
3014
+ "description": "Checks your year-to-date sales revenue and transaction count per state against economic nexus thresholds and flags states you're approaching or have crossed. Use this if you've ever registered for sales tax in a state only after crossing the threshold months earlier, because nobody was tracking cumulative sales by state.",
3015
+ "category": "ecommerce",
3016
+ "tags": [
3017
+ "ecommerce",
3018
+ "sales-tax",
3019
+ "nexus",
3020
+ "compliance",
3021
+ "finance"
3022
+ ],
3023
+ "schedule": "0 6 1 * *",
3024
+ "timezone": "UTC",
3025
+ "runner": "shell",
3026
+ "modes": [
3027
+ "script"
3028
+ ],
3029
+ "compatible_agents": [
3030
+ "generic",
3031
+ "claude",
3032
+ "codex"
3033
+ ],
3034
+ "path": "jobs/ecommerce/economic-nexus-threshold-check.yaml"
3035
+ },
3036
+ {
3037
+ "id": "eeo1-filing-deadline-reminder",
3038
+ "version": 1,
3039
+ "name": "EEO-1 Filing Deadline Reminder",
3040
+ "description": "Counts down to the annual EEO-1 component filing deadline so data collection and submission don't get rushed at the last minute. Use this if the EEO-1 window has ever snuck up because it only comes around once a year and nobody put it on a recurring calendar.",
3041
+ "category": "hr",
3042
+ "tags": [
3043
+ "hr",
3044
+ "eeo1",
3045
+ "compliance",
3046
+ "filing",
3047
+ "deadline"
3048
+ ],
3049
+ "schedule": "0 9 * * *",
3050
+ "timezone": "America/New_York",
3051
+ "runner": "shell",
3052
+ "modes": [
3053
+ "script"
3054
+ ],
3055
+ "compatible_agents": [
3056
+ "generic",
3057
+ "claude",
3058
+ "codex"
3059
+ ],
3060
+ "path": "jobs/hr/eeo1-filing-deadline-reminder.yaml"
3061
+ },
2312
3062
  {
2313
3063
  "id": "email-deliverability-check",
2314
3064
  "version": 1,
@@ -2486,6 +3236,31 @@
2486
3236
  ],
2487
3237
  "path": "jobs/childcare/enrollment-waitlist-followup-check.yaml"
2488
3238
  },
3239
+ {
3240
+ "id": "entity-authority-document-expiry-check",
3241
+ "version": 1,
3242
+ "name": "Entity Authority Document Expiry Check",
3243
+ "description": "Warns before a power of attorney, corporate signing-authority certificate, or other entity-authority document reaches its expiration date. Use this if a bank, counterparty, or government office has ever rejected a signature because the power of attorney or authority certificate backing it had quietly expired.",
3244
+ "category": "legal",
3245
+ "tags": [
3246
+ "legal",
3247
+ "power-of-attorney",
3248
+ "corporate-authority",
3249
+ "compliance"
3250
+ ],
3251
+ "schedule": "0 9 1 * *",
3252
+ "timezone": "UTC",
3253
+ "runner": "shell",
3254
+ "modes": [
3255
+ "script"
3256
+ ],
3257
+ "compatible_agents": [
3258
+ "generic",
3259
+ "claude",
3260
+ "codex"
3261
+ ],
3262
+ "path": "jobs/legal/entity-authority-document-expiry-check.yaml"
3263
+ },
2489
3264
  {
2490
3265
  "id": "env-drift-check",
2491
3266
  "version": 1,
@@ -2735,6 +3510,32 @@
2735
3510
  ],
2736
3511
  "path": "jobs/events/event-staffing-shortfall-check.yaml"
2737
3512
  },
3513
+ {
3514
+ "id": "eviction-notice-deadline-tracker",
3515
+ "version": 1,
3516
+ "name": "Eviction / Notice-to-Quit Deadline Tracker",
3517
+ "description": "Tracks active notice-to-quit and eviction filings against their next legal deadline (cure period expiry, court date, response window) and flags anything coming up. Use this if a case has ever stalled or been dismissed on a technicality because a filing or hearing deadline was missed.",
3518
+ "category": "realestate",
3519
+ "tags": [
3520
+ "realestate",
3521
+ "eviction",
3522
+ "legal",
3523
+ "deadline",
3524
+ "compliance"
3525
+ ],
3526
+ "schedule": "0 8 * * *",
3527
+ "timezone": "UTC",
3528
+ "runner": "shell",
3529
+ "modes": [
3530
+ "script"
3531
+ ],
3532
+ "compatible_agents": [
3533
+ "generic",
3534
+ "claude",
3535
+ "codex"
3536
+ ],
3537
+ "path": "jobs/realestate/eviction-notice-deadline-tracker.yaml"
3538
+ },
2738
3539
  {
2739
3540
  "id": "exit-interview-completion-check",
2740
3541
  "version": 1,
@@ -2762,6 +3563,31 @@
2762
3563
  ],
2763
3564
  "path": "jobs/hr/exit-interview-completion-check.yaml"
2764
3565
  },
3566
+ {
3567
+ "id": "expense-report-compliance-check",
3568
+ "version": 1,
3569
+ "name": "Expense Report Compliance Check",
3570
+ "description": "Scans submitted expense report line items for missing receipts or amounts over your policy limit for that category. Use this if reimbursements have ever gone out the door with a missing receipt or a suspiciously large \"meals\" line nobody double-checked.",
3571
+ "category": "finance",
3572
+ "tags": [
3573
+ "expenses",
3574
+ "compliance",
3575
+ "policy",
3576
+ "finance"
3577
+ ],
3578
+ "schedule": "0 9 * * 1",
3579
+ "timezone": "UTC",
3580
+ "runner": "shell",
3581
+ "modes": [
3582
+ "script"
3583
+ ],
3584
+ "compatible_agents": [
3585
+ "generic",
3586
+ "claude",
3587
+ "codex"
3588
+ ],
3589
+ "path": "jobs/finance/expense-report-compliance-check.yaml"
3590
+ },
2765
3591
  {
2766
3592
  "id": "expense-report-deadline-reminder",
2767
3593
  "version": 1,
@@ -2884,6 +3710,32 @@
2884
3710
  ],
2885
3711
  "path": "jobs/security/failed-login-watch.yaml"
2886
3712
  },
3713
+ {
3714
+ "id": "failed-payment-dunning-check",
3715
+ "version": 1,
3716
+ "name": "Failed Payment Dunning Check",
3717
+ "description": "Checks recurring/subscription orders with a failed payment and flags ones that have been retrying too long without success, so you can step in before the customer silently churns. Use this if a subscriber has ever stayed on \"payment failed\" for weeks with nobody following up, quietly costing you recurring revenue.",
3718
+ "category": "ecommerce",
3719
+ "tags": [
3720
+ "ecommerce",
3721
+ "subscriptions",
3722
+ "payments",
3723
+ "dunning",
3724
+ "churn"
3725
+ ],
3726
+ "schedule": "0 9 * * *",
3727
+ "timezone": "UTC",
3728
+ "runner": "shell",
3729
+ "modes": [
3730
+ "script"
3731
+ ],
3732
+ "compatible_agents": [
3733
+ "generic",
3734
+ "claude",
3735
+ "codex"
3736
+ ],
3737
+ "path": "jobs/ecommerce/failed-payment-dunning-check.yaml"
3738
+ },
2887
3739
  {
2888
3740
  "id": "feature-flag-staleness-audit",
2889
3741
  "version": 1,
@@ -3180,6 +4032,31 @@
3180
4032
  ],
3181
4033
  "path": "jobs/hospitality/food-safety-temp-log-check.yaml"
3182
4034
  },
4035
+ {
4036
+ "id": "forecast-submission-compliance-check",
4037
+ "version": 1,
4038
+ "name": "Forecast Submission Compliance Check",
4039
+ "description": "Compares your active rep roster against submitted forecast records for the current period and flags anyone who hasn't submitted yet. Use this if sales leadership has ever walked into a forecast review meeting only to find out half the team never actually submitted numbers.",
4040
+ "category": "sales",
4041
+ "tags": [
4042
+ "sales",
4043
+ "forecasting",
4044
+ "compliance",
4045
+ "sales-ops"
4046
+ ],
4047
+ "schedule": "0 9 * * 5",
4048
+ "timezone": "UTC",
4049
+ "runner": "shell",
4050
+ "modes": [
4051
+ "script"
4052
+ ],
4053
+ "compatible_agents": [
4054
+ "generic",
4055
+ "claude",
4056
+ "codex"
4057
+ ],
4058
+ "path": "jobs/sales/forecast-submission-compliance-check.yaml"
4059
+ },
3183
4060
  {
3184
4061
  "id": "forklift-inspection-check",
3185
4062
  "version": 1,
@@ -3765,6 +4642,57 @@
3765
4642
  ],
3766
4643
  "path": "jobs/personal/habit-checkin.yaml"
3767
4644
  },
4645
+ {
4646
+ "id": "handbook-acknowledgment-tracking",
4647
+ "version": 1,
4648
+ "name": "Employee Handbook Acknowledgment Tracking",
4649
+ "description": "Checks the full roster against the current handbook version and flags anyone who hasn't signed off on it yet — including existing employees after a handbook update, not just new hires. Use this if a handbook revision has ever gone out and only a fraction of the company actually acknowledged it, which nobody discovered until it mattered in a dispute.",
4650
+ "category": "hr",
4651
+ "tags": [
4652
+ "hr",
4653
+ "handbook",
4654
+ "compliance",
4655
+ "policy"
4656
+ ],
4657
+ "schedule": "0 8 1 * *",
4658
+ "timezone": "UTC",
4659
+ "runner": "shell",
4660
+ "modes": [
4661
+ "script"
4662
+ ],
4663
+ "compatible_agents": [
4664
+ "generic",
4665
+ "claude",
4666
+ "codex"
4667
+ ],
4668
+ "path": "jobs/hr/handbook-acknowledgment-tracking.yaml"
4669
+ },
4670
+ {
4671
+ "id": "headcount-budget-variance-check",
4672
+ "version": 1,
4673
+ "name": "Headcount vs. Budget Variance Check",
4674
+ "description": "Compares actual headcount per department against the planned/budgeted headcount and flags departments that are over or under plan. Use this if a department has ever quietly overhired (or sat understaffed) for a quarter before finance and HR compared notes and noticed.",
4675
+ "category": "hr",
4676
+ "tags": [
4677
+ "hr",
4678
+ "headcount",
4679
+ "budget",
4680
+ "finance",
4681
+ "planning"
4682
+ ],
4683
+ "schedule": "0 9 1 * *",
4684
+ "timezone": "UTC",
4685
+ "runner": "shell",
4686
+ "modes": [
4687
+ "script"
4688
+ ],
4689
+ "compatible_agents": [
4690
+ "generic",
4691
+ "claude",
4692
+ "codex"
4693
+ ],
4694
+ "path": "jobs/hr/headcount-budget-variance-check.yaml"
4695
+ },
3768
4696
  {
3769
4697
  "id": "health-inspection-due-reminder",
3770
4698
  "version": 1,
@@ -3808,11 +4736,40 @@
3808
4736
  "script"
3809
4737
  ],
3810
4738
  "compatible_agents": [
3811
- "generic",
4739
+ "generic",
4740
+ "claude",
4741
+ "codex"
4742
+ ],
4743
+ "path": "jobs/restaurant/health-inspection-prep-reminder.yaml"
4744
+ },
4745
+ {
4746
+ "id": "hipaa-access-log-audit",
4747
+ "version": 1,
4748
+ "name": "HIPAA Chart Access Log Audit",
4749
+ "description": "Scans the EHR's chart-access log for high-volume, off-hours, or otherwise unusual access patterns and has an agent judge which are worth a closer look. Use this if unauthorized or curious chart access (a coworker's family member, a local celebrity, an ex-spouse) has ever gone unnoticed because nobody was reviewing the access log until an audit or complaint forced it.",
4750
+ "category": "healthcare",
4751
+ "tags": [
4752
+ "healthcare",
4753
+ "hipaa",
4754
+ "compliance",
4755
+ "audit",
4756
+ "security"
4757
+ ],
4758
+ "schedule": "0 7 * * 1",
4759
+ "timezone": "America/New_York",
4760
+ "runner": "hybrid",
4761
+ "modes": [
4762
+ "script",
4763
+ "agent-prompt"
4764
+ ],
4765
+ "compatible_agents": [
3812
4766
  "claude",
3813
- "codex"
4767
+ "codex",
4768
+ "hermes",
4769
+ "openclaw",
4770
+ "generic"
3814
4771
  ],
3815
- "path": "jobs/restaurant/health-inspection-prep-reminder.yaml"
4772
+ "path": "jobs/healthcare/hipaa-access-log-audit.yaml"
3816
4773
  },
3817
4774
  {
3818
4775
  "id": "hoa-fee-collection-check",
@@ -4470,6 +5427,31 @@
4470
5427
  ],
4471
5428
  "path": "jobs/restaurant/labor-cost-percentage-watch.yaml"
4472
5429
  },
5430
+ {
5431
+ "id": "landlord-insurance-claim-status-check",
5432
+ "version": 1,
5433
+ "name": "Landlord Insurance Claim Status Check",
5434
+ "description": "Tracks open property insurance claims and flags any that haven't had a status update within a set number of days. Use this if a claim has ever gone quiet for weeks with the adjuster because nobody was following up on where it stood.",
5435
+ "category": "realestate",
5436
+ "tags": [
5437
+ "realestate",
5438
+ "insurance",
5439
+ "claims",
5440
+ "follow-up"
5441
+ ],
5442
+ "schedule": "0 8 * * 1-5",
5443
+ "timezone": "UTC",
5444
+ "runner": "shell",
5445
+ "modes": [
5446
+ "script"
5447
+ ],
5448
+ "compatible_agents": [
5449
+ "generic",
5450
+ "claude",
5451
+ "codex"
5452
+ ],
5453
+ "path": "jobs/realestate/landlord-insurance-claim-status-check.yaml"
5454
+ },
4473
5455
  {
4474
5456
  "id": "lapsed-donor-check",
4475
5457
  "version": 1,
@@ -4521,6 +5503,31 @@
4521
5503
  ],
4522
5504
  "path": "jobs/logistics/last-mile-delivery-exception-check.yaml"
4523
5505
  },
5506
+ {
5507
+ "id": "late-fee-interest-risk-check",
5508
+ "version": 1,
5509
+ "name": "Late Fee & Interest Accrual Risk Check",
5510
+ "description": "Estimates the dollar cost of leaving an overdue bill unpaid by projecting late fees and accrued interest against its grace period. Use this if you want to know what an overdue balance is actually costing you, not just that it's overdue (see accounts-payable-aging-check for the plain aging list).",
5511
+ "category": "finance",
5512
+ "tags": [
5513
+ "late-fees",
5514
+ "interest",
5515
+ "accounts-payable",
5516
+ "finance"
5517
+ ],
5518
+ "schedule": "0 9 * * *",
5519
+ "timezone": "UTC",
5520
+ "runner": "shell",
5521
+ "modes": [
5522
+ "script"
5523
+ ],
5524
+ "compatible_agents": [
5525
+ "generic",
5526
+ "claude",
5527
+ "codex"
5528
+ ],
5529
+ "path": "jobs/finance/late-fee-interest-risk-check.yaml"
5530
+ },
4524
5531
  {
4525
5532
  "id": "lead-response-time-check",
4526
5533
  "version": 1,
@@ -4569,6 +5576,81 @@
4569
5576
  ],
4570
5577
  "path": "jobs/realestate/lease-expiry-reminder.yaml"
4571
5578
  },
5579
+ {
5580
+ "id": "lease-renewal-offer-window-check",
5581
+ "version": 1,
5582
+ "name": "Lease Renewal Offer Window Check",
5583
+ "description": "Flags leases approaching expiry where no renewal offer has been sent yet, so tenants get a decision window before they start apartment hunting elsewhere. Use this if a good tenant has ever given notice to leave simply because nobody proactively offered them a renewal in time.",
5584
+ "category": "realestate",
5585
+ "tags": [
5586
+ "realestate",
5587
+ "lease-renewal",
5588
+ "retention"
5589
+ ],
5590
+ "schedule": "0 8 * * 1",
5591
+ "timezone": "UTC",
5592
+ "runner": "shell",
5593
+ "modes": [
5594
+ "script"
5595
+ ],
5596
+ "compatible_agents": [
5597
+ "generic",
5598
+ "claude",
5599
+ "codex"
5600
+ ],
5601
+ "path": "jobs/realestate/lease-renewal-offer-window-check.yaml"
5602
+ },
5603
+ {
5604
+ "id": "leave-of-absence-return-tracker",
5605
+ "version": 1,
5606
+ "name": "Leave of Absence Return Tracker",
5607
+ "description": "Tracks employees on FMLA, parental, medical, or other formal leave and flags upcoming or overdue return dates. Use this if a return-to-work date has ever been missed — either the team wasn't ready for someone coming back, or nobody noticed an expected return date came and went with no check-in.",
5608
+ "category": "hr",
5609
+ "tags": [
5610
+ "hr",
5611
+ "leave-of-absence",
5612
+ "fmla",
5613
+ "parental-leave",
5614
+ "compliance"
5615
+ ],
5616
+ "schedule": "0 8 * * 1-5",
5617
+ "timezone": "America/New_York",
5618
+ "runner": "shell",
5619
+ "modes": [
5620
+ "script"
5621
+ ],
5622
+ "compatible_agents": [
5623
+ "generic",
5624
+ "claude",
5625
+ "codex"
5626
+ ],
5627
+ "path": "jobs/hr/leave-of-absence-return-tracker.yaml"
5628
+ },
5629
+ {
5630
+ "id": "legal-document-retention-purge-review",
5631
+ "version": 1,
5632
+ "name": "Legal Document Retention Purge Review",
5633
+ "description": "Checks contracts and legal documents against their retention schedule and flags anything past its retention period as eligible for archival or destruction review. Use this if signed contracts and legal files have ever piled up indefinitely because nobody was checking them against how long the business's own retention policy actually requires keeping them.",
5634
+ "category": "legal",
5635
+ "tags": [
5636
+ "legal",
5637
+ "records-retention",
5638
+ "document-management",
5639
+ "compliance"
5640
+ ],
5641
+ "schedule": "0 8 1 * *",
5642
+ "timezone": "UTC",
5643
+ "runner": "shell",
5644
+ "modes": [
5645
+ "script"
5646
+ ],
5647
+ "compatible_agents": [
5648
+ "generic",
5649
+ "claude",
5650
+ "codex"
5651
+ ],
5652
+ "path": "jobs/legal/legal-document-retention-purge-review.yaml"
5653
+ },
4572
5654
  {
4573
5655
  "id": "license-compliance-check",
4574
5656
  "version": 1,
@@ -4668,6 +5750,32 @@
4668
5750
  ],
4669
5751
  "path": "jobs/telecom/link-capacity-threshold-alert.yaml"
4670
5752
  },
5753
+ {
5754
+ "id": "litigation-hold-acknowledgment-tracker",
5755
+ "version": 1,
5756
+ "name": "Litigation Hold Acknowledgment Tracker",
5757
+ "description": "Checks active litigation hold notices against the custodian list and flags anyone who hasn't acknowledged receipt yet. Use this if a litigation hold has ever gone out and nobody could later prove every custodian actually got and confirmed it, which is exactly what gets picked apart in a spoliation motion.",
5758
+ "category": "legal",
5759
+ "tags": [
5760
+ "legal",
5761
+ "litigation",
5762
+ "litigation-hold",
5763
+ "ediscovery",
5764
+ "compliance"
5765
+ ],
5766
+ "schedule": "0 8 * * 1-5",
5767
+ "timezone": "UTC",
5768
+ "runner": "shell",
5769
+ "modes": [
5770
+ "script"
5771
+ ],
5772
+ "compatible_agents": [
5773
+ "generic",
5774
+ "claude",
5775
+ "codex"
5776
+ ],
5777
+ "path": "jobs/legal/litigation-hold-acknowledgment-tracker.yaml"
5778
+ },
4671
5779
  {
4672
5780
  "id": "livestock-feed-stock-check",
4673
5781
  "version": 1,
@@ -4693,6 +5801,31 @@
4693
5801
  ],
4694
5802
  "path": "jobs/agriculture/livestock-feed-stock-check.yaml"
4695
5803
  },
5804
+ {
5805
+ "id": "loan-covenant-compliance-check",
5806
+ "version": 1,
5807
+ "name": "Loan Covenant Compliance Check",
5808
+ "description": "Computes financial ratios required by a loan agreement (e.g. debt service coverage, current ratio) from your latest financials and flags any that breach the covenant threshold. Use this if a lender requires you to maintain certain ratios and a breach could trigger default or a call on the loan.",
5809
+ "category": "finance",
5810
+ "tags": [
5811
+ "loan",
5812
+ "covenants",
5813
+ "ratios",
5814
+ "finance"
5815
+ ],
5816
+ "schedule": "0 9 1 * *",
5817
+ "timezone": "UTC",
5818
+ "runner": "shell",
5819
+ "modes": [
5820
+ "script"
5821
+ ],
5822
+ "compatible_agents": [
5823
+ "generic",
5824
+ "claude",
5825
+ "codex"
5826
+ ],
5827
+ "path": "jobs/finance/loan-covenant-compliance-check.yaml"
5828
+ },
4696
5829
  {
4697
5830
  "id": "loaner-vehicle-return-reminder",
4698
5831
  "version": 1,
@@ -4938,6 +6071,31 @@
4938
6071
  ],
4939
6072
  "path": "jobs/fieldservice/maintenance-contract-renewal-check.yaml"
4940
6073
  },
6074
+ {
6075
+ "id": "maintenance-request-sla-check",
6076
+ "version": 1,
6077
+ "name": "Maintenance Request SLA Check",
6078
+ "description": "Scans open tenant maintenance requests and flags any that have blown past your response or resolution SLA. Use this if a leaky faucet or broken heater has ever sat unaddressed for weeks because the request got logged and then forgotten.",
6079
+ "category": "realestate",
6080
+ "tags": [
6081
+ "realestate",
6082
+ "maintenance",
6083
+ "sla",
6084
+ "tenant-requests"
6085
+ ],
6086
+ "schedule": "0 8 * * *",
6087
+ "timezone": "UTC",
6088
+ "runner": "shell",
6089
+ "modes": [
6090
+ "script"
6091
+ ],
6092
+ "compatible_agents": [
6093
+ "generic",
6094
+ "claude",
6095
+ "codex"
6096
+ ],
6097
+ "path": "jobs/realestate/maintenance-request-sla-check.yaml"
6098
+ },
4941
6099
  {
4942
6100
  "id": "manuscript-deadline-tracker",
4943
6101
  "version": 1,
@@ -4988,6 +6146,32 @@
4988
6146
  ],
4989
6147
  "path": "jobs/retail/markdown-aging-inventory-check.yaml"
4990
6148
  },
6149
+ {
6150
+ "id": "marketplace-listing-sync-drift-check",
6151
+ "version": 1,
6152
+ "name": "Marketplace Listing Sync Drift Check",
6153
+ "description": "Compares price and stock on your source-of-truth catalog against what's actually live on a marketplace (Amazon, eBay, Etsy) and flags any SKU that's drifted out of sync. Use this if a marketplace listing has ever shown a stale price or \"in stock\" on an item you'd already sold out of on your own store, because the sync job silently failed.",
6154
+ "category": "ecommerce",
6155
+ "tags": [
6156
+ "ecommerce",
6157
+ "marketplace",
6158
+ "sync",
6159
+ "inventory",
6160
+ "pricing"
6161
+ ],
6162
+ "schedule": "0 */4 * * *",
6163
+ "timezone": "UTC",
6164
+ "runner": "shell",
6165
+ "modes": [
6166
+ "script"
6167
+ ],
6168
+ "compatible_agents": [
6169
+ "generic",
6170
+ "claude",
6171
+ "codex"
6172
+ ],
6173
+ "path": "jobs/ecommerce/marketplace-listing-sync-drift-check.yaml"
6174
+ },
4991
6175
  {
4992
6176
  "id": "material-delivery-delay-check",
4993
6177
  "version": 1,
@@ -5139,6 +6323,31 @@
5139
6323
  ],
5140
6324
  "path": "jobs/spa/membership-unused-session-expiry-check.yaml"
5141
6325
  },
6326
+ {
6327
+ "id": "month-end-close-checklist-tracker",
6328
+ "version": 1,
6329
+ "name": "Month-End Close Checklist Tracker",
6330
+ "description": "Tracks a list of month-end financial close tasks (reconcile bank, post accruals, review AR/AP, close subledgers, etc.) and flags incomplete items as the close deadline approaches. Use this if your monthly close has ever slipped a step because nobody had a single place tracking whether every task actually got done.",
6331
+ "category": "finance",
6332
+ "tags": [
6333
+ "month-end-close",
6334
+ "checklist",
6335
+ "bookkeeping",
6336
+ "finance"
6337
+ ],
6338
+ "schedule": "0 9 25 * *",
6339
+ "timezone": "UTC",
6340
+ "runner": "shell",
6341
+ "modes": [
6342
+ "script"
6343
+ ],
6344
+ "compatible_agents": [
6345
+ "generic",
6346
+ "claude",
6347
+ "codex"
6348
+ ],
6349
+ "path": "jobs/finance/month-end-close-checklist-tracker.yaml"
6350
+ },
5142
6351
  {
5143
6352
  "id": "morning-briefing-digest",
5144
6353
  "version": 1,
@@ -5165,7 +6374,84 @@
5165
6374
  "openclaw",
5166
6375
  "generic"
5167
6376
  ],
5168
- "path": "jobs/productivity/morning-briefing-digest.yaml"
6377
+ "path": "jobs/productivity/morning-briefing-digest.yaml"
6378
+ },
6379
+ {
6380
+ "id": "move-in-move-out-inspection-tracker",
6381
+ "version": 1,
6382
+ "name": "Move-In/Move-Out Inspection Checklist Tracker",
6383
+ "description": "Flags move-ins and move-outs where the condition inspection checklist hasn't been completed within a set number of days of the move date. Use this if a deposit dispute has ever fallen apart because there was no signed move-in or move-out condition report to point to.",
6384
+ "category": "realestate",
6385
+ "tags": [
6386
+ "realestate",
6387
+ "inspection",
6388
+ "move-in",
6389
+ "move-out",
6390
+ "documentation"
6391
+ ],
6392
+ "schedule": "0 8 * * *",
6393
+ "timezone": "UTC",
6394
+ "runner": "shell",
6395
+ "modes": [
6396
+ "script"
6397
+ ],
6398
+ "compatible_agents": [
6399
+ "generic",
6400
+ "claude",
6401
+ "codex"
6402
+ ],
6403
+ "path": "jobs/realestate/move-in-move-out-inspection-tracker.yaml"
6404
+ },
6405
+ {
6406
+ "id": "multi-account-cash-position-rollup",
6407
+ "version": 1,
6408
+ "name": "Multi-Account Cash Position Rollup",
6409
+ "description": "Sums balances across multiple bank/cash accounts into one total position and flags if the total or any single account drops below a minimum threshold. Use this if cash is spread across several accounts or entities and you want a single low-balance tripwire instead of checking each account separately.",
6410
+ "category": "finance",
6411
+ "tags": [
6412
+ "cash",
6413
+ "balances",
6414
+ "multi-account",
6415
+ "finance"
6416
+ ],
6417
+ "schedule": "0 8 * * *",
6418
+ "timezone": "UTC",
6419
+ "runner": "shell",
6420
+ "modes": [
6421
+ "script"
6422
+ ],
6423
+ "compatible_agents": [
6424
+ "generic",
6425
+ "claude",
6426
+ "codex"
6427
+ ],
6428
+ "path": "jobs/finance/multi-account-cash-position-rollup.yaml"
6429
+ },
6430
+ {
6431
+ "id": "multi-year-renewal-escalation-tracker",
6432
+ "version": 1,
6433
+ "name": "Multi-Year Renewal Escalation Tracker",
6434
+ "description": "Flags multi-year contracts approaching their next contract-year anniversary, where a pre-agreed price escalation kicks in, so the customer gets notice before the higher invoice arrives. Use this if a customer has ever been surprised by a built-in price increase on a multi-year deal because nobody sent the required notice ahead of the anniversary date.",
6435
+ "category": "sales",
6436
+ "tags": [
6437
+ "sales",
6438
+ "renewals",
6439
+ "multi-year",
6440
+ "pricing",
6441
+ "account-management"
6442
+ ],
6443
+ "schedule": "0 8 * * 1",
6444
+ "timezone": "UTC",
6445
+ "runner": "shell",
6446
+ "modes": [
6447
+ "script"
6448
+ ],
6449
+ "compatible_agents": [
6450
+ "generic",
6451
+ "claude",
6452
+ "codex"
6453
+ ],
6454
+ "path": "jobs/sales/multi-year-renewal-escalation-tracker.yaml"
5169
6455
  },
5170
6456
  {
5171
6457
  "id": "nda-expiry-check",
@@ -5399,6 +6685,32 @@
5399
6685
  ],
5400
6686
  "path": "jobs/crypto/nft-floor-price-watch.yaml"
5401
6687
  },
6688
+ {
6689
+ "id": "non-compete-expiry-tracker",
6690
+ "version": 1,
6691
+ "name": "Non-Compete / Non-Solicit Expiry Tracker",
6692
+ "description": "Tracks the restricted-period end date of non-compete and non-solicit agreements for departed employees and warns as each one is about to expire. Use this if you've ever needed to know exactly when a former employee's restrictive covenant runs out — before deciding whether to act on a suspected violation, or before it's too late to.",
6693
+ "category": "legal",
6694
+ "tags": [
6695
+ "legal",
6696
+ "non-compete",
6697
+ "non-solicit",
6698
+ "restrictive-covenants",
6699
+ "employment"
6700
+ ],
6701
+ "schedule": "0 9 1 * *",
6702
+ "timezone": "UTC",
6703
+ "runner": "shell",
6704
+ "modes": [
6705
+ "script"
6706
+ ],
6707
+ "compatible_agents": [
6708
+ "generic",
6709
+ "claude",
6710
+ "codex"
6711
+ ],
6712
+ "path": "jobs/legal/non-compete-expiry-tracker.yaml"
6713
+ },
5402
6714
  {
5403
6715
  "id": "offer-expiry-reminder",
5404
6716
  "version": 1,
@@ -5547,6 +6859,31 @@
5547
6859
  ],
5548
6860
  "path": "jobs/hiring/open-req-aging-check.yaml"
5549
6861
  },
6862
+ {
6863
+ "id": "org-chart-manager-drift-check",
6864
+ "version": 1,
6865
+ "name": "Org Chart Manager Drift Check",
6866
+ "description": "Compares the manager field in the HRIS against a separately maintained org-chart source of truth and flags mismatches. Use this if the \"reports to\" field has ever gone stale after a reorg, leaving reviews, approvals, or reminders routed to someone's old manager for months.",
6867
+ "category": "hr",
6868
+ "tags": [
6869
+ "hr",
6870
+ "org-chart",
6871
+ "data-quality",
6872
+ "hris"
6873
+ ],
6874
+ "schedule": "0 8 1 * *",
6875
+ "timezone": "UTC",
6876
+ "runner": "shell",
6877
+ "modes": [
6878
+ "script"
6879
+ ],
6880
+ "compatible_agents": [
6881
+ "generic",
6882
+ "claude",
6883
+ "codex"
6884
+ ],
6885
+ "path": "jobs/hr/org-chart-manager-drift-check.yaml"
6886
+ },
5550
6887
  {
5551
6888
  "id": "orphaned-branch-cleanup",
5552
6889
  "version": 1,
@@ -5571,6 +6908,31 @@
5571
6908
  ],
5572
6909
  "path": "jobs/devops/orphaned-branch-cleanup.yaml"
5573
6910
  },
6911
+ {
6912
+ "id": "outside-counsel-invoice-budget-check",
6913
+ "version": 1,
6914
+ "name": "Outside Counsel Invoice Budget Check",
6915
+ "description": "Compares outside counsel invoices billed to date against each matter's approved budget and flags matters approaching or over budget. Use this if a matter budget has ever been blown through silently because invoices got approved one at a time without anyone tracking the running total against the budget set at intake.",
6916
+ "category": "legal",
6917
+ "tags": [
6918
+ "legal",
6919
+ "outside-counsel",
6920
+ "billing",
6921
+ "budget"
6922
+ ],
6923
+ "schedule": "0 9 1,15 * *",
6924
+ "timezone": "UTC",
6925
+ "runner": "shell",
6926
+ "modes": [
6927
+ "script"
6928
+ ],
6929
+ "compatible_agents": [
6930
+ "generic",
6931
+ "claude",
6932
+ "codex"
6933
+ ],
6934
+ "path": "jobs/legal/outside-counsel-invoice-budget-check.yaml"
6935
+ },
5574
6936
  {
5575
6937
  "id": "overdue-library-materials-check",
5576
6938
  "version": 1,
@@ -5768,6 +7130,84 @@
5768
7130
  ],
5769
7131
  "path": "jobs/legal/patent-maintenance-fee-reminder.yaml"
5770
7132
  },
7133
+ {
7134
+ "id": "patient-balance-collections-aging-check",
7135
+ "version": 1,
7136
+ "name": "Overdue Patient Balance Aging Check",
7137
+ "description": "Buckets outstanding self-pay patient balances by how long they've been unpaid (30/60/90+ days) and flags the oldest ones for collections follow-up. Use this if patient balances have ever quietly aged past the point of easy recovery because nobody was reviewing accounts receivable by age, only by total dollar amount.",
7138
+ "category": "healthcare",
7139
+ "tags": [
7140
+ "healthcare",
7141
+ "billing",
7142
+ "collections",
7143
+ "accounts-receivable",
7144
+ "patients"
7145
+ ],
7146
+ "schedule": "0 8 1,15 * *",
7147
+ "timezone": "America/New_York",
7148
+ "runner": "shell",
7149
+ "modes": [
7150
+ "script"
7151
+ ],
7152
+ "compatible_agents": [
7153
+ "generic",
7154
+ "claude",
7155
+ "codex"
7156
+ ],
7157
+ "path": "jobs/healthcare/patient-balance-collections-aging-check.yaml"
7158
+ },
7159
+ {
7160
+ "id": "patient-immunization-schedule-check",
7161
+ "version": 1,
7162
+ "name": "Patient Immunization Schedule Check",
7163
+ "description": "Checks which patients are due or overdue for a scheduled immunization and lists them for outreach. Use this if a patient (child or adult) has ever fallen behind on a vaccine series because nobody was tracking due dates against the immunization schedule between visits — this is for human patients, distinct from jobs/veterinary/pet-vaccine-due-reminder.yaml which tracks pet vaccines at an animal clinic.",
7164
+ "category": "healthcare",
7165
+ "tags": [
7166
+ "healthcare",
7167
+ "immunization",
7168
+ "vaccine",
7169
+ "patients",
7170
+ "preventive-care"
7171
+ ],
7172
+ "schedule": "0 8 * * *",
7173
+ "timezone": "America/New_York",
7174
+ "runner": "shell",
7175
+ "modes": [
7176
+ "script"
7177
+ ],
7178
+ "compatible_agents": [
7179
+ "generic",
7180
+ "claude",
7181
+ "codex"
7182
+ ],
7183
+ "path": "jobs/healthcare/patient-immunization-schedule-check.yaml"
7184
+ },
7185
+ {
7186
+ "id": "patient-portal-message-backlog-check",
7187
+ "version": 1,
7188
+ "name": "Patient Portal Message Backlog Check",
7189
+ "description": "Checks unanswered patient portal messages against a response-time SLA and flags anything overdue. Use this if a patient message has ever sat unanswered in the portal inbox for days because it scrolled off the top of a busy staff member's queue and nobody was tracking age.",
7190
+ "category": "healthcare",
7191
+ "tags": [
7192
+ "healthcare",
7193
+ "patient-portal",
7194
+ "messaging",
7195
+ "sla",
7196
+ "patients"
7197
+ ],
7198
+ "schedule": "0 */2 * * 1-6",
7199
+ "timezone": "America/New_York",
7200
+ "runner": "shell",
7201
+ "modes": [
7202
+ "script"
7203
+ ],
7204
+ "compatible_agents": [
7205
+ "generic",
7206
+ "claude",
7207
+ "codex"
7208
+ ],
7209
+ "path": "jobs/healthcare/patient-portal-message-backlog-check.yaml"
7210
+ },
5771
7211
  {
5772
7212
  "id": "patient-recall-reminder",
5773
7213
  "version": 1,
@@ -5795,6 +7235,63 @@
5795
7235
  ],
5796
7236
  "path": "jobs/healthcare/patient-recall-reminder.yaml"
5797
7237
  },
7238
+ {
7239
+ "id": "patient-satisfaction-survey-tracking",
7240
+ "version": 1,
7241
+ "name": "Patient Satisfaction Survey Response Tracking",
7242
+ "description": "Tallies patient satisfaction survey response rates and surfaces low scores with comments for follow-up. Use this if low-scoring survey responses have ever sat unread in an inbox, or a slipping response rate went unnoticed for months — distinct from generic online reviews, this tracks a practice's own post-visit survey instrument.",
7243
+ "category": "healthcare",
7244
+ "tags": [
7245
+ "healthcare",
7246
+ "patient-satisfaction",
7247
+ "survey",
7248
+ "feedback",
7249
+ "patients"
7250
+ ],
7251
+ "schedule": "0 9 * * 1",
7252
+ "timezone": "America/New_York",
7253
+ "runner": "hybrid",
7254
+ "modes": [
7255
+ "script",
7256
+ "agent-prompt"
7257
+ ],
7258
+ "compatible_agents": [
7259
+ "claude",
7260
+ "codex",
7261
+ "hermes",
7262
+ "openclaw",
7263
+ "generic"
7264
+ ],
7265
+ "path": "jobs/healthcare/patient-satisfaction-survey-tracking.yaml"
7266
+ },
7267
+ {
7268
+ "id": "pay-equity-band-outlier-check",
7269
+ "version": 1,
7270
+ "name": "Pay Equity Band Outlier Check",
7271
+ "description": "Scans a salary-band export for employees paid outside their role's band or unusually far from the band midpoint, and summarizes any patterns worth a closer look. Use this if pay outliers have ever gone unnoticed for a review cycle simply because nobody cross-checked salaries against bands until an audit or a pay-equity complaint forced the issue.",
7272
+ "category": "hr",
7273
+ "tags": [
7274
+ "hr",
7275
+ "pay-equity",
7276
+ "compensation",
7277
+ "compliance"
7278
+ ],
7279
+ "schedule": "0 9 1 1,4,7,10 *",
7280
+ "timezone": "UTC",
7281
+ "runner": "hybrid",
7282
+ "modes": [
7283
+ "script",
7284
+ "agent-prompt"
7285
+ ],
7286
+ "compatible_agents": [
7287
+ "claude",
7288
+ "codex",
7289
+ "hermes",
7290
+ "openclaw",
7291
+ "generic"
7292
+ ],
7293
+ "path": "jobs/hr/pay-equity-band-outlier-check.yaml"
7294
+ },
5798
7295
  {
5799
7296
  "id": "payroll-cutoff-checklist-reminder",
5800
7297
  "version": 1,
@@ -5995,6 +7492,31 @@
5995
7492
  ],
5996
7493
  "path": "jobs/veterinary/pet-vaccine-due-reminder.yaml"
5997
7494
  },
7495
+ {
7496
+ "id": "petty-cash-float-reconciliation",
7497
+ "version": 1,
7498
+ "name": "Petty Cash Float Reconciliation",
7499
+ "description": "Checks that a petty cash log's starting float minus logged expenses plus replenishments matches the expected remaining balance, and flags any variance. Use this if a physical cash box or float has ever come up short (or over) and nobody could explain why.",
7500
+ "category": "finance",
7501
+ "tags": [
7502
+ "petty-cash",
7503
+ "reconciliation",
7504
+ "cash",
7505
+ "finance"
7506
+ ],
7507
+ "schedule": "0 9 * * 1",
7508
+ "timezone": "UTC",
7509
+ "runner": "shell",
7510
+ "modes": [
7511
+ "script"
7512
+ ],
7513
+ "compatible_agents": [
7514
+ "generic",
7515
+ "claude",
7516
+ "codex"
7517
+ ],
7518
+ "path": "jobs/finance/petty-cash-float-reconciliation.yaml"
7519
+ },
5998
7520
  {
5999
7521
  "id": "pick-pack-error-rate-watch",
6000
7522
  "version": 1,
@@ -6020,6 +7542,31 @@
6020
7542
  ],
6021
7543
  "path": "jobs/warehousing/pick-pack-error-rate-watch.yaml"
6022
7544
  },
7545
+ {
7546
+ "id": "pipeline-hygiene-audit",
7547
+ "version": 1,
7548
+ "name": "Pipeline Hygiene Audit",
7549
+ "description": "Finds open deals missing basic required fields, like an amount, a close date, or a next step, so forecasts and reports aren't quietly built on bad data. Use this if a forecast has ever been wrong because half the pipeline had blank fields nobody was checking for.",
7550
+ "category": "sales",
7551
+ "tags": [
7552
+ "sales",
7553
+ "pipeline",
7554
+ "data-quality",
7555
+ "crm-hygiene"
7556
+ ],
7557
+ "schedule": "0 8 * * 1",
7558
+ "timezone": "UTC",
7559
+ "runner": "shell",
7560
+ "modes": [
7561
+ "script"
7562
+ ],
7563
+ "compatible_agents": [
7564
+ "generic",
7565
+ "claude",
7566
+ "codex"
7567
+ ],
7568
+ "path": "jobs/sales/pipeline-hygiene-audit.yaml"
7569
+ },
6023
7570
  {
6024
7571
  "id": "plant-watering-reminder",
6025
7572
  "version": 1,
@@ -6069,6 +7616,31 @@
6069
7616
  ],
6070
7617
  "path": "jobs/gaming/player-contract-renewal-check.yaml"
6071
7618
  },
7619
+ {
7620
+ "id": "poc-trial-conversion-tracker",
7621
+ "version": 1,
7622
+ "name": "Sales-Led POC Conversion Tracker",
7623
+ "description": "Flags sales-assisted proof-of-concept (POC) engagements approaching or past their end date with no closed-won or closed-lost outcome recorded. Use this if an enterprise POC has ever quietly run past its agreed end date with no clear owner pushing toward a decision.",
7624
+ "category": "sales",
7625
+ "tags": [
7626
+ "sales",
7627
+ "poc",
7628
+ "enterprise",
7629
+ "conversion"
7630
+ ],
7631
+ "schedule": "0 8 * * 1-5",
7632
+ "timezone": "UTC",
7633
+ "runner": "shell",
7634
+ "modes": [
7635
+ "script"
7636
+ ],
7637
+ "compatible_agents": [
7638
+ "generic",
7639
+ "claude",
7640
+ "codex"
7641
+ ],
7642
+ "path": "jobs/sales/poc-trial-conversion-tracker.yaml"
7643
+ },
6072
7644
  {
6073
7645
  "id": "podcast-download-drop-watch",
6074
7646
  "version": 1,
@@ -6299,6 +7871,32 @@
6299
7871
  ],
6300
7872
  "path": "jobs/insurance/premium-payment-due-reminder.yaml"
6301
7873
  },
7874
+ {
7875
+ "id": "prescription-refill-request-backlog-check",
7876
+ "version": 1,
7877
+ "name": "Prescription Refill Request Backlog Check",
7878
+ "description": "Checks pending prescription refill requests against how long they've been waiting and flags anything past a reasonable turnaround. Use this if a refill request has ever sat in a queue long enough that a patient ran out of a maintenance medication before the practice got to it.",
7879
+ "category": "healthcare",
7880
+ "tags": [
7881
+ "healthcare",
7882
+ "prescriptions",
7883
+ "refills",
7884
+ "patients",
7885
+ "medication"
7886
+ ],
7887
+ "schedule": "0 9,15 * * 1-5",
7888
+ "timezone": "America/New_York",
7889
+ "runner": "shell",
7890
+ "modes": [
7891
+ "script"
7892
+ ],
7893
+ "compatible_agents": [
7894
+ "generic",
7895
+ "claude",
7896
+ "codex"
7897
+ ],
7898
+ "path": "jobs/healthcare/prescription-refill-request-backlog-check.yaml"
7899
+ },
6302
7900
  {
6303
7901
  "id": "preventive-maintenance-due-check",
6304
7902
  "version": 1,
@@ -6348,6 +7946,32 @@
6348
7946
  ],
6349
7947
  "path": "jobs/publishing/print-run-reorder-threshold-check.yaml"
6350
7948
  },
7949
+ {
7950
+ "id": "prior-authorization-expiry-check",
7951
+ "version": 1,
7952
+ "name": "Prior Authorization Expiry Check",
7953
+ "description": "Checks treatment-specific prior-authorization requests for approvals about to expire before the procedure happens, and for requests still stuck awaiting payer response. Use this if a procedure has ever been delayed or denied because the prior auth expired, or the payer never responded and nobody was tracking it — distinct from insurance-eligibility-verification-check, which covers general visit eligibility rather than a specific treatment's authorization.",
7954
+ "category": "healthcare",
7955
+ "tags": [
7956
+ "healthcare",
7957
+ "prior-authorization",
7958
+ "billing",
7959
+ "insurance",
7960
+ "compliance"
7961
+ ],
7962
+ "schedule": "0 9 * * 1-5",
7963
+ "timezone": "America/New_York",
7964
+ "runner": "shell",
7965
+ "modes": [
7966
+ "script"
7967
+ ],
7968
+ "compatible_agents": [
7969
+ "generic",
7970
+ "claude",
7971
+ "codex"
7972
+ ],
7973
+ "path": "jobs/healthcare/prior-authorization-expiry-check.yaml"
7974
+ },
6351
7975
  {
6352
7976
  "id": "probation-period-review-reminder",
6353
7977
  "version": 1,
@@ -6399,6 +8023,32 @@
6399
8023
  ],
6400
8024
  "path": "jobs/spa/product-chemical-expiry-check.yaml"
6401
8025
  },
8026
+ {
8027
+ "id": "product-feed-health-check",
8028
+ "version": 1,
8029
+ "name": "Product Feed Health Check",
8030
+ "description": "Scans your product catalog export for listings that are live but broken in some way — missing title, missing description, missing image, a zero/blank price, or marked out-of-stock while still visible to shoppers. Use this if a product has ever sat on your storefront for weeks with a broken image or a $0 price because nobody was checking feed quality after the initial upload.",
8031
+ "category": "ecommerce",
8032
+ "tags": [
8033
+ "ecommerce",
8034
+ "product-feed",
8035
+ "seo",
8036
+ "catalog",
8037
+ "data-quality"
8038
+ ],
8039
+ "schedule": "0 5 * * *",
8040
+ "timezone": "UTC",
8041
+ "runner": "shell",
8042
+ "modes": [
8043
+ "script"
8044
+ ],
8045
+ "compatible_agents": [
8046
+ "generic",
8047
+ "claude",
8048
+ "codex"
8049
+ ],
8050
+ "path": "jobs/ecommerce/product-feed-health-check.yaml"
8051
+ },
6402
8052
  {
6403
8053
  "id": "production-line-downtime-watch",
6404
8054
  "version": 1,
@@ -6524,6 +8174,32 @@
6524
8174
  ],
6525
8175
  "path": "jobs/team/pto-balance-check.yaml"
6526
8176
  },
8177
+ {
8178
+ "id": "pto-year-end-use-it-or-lose-it-check",
8179
+ "version": 1,
8180
+ "name": "Company-Wide PTO Use-It-or-Lose-It Check",
8181
+ "description": "Scans the full employee roster for anyone whose unused PTO balance is above the policy cap or won't be usable before the year-end reset, so HR/payroll can send a bulk nudge. Use this if payout or forfeiture disputes have ever come up in December because nobody flagged high balances company-wide until it was too late to schedule time off. This is the HR-wide roster check — for tracking just your own balance, use team/pto-balance-check instead.",
8182
+ "category": "hr",
8183
+ "tags": [
8184
+ "hr",
8185
+ "pto",
8186
+ "vacation",
8187
+ "compliance",
8188
+ "payroll"
8189
+ ],
8190
+ "schedule": "0 9 1 10,11,12 *",
8191
+ "timezone": "America/New_York",
8192
+ "runner": "shell",
8193
+ "modes": [
8194
+ "script"
8195
+ ],
8196
+ "compatible_agents": [
8197
+ "generic",
8198
+ "claude",
8199
+ "codex"
8200
+ ],
8201
+ "path": "jobs/hr/pto-year-end-use-it-or-lose-it-check.yaml"
8202
+ },
6527
8203
  {
6528
8204
  "id": "public-comment-period-closing-check",
6529
8205
  "version": 1,
@@ -6599,6 +8275,31 @@
6599
8275
  ],
6600
8276
  "path": "jobs/government/public-records-retention-purge-check.yaml"
6601
8277
  },
8278
+ {
8279
+ "id": "purchase-order-overdue-check",
8280
+ "version": 1,
8281
+ "name": "Purchase Order Overdue Check",
8282
+ "description": "Checks open purchase orders to suppliers against their expected delivery date and flags anything that hasn't arrived on time. Use this if a supplier has ever gone quiet on a PO and you only found out stock wasn't coming when you were already out of the item.",
8283
+ "category": "ecommerce",
8284
+ "tags": [
8285
+ "ecommerce",
8286
+ "purchase-orders",
8287
+ "suppliers",
8288
+ "inventory"
8289
+ ],
8290
+ "schedule": "0 7 * * *",
8291
+ "timezone": "UTC",
8292
+ "runner": "shell",
8293
+ "modes": [
8294
+ "script"
8295
+ ],
8296
+ "compatible_agents": [
8297
+ "generic",
8298
+ "claude",
8299
+ "codex"
8300
+ ],
8301
+ "path": "jobs/ecommerce/purchase-order-overdue-check.yaml"
8302
+ },
6602
8303
  {
6603
8304
  "id": "purchase-order-receiving-delay-check",
6604
8305
  "version": 1,
@@ -6648,6 +8349,31 @@
6648
8349
  ],
6649
8350
  "path": "jobs/manufacturing/quality-defect-rate-check.yaml"
6650
8351
  },
8352
+ {
8353
+ "id": "quarterly-estimated-tax-calculator",
8354
+ "version": 1,
8355
+ "name": "Quarterly Estimated Tax Calculator",
8356
+ "description": "Calculates a suggested quarterly estimated tax payment from your logged year-to-date income and a target tax rate, and warns as the next IRS-style quarterly due date approaches. Use this if you're self-employed or have untaxed income and want the actual dollar amount worked out, not just a bare date reminder (see tax-deadline-reminder for a generic multi-jurisdiction deadline list).",
8357
+ "category": "finance",
8358
+ "tags": [
8359
+ "tax",
8360
+ "estimated-tax",
8361
+ "quarterly",
8362
+ "finance"
8363
+ ],
8364
+ "schedule": "0 9 * * *",
8365
+ "timezone": "UTC",
8366
+ "runner": "shell",
8367
+ "modes": [
8368
+ "script"
8369
+ ],
8370
+ "compatible_agents": [
8371
+ "generic",
8372
+ "claude",
8373
+ "codex"
8374
+ ],
8375
+ "path": "jobs/finance/quarterly-estimated-tax-calculator.yaml"
8376
+ },
6651
8377
  {
6652
8378
  "id": "queue-depth-check",
6653
8379
  "version": 1,
@@ -6844,6 +8570,31 @@
6844
8570
  ],
6845
8571
  "path": "jobs/hiring/reference-check-overdue-reminder.yaml"
6846
8572
  },
8573
+ {
8574
+ "id": "referral-followup-tracker",
8575
+ "version": 1,
8576
+ "name": "Referral Follow-Up Tracker",
8577
+ "description": "Flags customer referrals that were asked for or given, and haven't had a logged follow-up after a set number of days. Use this if a happy customer has ever offered a referral introduction and it fell through the cracks because nobody owned the follow-up.",
8578
+ "category": "sales",
8579
+ "tags": [
8580
+ "sales",
8581
+ "referrals",
8582
+ "advocacy",
8583
+ "follow-up"
8584
+ ],
8585
+ "schedule": "0 9 * * 1-5",
8586
+ "timezone": "UTC",
8587
+ "runner": "shell",
8588
+ "modes": [
8589
+ "script"
8590
+ ],
8591
+ "compatible_agents": [
8592
+ "generic",
8593
+ "claude",
8594
+ "codex"
8595
+ ],
8596
+ "path": "jobs/sales/referral-followup-tracker.yaml"
8597
+ },
6847
8598
  {
6848
8599
  "id": "referral-pending-followup-check",
6849
8600
  "version": 1,
@@ -6869,6 +8620,33 @@
6869
8620
  ],
6870
8621
  "path": "jobs/healthcare/referral-pending-followup-check.yaml"
6871
8622
  },
8623
+ {
8624
+ "id": "rent-increase-notice-deadline-check",
8625
+ "version": 1,
8626
+ "name": "Rent Increase Notice Deadline Check",
8627
+ "description": "Checks upcoming lease anniversaries against the legally required notice period for a rent increase, and drafts the increase notice once one is due. Use this if you've ever missed the window to raise rent at renewal because the required notice lead time (30/60/90 days, depending on jurisdiction) quietly passed.",
8628
+ "category": "realestate",
8629
+ "tags": [
8630
+ "realestate",
8631
+ "rent",
8632
+ "rent-increase",
8633
+ "notice",
8634
+ "compliance"
8635
+ ],
8636
+ "schedule": "0 8 * * 1",
8637
+ "timezone": "UTC",
8638
+ "runner": "hybrid",
8639
+ "modes": [
8640
+ "script",
8641
+ "agent-prompt"
8642
+ ],
8643
+ "compatible_agents": [
8644
+ "claude",
8645
+ "codex",
8646
+ "generic"
8647
+ ],
8648
+ "path": "jobs/realestate/rent-increase-notice-deadline-check.yaml"
8649
+ },
6872
8650
  {
6873
8651
  "id": "rent-payment-late-check",
6874
8652
  "version": 1,
@@ -6893,6 +8671,56 @@
6893
8671
  ],
6894
8672
  "path": "jobs/realestate/rent-payment-late-check.yaml"
6895
8673
  },
8674
+ {
8675
+ "id": "rent-roll-vacancy-loss-report",
8676
+ "version": 1,
8677
+ "name": "Rent Roll Vacancy Loss Report",
8678
+ "description": "Rolls up the whole portfolio's rent ledger to calculate total dollar vacancy loss (market rent for every vacant unit, summed) for the period. Use this if you've ever known \"a few units are empty\" without knowing what that's actually costing you in dollars this month.",
8679
+ "category": "realestate",
8680
+ "tags": [
8681
+ "realestate",
8682
+ "vacancy",
8683
+ "rent-roll",
8684
+ "reporting"
8685
+ ],
8686
+ "schedule": "0 8 1 * *",
8687
+ "timezone": "UTC",
8688
+ "runner": "shell",
8689
+ "modes": [
8690
+ "script"
8691
+ ],
8692
+ "compatible_agents": [
8693
+ "generic",
8694
+ "claude",
8695
+ "codex"
8696
+ ],
8697
+ "path": "jobs/realestate/rent-roll-vacancy-loss-report.yaml"
8698
+ },
8699
+ {
8700
+ "id": "rental-license-renewal-check",
8701
+ "version": 1,
8702
+ "name": "Rental License / Registration Renewal Check",
8703
+ "description": "Warns before a municipal rental license, landlord registration, or certificate of occupancy for rental use is due to expire. Use this if a city has ever fined you, or blocked a new lease, because a rental registration lapsed and nobody was tracking its renewal cycle.",
8704
+ "category": "realestate",
8705
+ "tags": [
8706
+ "realestate",
8707
+ "rental-license",
8708
+ "municipal",
8709
+ "compliance"
8710
+ ],
8711
+ "schedule": "0 8 * * 1",
8712
+ "timezone": "UTC",
8713
+ "runner": "shell",
8714
+ "modes": [
8715
+ "script"
8716
+ ],
8717
+ "compatible_agents": [
8718
+ "generic",
8719
+ "claude",
8720
+ "codex"
8721
+ ],
8722
+ "path": "jobs/realestate/rental-license-renewal-check.yaml"
8723
+ },
6896
8724
  {
6897
8725
  "id": "rental-vacancy-check",
6898
8726
  "version": 1,
@@ -7068,6 +8896,32 @@
7068
8896
  ],
7069
8897
  "path": "jobs/spa/retail-product-low-stock-check.yaml"
7070
8898
  },
8899
+ {
8900
+ "id": "retirement-plan-enrollment-deadline-check",
8901
+ "version": 1,
8902
+ "name": "Retirement Plan Enrollment Deadline Check",
8903
+ "description": "Flags employees who are eligible for the 401(k)/retirement plan but haven't enrolled or waived as their enrollment deadline approaches. Use this if someone has ever missed the window to make an active election and got dropped into a default auto-enrollment deferral rate they didn't actually want.",
8904
+ "category": "hr",
8905
+ "tags": [
8906
+ "hr",
8907
+ "retirement",
8908
+ "401k",
8909
+ "benefits",
8910
+ "deadline"
8911
+ ],
8912
+ "schedule": "0 8 * * 1",
8913
+ "timezone": "America/New_York",
8914
+ "runner": "shell",
8915
+ "modes": [
8916
+ "script"
8917
+ ],
8918
+ "compatible_agents": [
8919
+ "generic",
8920
+ "claude",
8921
+ "codex"
8922
+ ],
8923
+ "path": "jobs/hr/retirement-plan-enrollment-deadline-check.yaml"
8924
+ },
7071
8925
  {
7072
8926
  "id": "return-fraud-pattern-check",
7073
8927
  "version": 1,
@@ -7493,6 +9347,31 @@
7493
9347
  ],
7494
9348
  "path": "jobs/security/secrets-scan.yaml"
7495
9349
  },
9350
+ {
9351
+ "id": "security-deposit-return-deadline-check",
9352
+ "version": 1,
9353
+ "name": "Security Deposit Return Deadline Check",
9354
+ "description": "Flags move-outs where the statutory deadline to return the security deposit (or an itemized deduction statement) is approaching or has passed. Use this if a deposit has ever gone back late and triggered a penalty claim or small-claims dispute because nobody was tracking the move-out date against the legal return window.",
9355
+ "category": "realestate",
9356
+ "tags": [
9357
+ "realestate",
9358
+ "security-deposit",
9359
+ "move-out",
9360
+ "compliance"
9361
+ ],
9362
+ "schedule": "0 8 * * *",
9363
+ "timezone": "UTC",
9364
+ "runner": "shell",
9365
+ "modes": [
9366
+ "script"
9367
+ ],
9368
+ "compatible_agents": [
9369
+ "generic",
9370
+ "claude",
9371
+ "codex"
9372
+ ],
9373
+ "path": "jobs/realestate/security-deposit-return-deadline-check.yaml"
9374
+ },
7496
9375
  {
7497
9376
  "id": "seo-meta-check",
7498
9377
  "version": 1,
@@ -7570,6 +9449,31 @@
7570
9449
  ],
7571
9450
  "path": "jobs/telecom/service-ticket-churn-risk-review.yaml"
7572
9451
  },
9452
+ {
9453
+ "id": "settlement-payment-schedule-tracker",
9454
+ "version": 1,
9455
+ "name": "Settlement Payment Schedule Tracker",
9456
+ "description": "Checks scheduled settlement agreement installment payments — both owed and owed to you — and flags anything due soon or missed. Use this if a settlement installment has ever been paid late (risking default terms kicking back in) or received late without anyone noticing until the next reconciliation.",
9457
+ "category": "legal",
9458
+ "tags": [
9459
+ "legal",
9460
+ "settlement",
9461
+ "payment-schedule",
9462
+ "litigation"
9463
+ ],
9464
+ "schedule": "0 8 * * *",
9465
+ "timezone": "UTC",
9466
+ "runner": "shell",
9467
+ "modes": [
9468
+ "script"
9469
+ ],
9470
+ "compatible_agents": [
9471
+ "generic",
9472
+ "claude",
9473
+ "codex"
9474
+ ],
9475
+ "path": "jobs/legal/settlement-payment-schedule-tracker.yaml"
9476
+ },
7573
9477
  {
7574
9478
  "id": "shipment-delay-watch",
7575
9479
  "version": 1,
@@ -7943,6 +9847,32 @@
7943
9847
  ],
7944
9848
  "path": "jobs/childcare/staff-child-ratio-compliance-check.yaml"
7945
9849
  },
9850
+ {
9851
+ "id": "staff-cme-credit-tracking",
9852
+ "version": 1,
9853
+ "name": "Staff CME Credit Tracking",
9854
+ "description": "Checks each clinician's continuing medical education (CME) credit hours completed against what's required by their cycle end date and warns before anyone falls short. Use this if a provider has ever discovered close to renewal that they were short on CME hours needed to keep their license active — distinct from license-credential-expiry-check, which tracks the license's own expiry date rather than the ongoing education requirement to renew it.",
9855
+ "category": "healthcare",
9856
+ "tags": [
9857
+ "healthcare",
9858
+ "cme",
9859
+ "compliance",
9860
+ "licensing",
9861
+ "staff"
9862
+ ],
9863
+ "schedule": "0 8 1 * *",
9864
+ "timezone": "America/New_York",
9865
+ "runner": "shell",
9866
+ "modes": [
9867
+ "script"
9868
+ ],
9869
+ "compatible_agents": [
9870
+ "generic",
9871
+ "claude",
9872
+ "codex"
9873
+ ],
9874
+ "path": "jobs/healthcare/staff-cme-credit-tracking.yaml"
9875
+ },
7946
9876
  {
7947
9877
  "id": "staging-prod-config-diff",
7948
9878
  "version": 1,
@@ -8075,13 +10005,39 @@
8075
10005
  "description": "Reminds the opening shift of the standard opening checklist every day, not just when a manager happens to be on site to run it from memory. Use this if the store has ever opened late, or opened with something missed (lights, POS not booted, signage not out), because the checklist lived only in one person's head.",
8076
10006
  "category": "retail",
8077
10007
  "tags": [
8078
- "retail",
8079
- "checklist",
8080
- "opening",
8081
- "operations"
10008
+ "retail",
10009
+ "checklist",
10010
+ "opening",
10011
+ "operations"
10012
+ ],
10013
+ "schedule": "0 8 * * *",
10014
+ "timezone": "America/New_York",
10015
+ "runner": "shell",
10016
+ "modes": [
10017
+ "script"
10018
+ ],
10019
+ "compatible_agents": [
10020
+ "generic",
10021
+ "claude",
10022
+ "codex"
10023
+ ],
10024
+ "path": "jobs/retail/store-opening-checklist-reminder.yaml"
10025
+ },
10026
+ {
10027
+ "id": "storefront-ssl-domain-expiry-check",
10028
+ "version": 1,
10029
+ "name": "Storefront SSL & Domain Expiry Check",
10030
+ "description": "Checks your storefront's SSL certificate and domain registration expiry dates and flags anything expiring soon. Use this if your store has ever gone down — or thrown a scary browser security warning at checkout — because an SSL cert or domain renewal quietly lapsed.",
10031
+ "category": "ecommerce",
10032
+ "tags": [
10033
+ "ecommerce",
10034
+ "ssl",
10035
+ "domain",
10036
+ "uptime",
10037
+ "infrastructure"
8082
10038
  ],
8083
- "schedule": "0 8 * * *",
8084
- "timezone": "America/New_York",
10039
+ "schedule": "0 6 * * 1",
10040
+ "timezone": "UTC",
8085
10041
  "runner": "shell",
8086
10042
  "modes": [
8087
10043
  "script"
@@ -8091,7 +10047,7 @@
8091
10047
  "claude",
8092
10048
  "codex"
8093
10049
  ],
8094
- "path": "jobs/retail/store-opening-checklist-reminder.yaml"
10050
+ "path": "jobs/ecommerce/storefront-ssl-domain-expiry-check.yaml"
8095
10051
  },
8096
10052
  {
8097
10053
  "id": "stream-schedule-reminder",
@@ -8468,6 +10424,82 @@
8468
10424
  ],
8469
10425
  "path": "jobs/fieldservice/tech-license-renewal-check.yaml"
8470
10426
  },
10427
+ {
10428
+ "id": "telehealth-session-issue-check",
10429
+ "version": 1,
10430
+ "name": "Telehealth Session No-Show/Tech-Failure Check",
10431
+ "description": "Reviews recent telehealth appointments for no-shows and technical-failure disconnects, and flags patients hitting either problem repeatedly. Use this if a telehealth visit has ever quietly failed to happen — patient never joined, or the call dropped and was never rebooked — with nobody tracking it the way an in-person no-show would normally get tracked.",
10432
+ "category": "healthcare",
10433
+ "tags": [
10434
+ "healthcare",
10435
+ "telehealth",
10436
+ "no-show",
10437
+ "appointments",
10438
+ "patients"
10439
+ ],
10440
+ "schedule": "0 18 * * *",
10441
+ "timezone": "America/New_York",
10442
+ "runner": "shell",
10443
+ "modes": [
10444
+ "script"
10445
+ ],
10446
+ "compatible_agents": [
10447
+ "generic",
10448
+ "claude",
10449
+ "codex"
10450
+ ],
10451
+ "path": "jobs/healthcare/telehealth-session-issue-check.yaml"
10452
+ },
10453
+ {
10454
+ "id": "tenant-application-review-backlog-check",
10455
+ "version": 1,
10456
+ "name": "Tenant Application Review Backlog Check",
10457
+ "description": "Flags rental applications that have been sitting in review too long without a decision. Use this if a good applicant has ever gone with a different landlord because your screening process sat on their application for a week before anyone looked at it.",
10458
+ "category": "realestate",
10459
+ "tags": [
10460
+ "realestate",
10461
+ "tenant-screening",
10462
+ "applications",
10463
+ "backlog"
10464
+ ],
10465
+ "schedule": "0 9 * * *",
10466
+ "timezone": "UTC",
10467
+ "runner": "shell",
10468
+ "modes": [
10469
+ "script"
10470
+ ],
10471
+ "compatible_agents": [
10472
+ "generic",
10473
+ "claude",
10474
+ "codex"
10475
+ ],
10476
+ "path": "jobs/realestate/tenant-application-review-backlog-check.yaml"
10477
+ },
10478
+ {
10479
+ "id": "tenant-renters-insurance-compliance-check",
10480
+ "version": 1,
10481
+ "name": "Tenant Renters Insurance Compliance Check",
10482
+ "description": "Checks tenants required by their lease to carry renters insurance against their certificate's expiration date and flags anyone lapsed or about to lapse. Use this if a tenant's coverage has ever quietly expired mid-lease, leaving the landlord exposed on a liability claim the lease was supposed to cover.",
10483
+ "category": "realestate",
10484
+ "tags": [
10485
+ "realestate",
10486
+ "renters-insurance",
10487
+ "compliance",
10488
+ "tenant"
10489
+ ],
10490
+ "schedule": "0 8 * * 1",
10491
+ "timezone": "UTC",
10492
+ "runner": "shell",
10493
+ "modes": [
10494
+ "script"
10495
+ ],
10496
+ "compatible_agents": [
10497
+ "generic",
10498
+ "claude",
10499
+ "codex"
10500
+ ],
10501
+ "path": "jobs/realestate/tenant-renters-insurance-compliance-check.yaml"
10502
+ },
8471
10503
  {
8472
10504
  "id": "terraform-drift-check",
8473
10505
  "version": 1,
@@ -8492,6 +10524,31 @@
8492
10524
  ],
8493
10525
  "path": "jobs/devops/terraform-drift-check.yaml"
8494
10526
  },
10527
+ {
10528
+ "id": "territory-coverage-gap-check",
10529
+ "version": 1,
10530
+ "name": "Territory Coverage Gap Check",
10531
+ "description": "Flags target accounts that have no assigned rep, or have an assigned rep but no logged activity in a long time. Use this if an account has ever gone completely unworked for months simply because it fell between territory reassignments and nobody noticed the gap.",
10532
+ "category": "sales",
10533
+ "tags": [
10534
+ "sales",
10535
+ "territory",
10536
+ "account-coverage",
10537
+ "ops"
10538
+ ],
10539
+ "schedule": "0 8 * * 1",
10540
+ "timezone": "UTC",
10541
+ "runner": "shell",
10542
+ "modes": [
10543
+ "script"
10544
+ ],
10545
+ "compatible_agents": [
10546
+ "generic",
10547
+ "claude",
10548
+ "codex"
10549
+ ],
10550
+ "path": "jobs/sales/territory-coverage-gap-check.yaml"
10551
+ },
8495
10552
  {
8496
10553
  "id": "ticket-backlog-aging-check",
8497
10554
  "version": 1,
@@ -8543,6 +10600,31 @@
8543
10600
  ],
8544
10601
  "path": "jobs/support/ticket-reopened-rate-watch.yaml"
8545
10602
  },
10603
+ {
10604
+ "id": "timekeeper-billable-hours-compliance-check",
10605
+ "version": 1,
10606
+ "name": "Timekeeper Billable Hours Compliance Check",
10607
+ "description": "Checks attorneys and paralegals against their weekly timesheet submission and minimum billable-hour targets, and flags anyone missing or short. Use this if unbilled time has ever quietly leaked out of a matter because a timekeeper fell behind on entering hours and nobody caught it before the billing cycle closed.",
10608
+ "category": "legal",
10609
+ "tags": [
10610
+ "legal",
10611
+ "timekeeping",
10612
+ "billable-hours",
10613
+ "compliance"
10614
+ ],
10615
+ "schedule": "0 8 * * 1",
10616
+ "timezone": "UTC",
10617
+ "runner": "shell",
10618
+ "modes": [
10619
+ "script"
10620
+ ],
10621
+ "compatible_agents": [
10622
+ "generic",
10623
+ "claude",
10624
+ "codex"
10625
+ ],
10626
+ "path": "jobs/legal/timekeeper-billable-hours-compliance-check.yaml"
10627
+ },
8546
10628
  {
8547
10629
  "id": "timezone-meeting-conflict-check",
8548
10630
  "version": 1,
@@ -8645,6 +10727,33 @@
8645
10727
  ],
8646
10728
  "path": "jobs/gaming/tournament-registration-deadline-check.yaml"
8647
10729
  },
10730
+ {
10731
+ "id": "trademark-infringement-watch",
10732
+ "version": 1,
10733
+ "name": "Trademark Infringement Watch",
10734
+ "description": "Searches for new trademark applications, domain registrations, and marketplace listings that look like they could infringe on your registered marks, and summarizes anything worth a closer look. Use this if you've ever found out about a confusingly similar competitor mark or copycat domain months after it started causing customer confusion, instead of when it first appeared.",
10735
+ "category": "legal",
10736
+ "tags": [
10737
+ "legal",
10738
+ "trademark",
10739
+ "ip",
10740
+ "infringement-watch"
10741
+ ],
10742
+ "schedule": "0 9 * * 1",
10743
+ "timezone": "UTC",
10744
+ "runner": "agent-prompt",
10745
+ "modes": [
10746
+ "agent-prompt"
10747
+ ],
10748
+ "compatible_agents": [
10749
+ "claude",
10750
+ "codex",
10751
+ "hermes",
10752
+ "openclaw",
10753
+ "generic"
10754
+ ],
10755
+ "path": "jobs/legal/trademark-infringement-watch.yaml"
10756
+ },
8648
10757
  {
8649
10758
  "id": "trademark-renewal-reminder",
8650
10759
  "version": 1,
@@ -8919,6 +11028,31 @@
8919
11028
  ],
8920
11029
  "path": "jobs/home/utility-bill-anomaly-check.yaml"
8921
11030
  },
11031
+ {
11032
+ "id": "utility-billback-reconciliation-check",
11033
+ "version": 1,
11034
+ "name": "Utility Bill-Back Reconciliation Check",
11035
+ "description": "Compares submetered tenant utility charges against the property's master utility bill and flags a mismatch beyond a set tolerance. Use this if tenant bill-backs have ever quietly drifted from the actual master bill, either undercharging the owner or overcharging tenants.",
11036
+ "category": "realestate",
11037
+ "tags": [
11038
+ "realestate",
11039
+ "utilities",
11040
+ "billing",
11041
+ "reconciliation"
11042
+ ],
11043
+ "schedule": "0 8 3 * *",
11044
+ "timezone": "UTC",
11045
+ "runner": "shell",
11046
+ "modes": [
11047
+ "script"
11048
+ ],
11049
+ "compatible_agents": [
11050
+ "generic",
11051
+ "claude",
11052
+ "codex"
11053
+ ],
11054
+ "path": "jobs/realestate/utility-billback-reconciliation-check.yaml"
11055
+ },
8922
11056
  {
8923
11057
  "id": "vehicle-idle-time-check",
8924
11058
  "version": 1,
@@ -9042,6 +11176,56 @@
9042
11176
  ],
9043
11177
  "path": "jobs/fleet/vehicle-registration-expiry-check.yaml"
9044
11178
  },
11179
+ {
11180
+ "id": "vendor-coi-expiry-tracker",
11181
+ "version": 1,
11182
+ "name": "Vendor Certificate of Insurance Expiry Tracker",
11183
+ "description": "Checks certificates of insurance you've collected from vendors and contractors and warns before any expire, so a lapsed COI doesn't sit unnoticed in the file. Use this if a vendor's insurance has ever lapsed mid-contract and nobody found out until a claim needed it.",
11184
+ "category": "legal",
11185
+ "tags": [
11186
+ "legal",
11187
+ "vendor-management",
11188
+ "coi",
11189
+ "contractor-compliance"
11190
+ ],
11191
+ "schedule": "0 9 1 * *",
11192
+ "timezone": "UTC",
11193
+ "runner": "shell",
11194
+ "modes": [
11195
+ "script"
11196
+ ],
11197
+ "compatible_agents": [
11198
+ "generic",
11199
+ "claude",
11200
+ "codex"
11201
+ ],
11202
+ "path": "jobs/legal/vendor-coi-expiry-tracker.yaml"
11203
+ },
11204
+ {
11205
+ "id": "vendor-early-pay-discount-tracker",
11206
+ "version": 1,
11207
+ "name": "Vendor Early-Pay Discount Tracker",
11208
+ "description": "Flags vendor invoices with an early-payment discount (like \"2/10 net 30\") whose discount window is about to close. Use this if you've ever paid a bill on the regular due date and only afterward realized you could've saved a couple percent by paying ten days earlier.",
11209
+ "category": "finance",
11210
+ "tags": [
11211
+ "accounts-payable",
11212
+ "discounts",
11213
+ "vendor-terms",
11214
+ "finance"
11215
+ ],
11216
+ "schedule": "0 8 * * *",
11217
+ "timezone": "UTC",
11218
+ "runner": "shell",
11219
+ "modes": [
11220
+ "script"
11221
+ ],
11222
+ "compatible_agents": [
11223
+ "generic",
11224
+ "claude",
11225
+ "codex"
11226
+ ],
11227
+ "path": "jobs/finance/vendor-early-pay-discount-tracker.yaml"
11228
+ },
9045
11229
  {
9046
11230
  "id": "vendor-payment-deadline-reminder",
9047
11231
  "version": 1,
@@ -9066,6 +11250,35 @@
9066
11250
  ],
9067
11251
  "path": "jobs/events/vendor-payment-deadline-reminder.yaml"
9068
11252
  },
11253
+ {
11254
+ "id": "vip-tier-reclassification-check",
11255
+ "version": 1,
11256
+ "name": "VIP Tier Reclassification Check",
11257
+ "description": "Checks each customer's year-to-date spend against your VIP tier thresholds and flags anyone due to move up or down a tier, drafting a short outreach note for new upgrades. Use this if a top customer has ever crossed your VIP spend threshold months ago and never got the perks (or the acknowledgment) because nobody was tracking tier crossings.",
11258
+ "category": "ecommerce",
11259
+ "tags": [
11260
+ "ecommerce",
11261
+ "vip",
11262
+ "customers",
11263
+ "ltv",
11264
+ "segmentation"
11265
+ ],
11266
+ "schedule": "0 8 1 * *",
11267
+ "timezone": "UTC",
11268
+ "runner": "hybrid",
11269
+ "modes": [
11270
+ "script",
11271
+ "agent-prompt"
11272
+ ],
11273
+ "compatible_agents": [
11274
+ "claude",
11275
+ "codex",
11276
+ "hermes",
11277
+ "openclaw",
11278
+ "generic"
11279
+ ],
11280
+ "path": "jobs/ecommerce/vip-tier-reclassification-check.yaml"
11281
+ },
9069
11282
  {
9070
11283
  "id": "visa-expiry-check",
9071
11284
  "version": 1,
@@ -9392,6 +11605,61 @@
9392
11605
  ],
9393
11606
  "path": "jobs/growth/welcome-email-drip-check.yaml"
9394
11607
  },
11608
+ {
11609
+ "id": "wishlist-abandonment-check",
11610
+ "version": 1,
11611
+ "name": "Wishlist Abandonment Check",
11612
+ "description": "Checks customer wishlists for items that have sat untouched for a while and drafts a nudge email when there's a real reason to reach out — a price drop or the item is back in stock — instead of a generic \"you still want this?\" reminder. Use this if you've ever had a wishlist feature that quietly collects intent and never converts any of it back into a sale.",
11613
+ "category": "ecommerce",
11614
+ "tags": [
11615
+ "ecommerce",
11616
+ "wishlist",
11617
+ "recovery",
11618
+ "conversion",
11619
+ "sales"
11620
+ ],
11621
+ "schedule": "0 11 * * 1",
11622
+ "timezone": "UTC",
11623
+ "runner": "agent-prompt",
11624
+ "modes": [
11625
+ "agent-prompt"
11626
+ ],
11627
+ "compatible_agents": [
11628
+ "claude",
11629
+ "codex",
11630
+ "hermes",
11631
+ "openclaw",
11632
+ "generic"
11633
+ ],
11634
+ "path": "jobs/ecommerce/wishlist-abandonment-check.yaml"
11635
+ },
11636
+ {
11637
+ "id": "workers-comp-claim-status-check",
11638
+ "version": 1,
11639
+ "name": "Workers' Comp Claim Status Check",
11640
+ "description": "Checks open workers' compensation claims with the carrier and flags ones that have gone quiet or are approaching an expected return-to-work date with no update. Use this if an injured employee's claim has ever stalled with the carrier for weeks with nobody at the company noticing or following up.",
11641
+ "category": "hr",
11642
+ "tags": [
11643
+ "hr",
11644
+ "workers-comp",
11645
+ "compliance",
11646
+ "safety"
11647
+ ],
11648
+ "schedule": "0 9 * * 1",
11649
+ "timezone": "UTC",
11650
+ "runner": "agent-prompt",
11651
+ "modes": [
11652
+ "agent-prompt"
11653
+ ],
11654
+ "compatible_agents": [
11655
+ "claude",
11656
+ "codex",
11657
+ "hermes",
11658
+ "openclaw",
11659
+ "generic"
11660
+ ],
11661
+ "path": "jobs/hr/workers-comp-claim-status-check.yaml"
11662
+ },
9395
11663
  {
9396
11664
  "id": "youtube-clip-repurposing",
9397
11665
  "version": 1,