@wonsukchoi/crondex 0.20.1 → 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 (121) hide show
  1. package/README.md +20 -30
  2. package/catalog.json +3052 -81
  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/fieldservice/maintenance-contract-renewal-check.yaml +36 -0
  17. package/jobs/fieldservice/parts-low-stock-reorder-check.yaml +29 -0
  18. package/jobs/fieldservice/tech-eta-no-show-check.yaml +32 -0
  19. package/jobs/fieldservice/tech-license-renewal-check.yaml +36 -0
  20. package/jobs/fieldservice/unpaid-invoice-aging-check.yaml +35 -0
  21. package/jobs/fieldservice/unresolved-callback-tracker.yaml +35 -0
  22. package/jobs/fieldservice/warranty-claim-expiry-check.yaml +35 -0
  23. package/jobs/finance/accounts-payable-aging-check.yaml +40 -0
  24. package/jobs/finance/bank-statement-reconciliation-check.yaml +40 -0
  25. package/jobs/finance/budget-vs-actual-variance-report.yaml +38 -0
  26. package/jobs/finance/contractor-1099-threshold-tracker.yaml +43 -0
  27. package/jobs/finance/credit-utilization-watch.yaml +40 -0
  28. package/jobs/finance/duplicate-payment-detection.yaml +43 -0
  29. package/jobs/finance/expense-report-compliance-check.yaml +46 -0
  30. package/jobs/finance/late-fee-interest-risk-check.yaml +43 -0
  31. package/jobs/finance/loan-covenant-compliance-check.yaml +37 -0
  32. package/jobs/finance/month-end-close-checklist-tracker.yaml +39 -0
  33. package/jobs/finance/multi-account-cash-position-rollup.yaml +45 -0
  34. package/jobs/finance/petty-cash-float-reconciliation.yaml +43 -0
  35. package/jobs/finance/quarterly-estimated-tax-calculator.yaml +66 -0
  36. package/jobs/finance/vendor-early-pay-discount-tracker.yaml +45 -0
  37. package/jobs/healthcare/appointment-slot-utilization-check.yaml +56 -0
  38. package/jobs/healthcare/claims-denial-resubmission-check.yaml +43 -0
  39. package/jobs/healthcare/clinical-supply-low-stock-check.yaml +30 -0
  40. package/jobs/healthcare/controlled-substance-inventory-reconciliation.yaml +42 -0
  41. package/jobs/healthcare/hipaa-access-log-audit.yaml +74 -0
  42. package/jobs/healthcare/patient-balance-collections-aging-check.yaml +41 -0
  43. package/jobs/healthcare/patient-immunization-schedule-check.yaml +41 -0
  44. package/jobs/healthcare/patient-portal-message-backlog-check.yaml +39 -0
  45. package/jobs/healthcare/patient-satisfaction-survey-tracking.yaml +59 -0
  46. package/jobs/healthcare/prescription-refill-request-backlog-check.yaml +38 -0
  47. package/jobs/healthcare/prior-authorization-expiry-check.yaml +53 -0
  48. package/jobs/healthcare/staff-cme-credit-tracking.yaml +41 -0
  49. package/jobs/healthcare/telehealth-session-issue-check.yaml +51 -0
  50. package/jobs/hr/aca-fte-threshold-monitor.yaml +44 -0
  51. package/jobs/hr/cobra-notification-deadline-tracker.yaml +47 -0
  52. package/jobs/hr/compliance-training-completion-check.yaml +41 -0
  53. package/jobs/hr/eeo1-filing-deadline-reminder.yaml +37 -0
  54. package/jobs/hr/handbook-acknowledgment-tracking.yaml +34 -0
  55. package/jobs/hr/headcount-budget-variance-check.yaml +37 -0
  56. package/jobs/hr/leave-of-absence-return-tracker.yaml +42 -0
  57. package/jobs/hr/org-chart-manager-drift-check.yaml +40 -0
  58. package/jobs/hr/pay-equity-band-outlier-check.yaml +58 -0
  59. package/jobs/hr/pto-year-end-use-it-or-lose-it-check.yaml +49 -0
  60. package/jobs/hr/retirement-plan-enrollment-deadline-check.yaml +40 -0
  61. package/jobs/hr/workers-comp-claim-status-check.yaml +42 -0
  62. package/jobs/legal/conflict-of-interest-check-tracker.yaml +38 -0
  63. package/jobs/legal/corporate-minute-book-completeness-check.yaml +31 -0
  64. package/jobs/legal/data-privacy-request-deadline-tracker.yaml +61 -0
  65. package/jobs/legal/entity-authority-document-expiry-check.yaml +37 -0
  66. package/jobs/legal/legal-document-retention-purge-review.yaml +39 -0
  67. package/jobs/legal/litigation-hold-acknowledgment-tracker.yaml +40 -0
  68. package/jobs/legal/non-compete-expiry-tracker.yaml +37 -0
  69. package/jobs/legal/outside-counsel-invoice-budget-check.yaml +37 -0
  70. package/jobs/legal/settlement-payment-schedule-tracker.yaml +34 -0
  71. package/jobs/legal/timekeeper-billable-hours-compliance-check.yaml +39 -0
  72. package/jobs/legal/trademark-infringement-watch.yaml +43 -0
  73. package/jobs/legal/vendor-coi-expiry-tracker.yaml +37 -0
  74. package/jobs/publishing/arc-review-copy-followup.yaml +35 -0
  75. package/jobs/publishing/isbn-registration-tracker.yaml +35 -0
  76. package/jobs/publishing/manuscript-deadline-tracker.yaml +34 -0
  77. package/jobs/publishing/permissions-clearance-tracker.yaml +36 -0
  78. package/jobs/publishing/print-run-reorder-threshold-check.yaml +32 -0
  79. package/jobs/publishing/rights-license-expiry-check.yaml +35 -0
  80. package/jobs/publishing/royalty-statement-due-check.yaml +33 -0
  81. package/jobs/realestate/capital-reserve-fund-threshold-check.yaml +32 -0
  82. package/jobs/realestate/eviction-notice-deadline-tracker.yaml +37 -0
  83. package/jobs/realestate/landlord-insurance-claim-status-check.yaml +35 -0
  84. package/jobs/realestate/lease-renewal-offer-window-check.yaml +35 -0
  85. package/jobs/realestate/maintenance-request-sla-check.yaml +39 -0
  86. package/jobs/realestate/move-in-move-out-inspection-tracker.yaml +35 -0
  87. package/jobs/realestate/rent-increase-notice-deadline-check.yaml +54 -0
  88. package/jobs/realestate/rent-roll-vacancy-loss-report.yaml +32 -0
  89. package/jobs/realestate/rental-license-renewal-check.yaml +35 -0
  90. package/jobs/realestate/security-deposit-return-deadline-check.yaml +38 -0
  91. package/jobs/realestate/tenant-application-review-backlog-check.yaml +35 -0
  92. package/jobs/realestate/tenant-renters-insurance-compliance-check.yaml +35 -0
  93. package/jobs/realestate/utility-billback-reconciliation-check.yaml +41 -0
  94. package/jobs/sales/champion-departure-watch.yaml +44 -0
  95. package/jobs/sales/closed-lost-reason-audit.yaml +42 -0
  96. package/jobs/sales/commission-payout-tracker.yaml +32 -0
  97. package/jobs/sales/contract-renewal-opportunity-tracker.yaml +28 -0
  98. package/jobs/sales/discount-approval-pending-check.yaml +31 -0
  99. package/jobs/sales/forecast-submission-compliance-check.yaml +42 -0
  100. package/jobs/sales/multi-year-renewal-escalation-tracker.yaml +31 -0
  101. package/jobs/sales/pipeline-hygiene-audit.yaml +26 -0
  102. package/jobs/sales/poc-trial-conversion-tracker.yaml +29 -0
  103. package/jobs/sales/referral-followup-tracker.yaml +40 -0
  104. package/jobs/sales/territory-coverage-gap-check.yaml +43 -0
  105. package/jobs/spa/appointment-no-show-tracker.yaml +46 -0
  106. package/jobs/spa/gift-card-expiry-check.yaml +35 -0
  107. package/jobs/spa/license-renewal-tracker.yaml +35 -0
  108. package/jobs/spa/membership-unused-session-expiry-check.yaml +35 -0
  109. package/jobs/spa/product-chemical-expiry-check.yaml +35 -0
  110. package/jobs/spa/retail-product-low-stock-check.yaml +26 -0
  111. package/jobs/spa/safety-inspection-due-reminder.yaml +33 -0
  112. package/jobs/telecom/circuit-outage-detection.yaml +38 -0
  113. package/jobs/telecom/circuit-provisioning-order-aging.yaml +36 -0
  114. package/jobs/telecom/cpe-firmware-update-tracker.yaml +45 -0
  115. package/jobs/telecom/link-capacity-threshold-alert.yaml +37 -0
  116. package/jobs/telecom/peering-transit-contract-renewal-check.yaml +36 -0
  117. package/jobs/telecom/service-ticket-churn-risk-review.yaml +56 -0
  118. package/jobs/telecom/sla-uptime-breach-tracker.yaml +36 -0
  119. package/lib/category-descriptions.js +4 -0
  120. package/lib/duplicates-allowlist.js +10 -0
  121. 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": 347,
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,
@@ -232,6 +308,85 @@
232
308
  ],
233
309
  "path": "jobs/healthcare/appointment-no-show-follow-up.yaml"
234
310
  },
311
+ {
312
+ "id": "appointment-no-show-tracker",
313
+ "version": 1,
314
+ "name": "Appointment No-Show & Late-Cancel Tracker",
315
+ "description": "Flags clients who no-showed or cancelled late in the past window so front desk can follow up or apply a policy. Use this if a chair or treatment room has ever sat empty because a client skipped without warning and nobody noticed the pattern until it kept happening.",
316
+ "category": "spa",
317
+ "tags": [
318
+ "spa",
319
+ "appointments",
320
+ "no-show",
321
+ "front-desk"
322
+ ],
323
+ "schedule": "0 18 * * *",
324
+ "timezone": "UTC",
325
+ "runner": "shell",
326
+ "modes": [
327
+ "script"
328
+ ],
329
+ "compatible_agents": [
330
+ "generic",
331
+ "claude",
332
+ "codex"
333
+ ],
334
+ "path": "jobs/spa/appointment-no-show-tracker.yaml"
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
+ },
365
+ {
366
+ "id": "arc-review-copy-followup",
367
+ "version": 1,
368
+ "name": "ARC Review Copy Followup",
369
+ "description": "Flags reviewers, bloggers, or media contacts who received an advance review copy (ARC) but haven't posted or filed a review within a set window, so a nudge can go out before the publication date. Use this if ARCs have ever been sent out and quietly forgotten with no review to show for them.",
370
+ "category": "publishing",
371
+ "tags": [
372
+ "publishing",
373
+ "arc",
374
+ "review-copies",
375
+ "marketing"
376
+ ],
377
+ "schedule": "0 9 * * 1",
378
+ "timezone": "UTC",
379
+ "runner": "shell",
380
+ "modes": [
381
+ "script"
382
+ ],
383
+ "compatible_agents": [
384
+ "generic",
385
+ "claude",
386
+ "codex"
387
+ ],
388
+ "path": "jobs/publishing/arc-review-copy-followup.yaml"
389
+ },
235
390
  {
236
391
  "id": "assignment-grading-backlog-check",
237
392
  "version": 1,
@@ -334,6 +489,31 @@
334
489
  ],
335
490
  "path": "jobs/events/attendee-checkin-rate-watch.yaml"
336
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
+ },
337
517
  {
338
518
  "id": "background-check-status-check",
339
519
  "version": 1,
@@ -385,6 +565,31 @@
385
565
  ],
386
566
  "path": "jobs/devops/backup-reminder.yaml"
387
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
+ },
388
593
  {
389
594
  "id": "beneficiary-designation-review-reminder",
390
595
  "version": 1,
@@ -661,6 +866,56 @@
661
866
  ],
662
867
  "path": "jobs/finance/budget-overspend-check.yaml"
663
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
+ },
664
919
  {
665
920
  "id": "business-license-renewal-check",
666
921
  "version": 1,
@@ -785,6 +1040,31 @@
785
1040
  ],
786
1041
  "path": "jobs/content/canonical-tag-check.yaml"
787
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
+ },
788
1068
  {
789
1069
  "id": "car-maintenance-due-reminder",
790
1070
  "version": 1,
@@ -933,6 +1213,33 @@
933
1213
  ],
934
1214
  "path": "jobs/security/certificate-transparency-watch.yaml"
935
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
+ },
936
1243
  {
937
1244
  "id": "change-order-approval-reminder",
938
1245
  "version": 1,
@@ -984,6 +1291,32 @@
984
1291
  ],
985
1292
  "path": "jobs/content/changelog-digest.yaml"
986
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
+ },
987
1320
  {
988
1321
  "id": "checkout-conversion-drop-watch",
989
1322
  "version": 1,
@@ -1064,17 +1397,67 @@
1064
1397
  "path": "jobs/devops/ci-build-time-regression-watch.yaml"
1065
1398
  },
1066
1399
  {
1067
- "id": "claim-status-check",
1400
+ "id": "circuit-outage-detection",
1068
1401
  "version": 1,
1069
- "name": "Open Claim Status Check",
1070
- "description": "Checks the status of any open insurance claims and flags ones that haven't moved in a while. Use this if a claim has ever gone quiet for weeks because nobody was following up with the adjuster.",
1071
- "category": "insurance",
1402
+ "name": "Circuit Outage Detection",
1403
+ "description": "Pings each monitored circuit endpoint and flags any that are down. Use this if a customer circuit has ever gone dark and nobody on your team noticed until the customer called in.",
1404
+ "category": "telecom",
1072
1405
  "tags": [
1073
- "insurance",
1074
- "claims",
1075
- "follow-up"
1406
+ "telecom",
1407
+ "outage",
1408
+ "monitoring",
1409
+ "circuits"
1076
1410
  ],
1077
- "schedule": "0 9 * * 1",
1411
+ "schedule": "*/5 * * * *",
1412
+ "timezone": "UTC",
1413
+ "runner": "shell",
1414
+ "modes": [
1415
+ "script"
1416
+ ],
1417
+ "compatible_agents": [
1418
+ "generic",
1419
+ "claude",
1420
+ "codex"
1421
+ ],
1422
+ "path": "jobs/telecom/circuit-outage-detection.yaml"
1423
+ },
1424
+ {
1425
+ "id": "circuit-provisioning-order-aging",
1426
+ "version": 1,
1427
+ "name": "Circuit Provisioning Order Aging Check",
1428
+ "description": "Flags circuit orders that were placed but never activated within a target number of days. Use this if a provisioning order has ever sat in limbo for weeks because the install date fell through the cracks between sales, the carrier, and the field tech.",
1429
+ "category": "telecom",
1430
+ "tags": [
1431
+ "telecom",
1432
+ "provisioning",
1433
+ "circuits",
1434
+ "orders"
1435
+ ],
1436
+ "schedule": "0 8 * * 1-5",
1437
+ "timezone": "UTC",
1438
+ "runner": "shell",
1439
+ "modes": [
1440
+ "script"
1441
+ ],
1442
+ "compatible_agents": [
1443
+ "generic",
1444
+ "claude",
1445
+ "codex"
1446
+ ],
1447
+ "path": "jobs/telecom/circuit-provisioning-order-aging.yaml"
1448
+ },
1449
+ {
1450
+ "id": "claim-status-check",
1451
+ "version": 1,
1452
+ "name": "Open Claim Status Check",
1453
+ "description": "Checks the status of any open insurance claims and flags ones that haven't moved in a while. Use this if a claim has ever gone quiet for weeks because nobody was following up with the adjuster.",
1454
+ "category": "insurance",
1455
+ "tags": [
1456
+ "insurance",
1457
+ "claims",
1458
+ "follow-up"
1459
+ ],
1460
+ "schedule": "0 9 * * 1",
1078
1461
  "timezone": "UTC",
1079
1462
  "runner": "agent-prompt",
1080
1463
  "modes": [
@@ -1089,6 +1472,32 @@
1089
1472
  ],
1090
1473
  "path": "jobs/insurance/claim-status-check.yaml"
1091
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
+ },
1092
1501
  {
1093
1502
  "id": "class-utilization-check",
1094
1503
  "version": 1,
@@ -1189,6 +1598,111 @@
1189
1598
  ],
1190
1599
  "path": "jobs/warehousing/climate-control-compliance-check.yaml"
1191
1600
  },
1601
+ {
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",
1607
+ "tags": [
1608
+ "healthcare",
1609
+ "inventory",
1610
+ "supplies",
1611
+ "ppe",
1612
+ "operations"
1613
+ ],
1614
+ "schedule": "0 7 * * 1,4",
1615
+ "timezone": "America/New_York",
1616
+ "runner": "shell",
1617
+ "modes": [
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
+ },
1192
1706
  {
1193
1707
  "id": "competitor-page-diff-watch",
1194
1708
  "version": 2,
@@ -1217,6 +1731,34 @@
1217
1731
  ],
1218
1732
  "path": "jobs/marketing/competitor-page-diff-watch.yaml"
1219
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
+ },
1220
1762
  {
1221
1763
  "id": "compliance-filing-deadline-reminder",
1222
1764
  "version": 1,
@@ -1242,6 +1784,31 @@
1242
1784
  ],
1243
1785
  "path": "jobs/legal/compliance-filing-deadline-reminder.yaml"
1244
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
+ },
1245
1812
  {
1246
1813
  "id": "conference-cfp-deadline-reminder",
1247
1814
  "version": 1,
@@ -1270,6 +1837,31 @@
1270
1837
  ],
1271
1838
  "path": "jobs/learning/conference-cfp-deadline-reminder.yaml"
1272
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
+ },
1273
1865
  {
1274
1866
  "id": "constituent-casework-followup-check",
1275
1867
  "version": 1,
@@ -1346,6 +1938,31 @@
1346
1938
  ],
1347
1939
  "path": "jobs/creator/content-calendar-gap-check.yaml"
1348
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
+ },
1349
1966
  {
1350
1967
  "id": "contract-renewal-reminder",
1351
1968
  "version": 1,
@@ -1370,6 +1987,59 @@
1370
1987
  ],
1371
1988
  "path": "jobs/legal/contract-renewal-reminder.yaml"
1372
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
+ },
1373
2043
  {
1374
2044
  "id": "controlled-substance-log-audit",
1375
2045
  "version": 1,
@@ -1397,6 +2067,31 @@
1397
2067
  ],
1398
2068
  "path": "jobs/veterinary/controlled-substance-log-audit.yaml"
1399
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
+ },
1400
2095
  {
1401
2096
  "id": "cost-alert",
1402
2097
  "version": 2,
@@ -1525,6 +2220,55 @@
1525
2220
  ],
1526
2221
  "path": "jobs/insurance/coverage-gap-audit.yaml"
1527
2222
  },
2223
+ {
2224
+ "id": "cpe-firmware-update-tracker",
2225
+ "version": 1,
2226
+ "name": "CPE Firmware/Warranty Update Tracker",
2227
+ "description": "Checks deployed customer-premises equipment against current firmware versions and warranty expiry dates, flagging anything out of date or soon out of warranty. Use this if a modem or router has ever been running years-old firmware with a known vulnerability because nobody was tracking the fleet's patch level.",
2228
+ "category": "telecom",
2229
+ "tags": [
2230
+ "telecom",
2231
+ "cpe",
2232
+ "firmware",
2233
+ "warranty"
2234
+ ],
2235
+ "schedule": "0 8 * * 1",
2236
+ "timezone": "UTC",
2237
+ "runner": "shell",
2238
+ "modes": [
2239
+ "script"
2240
+ ],
2241
+ "compatible_agents": [
2242
+ "generic",
2243
+ "claude",
2244
+ "codex"
2245
+ ],
2246
+ "path": "jobs/telecom/cpe-firmware-update-tracker.yaml"
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
+ },
1528
2272
  {
1529
2273
  "id": "crew-safety-cert-expiry-check",
1530
2274
  "version": 1,
@@ -1765,8 +2509,37 @@
1765
2509
  "reporting",
1766
2510
  "daily"
1767
2511
  ],
1768
- "schedule": "0 8 * * 1-5",
1769
- "timezone": "America/Los_Angeles",
2512
+ "schedule": "0 8 * * 1-5",
2513
+ "timezone": "America/Los_Angeles",
2514
+ "runner": "hybrid",
2515
+ "modes": [
2516
+ "script",
2517
+ "agent-prompt"
2518
+ ],
2519
+ "compatible_agents": [
2520
+ "claude",
2521
+ "codex",
2522
+ "hermes",
2523
+ "openclaw",
2524
+ "generic"
2525
+ ],
2526
+ "path": "jobs/productivity/daily-standup-summary.yaml"
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",
1770
2543
  "runner": "hybrid",
1771
2544
  "modes": [
1772
2545
  "script",
@@ -1779,7 +2552,7 @@
1779
2552
  "openclaw",
1780
2553
  "generic"
1781
2554
  ],
1782
- "path": "jobs/productivity/daily-standup-summary.yaml"
2555
+ "path": "jobs/legal/data-privacy-request-deadline-tracker.yaml"
1783
2556
  },
1784
2557
  {
1785
2558
  "id": "db-backup-verify",
@@ -1933,6 +2706,31 @@
1933
2706
  ],
1934
2707
  "path": "jobs/veterinary/diagnostic-equipment-calibration-check.yaml"
1935
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
+ },
1936
2734
  {
1937
2735
  "id": "disk-space-check",
1938
2736
  "version": 1,
@@ -2157,6 +2955,31 @@
2157
2955
  ],
2158
2956
  "path": "jobs/fleet/driver-license-cdl-expiry-check.yaml"
2159
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
+ },
2160
2983
  {
2161
2984
  "id": "earnings-calendar-watch",
2162
2985
  "version": 1,
@@ -2184,6 +3007,58 @@
2184
3007
  ],
2185
3008
  "path": "jobs/investing/earnings-calendar-watch.yaml"
2186
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
+ },
2187
3062
  {
2188
3063
  "id": "email-deliverability-check",
2189
3064
  "version": 1,
@@ -2361,6 +3236,31 @@
2361
3236
  ],
2362
3237
  "path": "jobs/childcare/enrollment-waitlist-followup-check.yaml"
2363
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
+ },
2364
3264
  {
2365
3265
  "id": "env-drift-check",
2366
3266
  "version": 1,
@@ -2610,6 +3510,32 @@
2610
3510
  ],
2611
3511
  "path": "jobs/events/event-staffing-shortfall-check.yaml"
2612
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
+ },
2613
3539
  {
2614
3540
  "id": "exit-interview-completion-check",
2615
3541
  "version": 1,
@@ -2637,6 +3563,31 @@
2637
3563
  ],
2638
3564
  "path": "jobs/hr/exit-interview-completion-check.yaml"
2639
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
+ },
2640
3591
  {
2641
3592
  "id": "expense-report-deadline-reminder",
2642
3593
  "version": 1,
@@ -2759,6 +3710,32 @@
2759
3710
  ],
2760
3711
  "path": "jobs/security/failed-login-watch.yaml"
2761
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
+ },
2762
3739
  {
2763
3740
  "id": "feature-flag-staleness-audit",
2764
3741
  "version": 1,
@@ -3055,6 +4032,31 @@
3055
4032
  ],
3056
4033
  "path": "jobs/hospitality/food-safety-temp-log-check.yaml"
3057
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
+ },
3058
4060
  {
3059
4061
  "id": "forklift-inspection-check",
3060
4062
  "version": 1,
@@ -3311,6 +4313,31 @@
3311
4313
  ],
3312
4314
  "path": "jobs/crypto/gas-price-alert.yaml"
3313
4315
  },
4316
+ {
4317
+ "id": "gift-card-expiry-check",
4318
+ "version": 1,
4319
+ "name": "Gift Card Expiry Check",
4320
+ "description": "Scans your gift card ledger for cards approaching their expiration date with a remaining balance. Use this if a client has ever held an unused gift card that quietly expired, turning a goodwill purchase into a complaint at checkout.",
4321
+ "category": "spa",
4322
+ "tags": [
4323
+ "spa",
4324
+ "gift-cards",
4325
+ "retention",
4326
+ "front-desk"
4327
+ ],
4328
+ "schedule": "0 9 * * 1",
4329
+ "timezone": "UTC",
4330
+ "runner": "shell",
4331
+ "modes": [
4332
+ "script"
4333
+ ],
4334
+ "compatible_agents": [
4335
+ "generic",
4336
+ "claude",
4337
+ "codex"
4338
+ ],
4339
+ "path": "jobs/spa/gift-card-expiry-check.yaml"
4340
+ },
3314
4341
  {
3315
4342
  "id": "gift-card-liability-reconciliation-check",
3316
4343
  "version": 1,
@@ -3615,6 +4642,57 @@
3615
4642
  ],
3616
4643
  "path": "jobs/personal/habit-checkin.yaml"
3617
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
+ },
3618
4696
  {
3619
4697
  "id": "health-inspection-due-reminder",
3620
4698
  "version": 1,
@@ -3653,16 +4731,45 @@
3653
4731
  ],
3654
4732
  "schedule": "0 7 * * 1",
3655
4733
  "timezone": "America/New_York",
3656
- "runner": "shell",
4734
+ "runner": "shell",
4735
+ "modes": [
4736
+ "script"
4737
+ ],
4738
+ "compatible_agents": [
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",
3657
4761
  "modes": [
3658
- "script"
4762
+ "script",
4763
+ "agent-prompt"
3659
4764
  ],
3660
4765
  "compatible_agents": [
3661
- "generic",
3662
4766
  "claude",
3663
- "codex"
4767
+ "codex",
4768
+ "hermes",
4769
+ "openclaw",
4770
+ "generic"
3664
4771
  ],
3665
- "path": "jobs/restaurant/health-inspection-prep-reminder.yaml"
4772
+ "path": "jobs/healthcare/hipaa-access-log-audit.yaml"
3666
4773
  },
3667
4774
  {
3668
4775
  "id": "hoa-fee-collection-check",
@@ -4145,6 +5252,31 @@
4145
5252
  ],
4146
5253
  "path": "jobs/agriculture/irrigation-schedule-check.yaml"
4147
5254
  },
5255
+ {
5256
+ "id": "isbn-registration-tracker",
5257
+ "version": 1,
5258
+ "name": "ISBN Registration Tracker",
5259
+ "description": "Flags upcoming titles that don't yet have an ISBN assigned and registered with the relevant agency, checked against their planned publication date. Use this if a title has ever hit its pub date without an ISBN because registration wasn't started early enough.",
5260
+ "category": "publishing",
5261
+ "tags": [
5262
+ "publishing",
5263
+ "isbn",
5264
+ "metadata",
5265
+ "pre-press"
5266
+ ],
5267
+ "schedule": "0 9 * * 1",
5268
+ "timezone": "UTC",
5269
+ "runner": "shell",
5270
+ "modes": [
5271
+ "script"
5272
+ ],
5273
+ "compatible_agents": [
5274
+ "generic",
5275
+ "claude",
5276
+ "codex"
5277
+ ],
5278
+ "path": "jobs/publishing/isbn-registration-tracker.yaml"
5279
+ },
4148
5280
  {
4149
5281
  "id": "job-posting-expiry-check",
4150
5282
  "version": 1,
@@ -4295,6 +5427,31 @@
4295
5427
  ],
4296
5428
  "path": "jobs/restaurant/labor-cost-percentage-watch.yaml"
4297
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
+ },
4298
5455
  {
4299
5456
  "id": "lapsed-donor-check",
4300
5457
  "version": 1,
@@ -4346,6 +5503,31 @@
4346
5503
  ],
4347
5504
  "path": "jobs/logistics/last-mile-delivery-exception-check.yaml"
4348
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
+ },
4349
5531
  {
4350
5532
  "id": "lead-response-time-check",
4351
5533
  "version": 1,
@@ -4394,6 +5576,81 @@
4394
5576
  ],
4395
5577
  "path": "jobs/realestate/lease-expiry-reminder.yaml"
4396
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
+ },
4397
5654
  {
4398
5655
  "id": "license-compliance-check",
4399
5656
  "version": 1,
@@ -4443,6 +5700,82 @@
4443
5700
  ],
4444
5701
  "path": "jobs/healthcare/license-credential-expiry-check.yaml"
4445
5702
  },
5703
+ {
5704
+ "id": "license-renewal-tracker",
5705
+ "version": 1,
5706
+ "name": "Esthetician/Cosmetologist License Renewal Tracker",
5707
+ "description": "Warns before a staff member's state license, certification, or continuing-education deadline lapses. Use this if a technician has ever shown up ready to work a shift, only to discover their license expired last month and they can't legally touch a client.",
5708
+ "category": "spa",
5709
+ "tags": [
5710
+ "spa",
5711
+ "licensing",
5712
+ "compliance",
5713
+ "staff"
5714
+ ],
5715
+ "schedule": "0 8 1 * *",
5716
+ "timezone": "UTC",
5717
+ "runner": "shell",
5718
+ "modes": [
5719
+ "script"
5720
+ ],
5721
+ "compatible_agents": [
5722
+ "generic",
5723
+ "claude",
5724
+ "codex"
5725
+ ],
5726
+ "path": "jobs/spa/license-renewal-tracker.yaml"
5727
+ },
5728
+ {
5729
+ "id": "link-capacity-threshold-alert",
5730
+ "version": 1,
5731
+ "name": "Link Capacity Threshold Alert",
5732
+ "description": "Checks a link's current bandwidth utilization against a warning threshold so you can upgrade capacity before customers notice congestion. Use this if a trunk or uplink has ever saturated during peak hours and the first sign anyone saw was a flood of slow-speed complaints.",
5733
+ "category": "telecom",
5734
+ "tags": [
5735
+ "telecom",
5736
+ "bandwidth",
5737
+ "capacity",
5738
+ "monitoring"
5739
+ ],
5740
+ "schedule": "*/15 * * * *",
5741
+ "timezone": "UTC",
5742
+ "runner": "shell",
5743
+ "modes": [
5744
+ "script"
5745
+ ],
5746
+ "compatible_agents": [
5747
+ "generic",
5748
+ "claude",
5749
+ "codex"
5750
+ ],
5751
+ "path": "jobs/telecom/link-capacity-threshold-alert.yaml"
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
+ },
4446
5779
  {
4447
5780
  "id": "livestock-feed-stock-check",
4448
5781
  "version": 1,
@@ -4468,6 +5801,31 @@
4468
5801
  ],
4469
5802
  "path": "jobs/agriculture/livestock-feed-stock-check.yaml"
4470
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
+ },
4471
5829
  {
4472
5830
  "id": "loaner-vehicle-return-reminder",
4473
5831
  "version": 1,
@@ -4670,12 +6028,87 @@
4670
6028
  "description": "Flags saved canned responses (macros) that haven't been used in a long time so someone can check whether they're still accurate. Use this if a stale macro has ever gone out with outdated pricing, a dead link, or a policy that changed months ago.",
4671
6029
  "category": "support",
4672
6030
  "tags": [
4673
- "support",
4674
- "macros",
4675
- "canned-responses",
4676
- "knowledge-base"
6031
+ "support",
6032
+ "macros",
6033
+ "canned-responses",
6034
+ "knowledge-base"
6035
+ ],
6036
+ "schedule": "0 8 1 * *",
6037
+ "timezone": "UTC",
6038
+ "runner": "shell",
6039
+ "modes": [
6040
+ "script"
6041
+ ],
6042
+ "compatible_agents": [
6043
+ "generic",
6044
+ "claude",
6045
+ "codex"
6046
+ ],
6047
+ "path": "jobs/support/macro-usage-staleness-check.yaml"
6048
+ },
6049
+ {
6050
+ "id": "maintenance-contract-renewal-check",
6051
+ "version": 1,
6052
+ "name": "Maintenance Contract Renewal Check",
6053
+ "description": "Checks recurring service/maintenance contracts (annual HVAC tune-ups, quarterly plumbing inspections) against their renewal date and flags any coming up so the customer can be rebooked before the contract lapses. Use this if a maintenance customer has ever silently churned because nobody called to renew before the term ran out.",
6054
+ "category": "fieldservice",
6055
+ "tags": [
6056
+ "fieldservice",
6057
+ "maintenance-contract",
6058
+ "renewal",
6059
+ "recurring-revenue"
6060
+ ],
6061
+ "schedule": "0 8 * * 1",
6062
+ "timezone": "UTC",
6063
+ "runner": "shell",
6064
+ "modes": [
6065
+ "script"
6066
+ ],
6067
+ "compatible_agents": [
6068
+ "generic",
6069
+ "claude",
6070
+ "codex"
6071
+ ],
6072
+ "path": "jobs/fieldservice/maintenance-contract-renewal-check.yaml"
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
+ },
6099
+ {
6100
+ "id": "manuscript-deadline-tracker",
6101
+ "version": 1,
6102
+ "name": "Manuscript Deadline Tracker",
6103
+ "description": "Flags manuscript milestones (first draft, revisions, final delivery) coming due from authors or editors. Use this if a book has ever slipped its production schedule because a manuscript deadline only lived in an email thread nobody rechecked.",
6104
+ "category": "publishing",
6105
+ "tags": [
6106
+ "publishing",
6107
+ "manuscripts",
6108
+ "authors",
6109
+ "deadlines"
4677
6110
  ],
4678
- "schedule": "0 8 1 * *",
6111
+ "schedule": "0 9 * * 1-5",
4679
6112
  "timezone": "UTC",
4680
6113
  "runner": "shell",
4681
6114
  "modes": [
@@ -4686,7 +6119,7 @@
4686
6119
  "claude",
4687
6120
  "codex"
4688
6121
  ],
4689
- "path": "jobs/support/macro-usage-staleness-check.yaml"
6122
+ "path": "jobs/publishing/manuscript-deadline-tracker.yaml"
4690
6123
  },
4691
6124
  {
4692
6125
  "id": "markdown-aging-inventory-check",
@@ -4713,6 +6146,32 @@
4713
6146
  ],
4714
6147
  "path": "jobs/retail/markdown-aging-inventory-check.yaml"
4715
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
+ },
4716
6175
  {
4717
6176
  "id": "material-delivery-delay-check",
4718
6177
  "version": 1,
@@ -4839,6 +6298,56 @@
4839
6298
  ],
4840
6299
  "path": "jobs/personal/medication-refill-reminder.yaml"
4841
6300
  },
6301
+ {
6302
+ "id": "membership-unused-session-expiry-check",
6303
+ "version": 1,
6304
+ "name": "Membership/Package Unused-Session Expiry Check",
6305
+ "description": "Flags members or package holders whose prepaid sessions or membership credits are about to expire unused. Use this if a client has ever paid for a monthly facial membership, banked three unused visits, and let them evaporate because nobody reminded them to book.",
6306
+ "category": "spa",
6307
+ "tags": [
6308
+ "spa",
6309
+ "membership",
6310
+ "churn",
6311
+ "retention"
6312
+ ],
6313
+ "schedule": "0 9 * * 1",
6314
+ "timezone": "UTC",
6315
+ "runner": "shell",
6316
+ "modes": [
6317
+ "script"
6318
+ ],
6319
+ "compatible_agents": [
6320
+ "generic",
6321
+ "claude",
6322
+ "codex"
6323
+ ],
6324
+ "path": "jobs/spa/membership-unused-session-expiry-check.yaml"
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
+ },
4842
6351
  {
4843
6352
  "id": "morning-briefing-digest",
4844
6353
  "version": 1,
@@ -4867,6 +6376,83 @@
4867
6376
  ],
4868
6377
  "path": "jobs/productivity/morning-briefing-digest.yaml"
4869
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"
6455
+ },
4870
6456
  {
4871
6457
  "id": "nda-expiry-check",
4872
6458
  "version": 1,
@@ -5099,6 +6685,32 @@
5099
6685
  ],
5100
6686
  "path": "jobs/crypto/nft-floor-price-watch.yaml"
5101
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
+ },
5102
6714
  {
5103
6715
  "id": "offer-expiry-reminder",
5104
6716
  "version": 1,
@@ -5247,6 +6859,31 @@
5247
6859
  ],
5248
6860
  "path": "jobs/hiring/open-req-aging-check.yaml"
5249
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
+ },
5250
6887
  {
5251
6888
  "id": "orphaned-branch-cleanup",
5252
6889
  "version": 1,
@@ -5271,6 +6908,31 @@
5271
6908
  ],
5272
6909
  "path": "jobs/devops/orphaned-branch-cleanup.yaml"
5273
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
+ },
5274
6936
  {
5275
6937
  "id": "overdue-library-materials-check",
5276
6938
  "version": 1,
@@ -5394,6 +7056,31 @@
5394
7056
  ],
5395
7057
  "path": "jobs/automotive/parts-backorder-check.yaml"
5396
7058
  },
7059
+ {
7060
+ "id": "parts-low-stock-reorder-check",
7061
+ "version": 1,
7062
+ "name": "Parts Low-Stock Reorder Check",
7063
+ "description": "Checks your truck/warehouse parts inventory against reorder thresholds and flags anything running low before a tech shows up on a job without the capacitor or valve they need. Use this if a job has ever been rescheduled because a common part was quietly out of stock.",
7064
+ "category": "fieldservice",
7065
+ "tags": [
7066
+ "fieldservice",
7067
+ "inventory",
7068
+ "parts",
7069
+ "reorder"
7070
+ ],
7071
+ "schedule": "0 6 * * 1-5",
7072
+ "timezone": "UTC",
7073
+ "runner": "shell",
7074
+ "modes": [
7075
+ "script"
7076
+ ],
7077
+ "compatible_agents": [
7078
+ "generic",
7079
+ "claude",
7080
+ "codex"
7081
+ ],
7082
+ "path": "jobs/fieldservice/parts-low-stock-reorder-check.yaml"
7083
+ },
5397
7084
  {
5398
7085
  "id": "passport-expiry-check",
5399
7086
  "version": 1,
@@ -5425,13 +7112,91 @@
5425
7112
  "description": "Warns you before a patent maintenance (annuity) fee comes due so the patent doesn't lapse. Use this if a patent has ever gone abandoned because a maintenance fee deadline was missed.",
5426
7113
  "category": "legal",
5427
7114
  "tags": [
5428
- "legal",
5429
- "patents",
5430
- "ip",
5431
- "maintenance-fees"
7115
+ "legal",
7116
+ "patents",
7117
+ "ip",
7118
+ "maintenance-fees"
7119
+ ],
7120
+ "schedule": "0 9 1 * *",
7121
+ "timezone": "UTC",
7122
+ "runner": "shell",
7123
+ "modes": [
7124
+ "script"
7125
+ ],
7126
+ "compatible_agents": [
7127
+ "generic",
7128
+ "claude",
7129
+ "codex"
7130
+ ],
7131
+ "path": "jobs/legal/patent-maintenance-fee-reminder.yaml"
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"
5432
7197
  ],
5433
- "schedule": "0 9 1 * *",
5434
- "timezone": "UTC",
7198
+ "schedule": "0 */2 * * 1-6",
7199
+ "timezone": "America/New_York",
5435
7200
  "runner": "shell",
5436
7201
  "modes": [
5437
7202
  "script"
@@ -5441,7 +7206,7 @@
5441
7206
  "claude",
5442
7207
  "codex"
5443
7208
  ],
5444
- "path": "jobs/legal/patent-maintenance-fee-reminder.yaml"
7209
+ "path": "jobs/healthcare/patient-portal-message-backlog-check.yaml"
5445
7210
  },
5446
7211
  {
5447
7212
  "id": "patient-recall-reminder",
@@ -5470,6 +7235,63 @@
5470
7235
  ],
5471
7236
  "path": "jobs/healthcare/patient-recall-reminder.yaml"
5472
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
+ },
5473
7295
  {
5474
7296
  "id": "payroll-cutoff-checklist-reminder",
5475
7297
  "version": 1,
@@ -5519,6 +7341,31 @@
5519
7341
  ],
5520
7342
  "path": "jobs/finance/payroll-run-reminder.yaml"
5521
7343
  },
7344
+ {
7345
+ "id": "peering-transit-contract-renewal-check",
7346
+ "version": 1,
7347
+ "name": "Peering/Transit Contract Renewal Check",
7348
+ "description": "Checks upstream transit and peering agreements for upcoming renewal or auto-renew deadlines and warns with enough lead time to renegotiate. Use this if a transit contract has ever auto-renewed at last year's rate (or worse) because nobody flagged the deadline until the invoice changed.",
7349
+ "category": "telecom",
7350
+ "tags": [
7351
+ "telecom",
7352
+ "peering",
7353
+ "transit",
7354
+ "contracts"
7355
+ ],
7356
+ "schedule": "0 7 * * 1",
7357
+ "timezone": "UTC",
7358
+ "runner": "shell",
7359
+ "modes": [
7360
+ "script"
7361
+ ],
7362
+ "compatible_agents": [
7363
+ "generic",
7364
+ "claude",
7365
+ "codex"
7366
+ ],
7367
+ "path": "jobs/telecom/peering-transit-contract-renewal-check.yaml"
7368
+ },
5522
7369
  {
5523
7370
  "id": "performance-review-cycle-reminder",
5524
7371
  "version": 1,
@@ -5546,6 +7393,31 @@
5546
7393
  ],
5547
7394
  "path": "jobs/hr/performance-review-cycle-reminder.yaml"
5548
7395
  },
7396
+ {
7397
+ "id": "permissions-clearance-tracker",
7398
+ "version": 1,
7399
+ "name": "Permissions Clearance Tracker",
7400
+ "description": "Flags quoted material, images, lyrics, or other third-party content in a forthcoming title that still needs permissions clearance before the book goes to press. Use this if a title has ever gone to print with an uncleared quote or image because clearance status wasn't tracked centrally.",
7401
+ "category": "publishing",
7402
+ "tags": [
7403
+ "publishing",
7404
+ "permissions",
7405
+ "rights-clearance",
7406
+ "pre-press"
7407
+ ],
7408
+ "schedule": "0 9 * * 1",
7409
+ "timezone": "UTC",
7410
+ "runner": "shell",
7411
+ "modes": [
7412
+ "script"
7413
+ ],
7414
+ "compatible_agents": [
7415
+ "generic",
7416
+ "claude",
7417
+ "codex"
7418
+ ],
7419
+ "path": "jobs/publishing/permissions-clearance-tracker.yaml"
7420
+ },
5549
7421
  {
5550
7422
  "id": "permit-application-backlog-check",
5551
7423
  "version": 1,
@@ -5620,6 +7492,31 @@
5620
7492
  ],
5621
7493
  "path": "jobs/veterinary/pet-vaccine-due-reminder.yaml"
5622
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
+ },
5623
7520
  {
5624
7521
  "id": "pick-pack-error-rate-watch",
5625
7522
  "version": 1,
@@ -5645,6 +7542,31 @@
5645
7542
  ],
5646
7543
  "path": "jobs/warehousing/pick-pack-error-rate-watch.yaml"
5647
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
+ },
5648
7570
  {
5649
7571
  "id": "plant-watering-reminder",
5650
7572
  "version": 1,
@@ -5694,6 +7616,31 @@
5694
7616
  ],
5695
7617
  "path": "jobs/gaming/player-contract-renewal-check.yaml"
5696
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
+ },
5697
7644
  {
5698
7645
  "id": "podcast-download-drop-watch",
5699
7646
  "version": 1,
@@ -5881,13 +7828,139 @@
5881
7828
  "description": "Checks a practice log file for a skill you're building (language, instrument, coding kata) and warns if too many days have passed since the last logged session. Use this if a daily practice habit has ever quietly lapsed without you noticing until weeks had gone by.",
5882
7829
  "category": "learning",
5883
7830
  "tags": [
5884
- "learning",
5885
- "practice",
5886
- "streak",
5887
- "habit"
7831
+ "learning",
7832
+ "practice",
7833
+ "streak",
7834
+ "habit"
7835
+ ],
7836
+ "schedule": "0 20 * * *",
7837
+ "timezone": "America/Los_Angeles",
7838
+ "runner": "shell",
7839
+ "modes": [
7840
+ "script"
7841
+ ],
7842
+ "compatible_agents": [
7843
+ "generic",
7844
+ "claude",
7845
+ "codex"
7846
+ ],
7847
+ "path": "jobs/learning/practice-streak-check.yaml"
7848
+ },
7849
+ {
7850
+ "id": "premium-payment-due-reminder",
7851
+ "version": 1,
7852
+ "name": "Insurance Premium Payment Due Reminder",
7853
+ "description": "Warns you before an insurance premium payment is due, separate from the policy's renewal date. Use this if a policy has ever lapsed for non-payment even though the renewal itself was months away, because a monthly or quarterly premium payment was missed.",
7854
+ "category": "insurance",
7855
+ "tags": [
7856
+ "insurance",
7857
+ "premium",
7858
+ "payment",
7859
+ "reminder"
7860
+ ],
7861
+ "schedule": "0 8 * * *",
7862
+ "timezone": "UTC",
7863
+ "runner": "shell",
7864
+ "modes": [
7865
+ "script"
7866
+ ],
7867
+ "compatible_agents": [
7868
+ "generic",
7869
+ "claude",
7870
+ "codex"
7871
+ ],
7872
+ "path": "jobs/insurance/premium-payment-due-reminder.yaml"
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
+ },
7900
+ {
7901
+ "id": "preventive-maintenance-due-check",
7902
+ "version": 1,
7903
+ "name": "Preventive Maintenance Due Check",
7904
+ "description": "Flags equipment coming due for scheduled preventive maintenance. Use this if a machine has ever failed unexpectedly that would've been caught by a PM visit nobody scheduled in time.",
7905
+ "category": "manufacturing",
7906
+ "tags": [
7907
+ "manufacturing",
7908
+ "maintenance",
7909
+ "equipment"
7910
+ ],
7911
+ "schedule": "0 7 * * 1",
7912
+ "timezone": "UTC",
7913
+ "runner": "shell",
7914
+ "modes": [
7915
+ "script"
7916
+ ],
7917
+ "compatible_agents": [
7918
+ "generic",
7919
+ "claude",
7920
+ "codex"
7921
+ ],
7922
+ "path": "jobs/manufacturing/preventive-maintenance-due-check.yaml"
7923
+ },
7924
+ {
7925
+ "id": "print-run-reorder-threshold-check",
7926
+ "version": 1,
7927
+ "name": "Print Run Reorder Threshold Check",
7928
+ "description": "Flags titles whose warehouse stock has dropped below the reorder threshold, so a reprint can be queued before the book goes out of stock. Use this if a title has ever gone unavailable for weeks because nobody noticed the print run was running low until it was already sold out.",
7929
+ "category": "publishing",
7930
+ "tags": [
7931
+ "publishing",
7932
+ "print-run",
7933
+ "inventory",
7934
+ "reprints"
7935
+ ],
7936
+ "schedule": "0 8 * * 1",
7937
+ "timezone": "UTC",
7938
+ "runner": "shell",
7939
+ "modes": [
7940
+ "script"
7941
+ ],
7942
+ "compatible_agents": [
7943
+ "generic",
7944
+ "claude",
7945
+ "codex"
7946
+ ],
7947
+ "path": "jobs/publishing/print-run-reorder-threshold-check.yaml"
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"
5888
7961
  ],
5889
- "schedule": "0 20 * * *",
5890
- "timezone": "America/Los_Angeles",
7962
+ "schedule": "0 9 * * 1-5",
7963
+ "timezone": "America/New_York",
5891
7964
  "runner": "shell",
5892
7965
  "modes": [
5893
7966
  "script"
@@ -5897,22 +7970,22 @@
5897
7970
  "claude",
5898
7971
  "codex"
5899
7972
  ],
5900
- "path": "jobs/learning/practice-streak-check.yaml"
7973
+ "path": "jobs/healthcare/prior-authorization-expiry-check.yaml"
5901
7974
  },
5902
7975
  {
5903
- "id": "premium-payment-due-reminder",
7976
+ "id": "probation-period-review-reminder",
5904
7977
  "version": 1,
5905
- "name": "Insurance Premium Payment Due Reminder",
5906
- "description": "Warns you before an insurance premium payment is due, separate from the policy's renewal date. Use this if a policy has ever lapsed for non-payment even though the renewal itself was months away, because a monthly or quarterly premium payment was missed.",
5907
- "category": "insurance",
7978
+ "name": "Probation Period Review Reminder",
7979
+ "description": "Warns you before a new hire's probation period ends so a manager can complete the required review before it lapses automatically. Use this if a probation deadline has ever passed with no review on file and nobody caught it until it became a compliance headache.",
7980
+ "category": "hr",
5908
7981
  "tags": [
5909
- "insurance",
5910
- "premium",
5911
- "payment",
5912
- "reminder"
7982
+ "hr",
7983
+ "probation",
7984
+ "new-hire",
7985
+ "compliance"
5913
7986
  ],
5914
- "schedule": "0 8 * * *",
5915
- "timezone": "UTC",
7987
+ "schedule": "0 8 * * 1",
7988
+ "timezone": "America/New_York",
5916
7989
  "runner": "shell",
5917
7990
  "modes": [
5918
7991
  "script"
@@ -5922,20 +7995,22 @@
5922
7995
  "claude",
5923
7996
  "codex"
5924
7997
  ],
5925
- "path": "jobs/insurance/premium-payment-due-reminder.yaml"
7998
+ "path": "jobs/hr/probation-period-review-reminder.yaml"
5926
7999
  },
5927
8000
  {
5928
- "id": "preventive-maintenance-due-check",
8001
+ "id": "product-chemical-expiry-check",
5929
8002
  "version": 1,
5930
- "name": "Preventive Maintenance Due Check",
5931
- "description": "Flags equipment coming due for scheduled preventive maintenance. Use this if a machine has ever failed unexpectedly that would've been caught by a PM visit nobody scheduled in time.",
5932
- "category": "manufacturing",
8003
+ "name": "Product & Chemical Expiry Check",
8004
+ "description": "Flags skincare products, dye lots, wax, and other chemical inventory approaching their expiration or period-after-opening date. Use this if an esthetician or colorist has ever applied a product past its safe-use date because the expiry label was never checked against today's date.",
8005
+ "category": "spa",
5933
8006
  "tags": [
5934
- "manufacturing",
5935
- "maintenance",
5936
- "equipment"
8007
+ "spa",
8008
+ "inventory",
8009
+ "expiry",
8010
+ "safety",
8011
+ "chemicals"
5937
8012
  ],
5938
- "schedule": "0 7 * * 1",
8013
+ "schedule": "0 6 * * 1",
5939
8014
  "timezone": "UTC",
5940
8015
  "runner": "shell",
5941
8016
  "modes": [
@@ -5946,22 +8021,23 @@
5946
8021
  "claude",
5947
8022
  "codex"
5948
8023
  ],
5949
- "path": "jobs/manufacturing/preventive-maintenance-due-check.yaml"
8024
+ "path": "jobs/spa/product-chemical-expiry-check.yaml"
5950
8025
  },
5951
8026
  {
5952
- "id": "probation-period-review-reminder",
8027
+ "id": "product-feed-health-check",
5953
8028
  "version": 1,
5954
- "name": "Probation Period Review Reminder",
5955
- "description": "Warns you before a new hire's probation period ends so a manager can complete the required review before it lapses automatically. Use this if a probation deadline has ever passed with no review on file and nobody caught it until it became a compliance headache.",
5956
- "category": "hr",
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",
5957
8032
  "tags": [
5958
- "hr",
5959
- "probation",
5960
- "new-hire",
5961
- "compliance"
8033
+ "ecommerce",
8034
+ "product-feed",
8035
+ "seo",
8036
+ "catalog",
8037
+ "data-quality"
5962
8038
  ],
5963
- "schedule": "0 8 * * 1",
5964
- "timezone": "America/New_York",
8039
+ "schedule": "0 5 * * *",
8040
+ "timezone": "UTC",
5965
8041
  "runner": "shell",
5966
8042
  "modes": [
5967
8043
  "script"
@@ -5971,7 +8047,7 @@
5971
8047
  "claude",
5972
8048
  "codex"
5973
8049
  ],
5974
- "path": "jobs/hr/probation-period-review-reminder.yaml"
8050
+ "path": "jobs/ecommerce/product-feed-health-check.yaml"
5975
8051
  },
5976
8052
  {
5977
8053
  "id": "production-line-downtime-watch",
@@ -6098,6 +8174,32 @@
6098
8174
  ],
6099
8175
  "path": "jobs/team/pto-balance-check.yaml"
6100
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
+ },
6101
8203
  {
6102
8204
  "id": "public-comment-period-closing-check",
6103
8205
  "version": 1,
@@ -6173,6 +8275,31 @@
6173
8275
  ],
6174
8276
  "path": "jobs/government/public-records-retention-purge-check.yaml"
6175
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
+ },
6176
8303
  {
6177
8304
  "id": "purchase-order-receiving-delay-check",
6178
8305
  "version": 1,
@@ -6222,6 +8349,31 @@
6222
8349
  ],
6223
8350
  "path": "jobs/manufacturing/quality-defect-rate-check.yaml"
6224
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
+ },
6225
8377
  {
6226
8378
  "id": "queue-depth-check",
6227
8379
  "version": 1,
@@ -6418,6 +8570,31 @@
6418
8570
  ],
6419
8571
  "path": "jobs/hiring/reference-check-overdue-reminder.yaml"
6420
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
+ },
6421
8598
  {
6422
8599
  "id": "referral-pending-followup-check",
6423
8600
  "version": 1,
@@ -6443,6 +8620,33 @@
6443
8620
  ],
6444
8621
  "path": "jobs/healthcare/referral-pending-followup-check.yaml"
6445
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
+ },
6446
8650
  {
6447
8651
  "id": "rent-payment-late-check",
6448
8652
  "version": 1,
@@ -6467,6 +8671,56 @@
6467
8671
  ],
6468
8672
  "path": "jobs/realestate/rent-payment-late-check.yaml"
6469
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
+ },
6470
8724
  {
6471
8725
  "id": "rental-vacancy-check",
6472
8726
  "version": 1,
@@ -6617,6 +8871,57 @@
6617
8871
  ],
6618
8872
  "path": "jobs/restaurant/reservation-noshow-deposit-check.yaml"
6619
8873
  },
8874
+ {
8875
+ "id": "retail-product-low-stock-check",
8876
+ "version": 1,
8877
+ "name": "Retail Product Low-Stock Check",
8878
+ "description": "Scans your retail/backbar inventory log and flags skincare, haircare, or nail products at or below reorder point. Use this if a stylist or esthetician has ever reached for a product mid-service and found the shelf empty because nobody was watching the count.",
8879
+ "category": "spa",
8880
+ "tags": [
8881
+ "spa",
8882
+ "retail",
8883
+ "inventory",
8884
+ "restock"
8885
+ ],
8886
+ "schedule": "0 7 * * 1",
8887
+ "timezone": "UTC",
8888
+ "runner": "shell",
8889
+ "modes": [
8890
+ "script"
8891
+ ],
8892
+ "compatible_agents": [
8893
+ "generic",
8894
+ "claude",
8895
+ "codex"
8896
+ ],
8897
+ "path": "jobs/spa/retail-product-low-stock-check.yaml"
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
+ },
6620
8925
  {
6621
8926
  "id": "return-fraud-pattern-check",
6622
8927
  "version": 1,
@@ -6705,7 +9010,32 @@
6705
9010
  "reviews",
6706
9011
  "ecommerce"
6707
9012
  ],
6708
- "schedule": "0 9 * * *",
9013
+ "schedule": "0 9 * * *",
9014
+ "timezone": "UTC",
9015
+ "runner": "shell",
9016
+ "modes": [
9017
+ "script"
9018
+ ],
9019
+ "compatible_agents": [
9020
+ "generic",
9021
+ "claude",
9022
+ "codex"
9023
+ ],
9024
+ "path": "jobs/growth/review-request-nudge.yaml"
9025
+ },
9026
+ {
9027
+ "id": "rights-license-expiry-check",
9028
+ "version": 1,
9029
+ "name": "Rights and License Expiry Check",
9030
+ "description": "Warns you before a granted or acquired rights/licensing deal (foreign rights, film/TV options, audio, translation) expires or comes up for renewal. Use this if a rights deal has ever lapsed silently because the expiry date only lived in the signed contract's PDF.",
9031
+ "category": "publishing",
9032
+ "tags": [
9033
+ "publishing",
9034
+ "rights",
9035
+ "licensing",
9036
+ "contracts"
9037
+ ],
9038
+ "schedule": "0 9 * * 1",
6709
9039
  "timezone": "UTC",
6710
9040
  "runner": "shell",
6711
9041
  "modes": [
@@ -6716,7 +9046,7 @@
6716
9046
  "claude",
6717
9047
  "codex"
6718
9048
  ],
6719
- "path": "jobs/growth/review-request-nudge.yaml"
9049
+ "path": "jobs/publishing/rights-license-expiry-check.yaml"
6720
9050
  },
6721
9051
  {
6722
9052
  "id": "robots-txt-check",
@@ -6742,6 +9072,31 @@
6742
9072
  ],
6743
9073
  "path": "jobs/content/robots-txt-check.yaml"
6744
9074
  },
9075
+ {
9076
+ "id": "royalty-statement-due-check",
9077
+ "version": 1,
9078
+ "name": "Royalty Statement Due Check",
9079
+ "description": "Warns you before a royalty statement and payment is due to an author or co-author. Use this if a royalty statement has ever gone out late (or didn't go out at all) because the payout schedule wasn't tracked anywhere.",
9080
+ "category": "publishing",
9081
+ "tags": [
9082
+ "publishing",
9083
+ "royalties",
9084
+ "authors",
9085
+ "payments"
9086
+ ],
9087
+ "schedule": "0 9 1 * *",
9088
+ "timezone": "UTC",
9089
+ "runner": "shell",
9090
+ "modes": [
9091
+ "script"
9092
+ ],
9093
+ "compatible_agents": [
9094
+ "generic",
9095
+ "claude",
9096
+ "codex"
9097
+ ],
9098
+ "path": "jobs/publishing/royalty-statement-due-check.yaml"
9099
+ },
6745
9100
  {
6746
9101
  "id": "rss-feed-health-check",
6747
9102
  "version": 1,
@@ -6892,6 +9247,31 @@
6892
9247
  ],
6893
9248
  "path": "jobs/finance/saas-seat-audit.yaml"
6894
9249
  },
9250
+ {
9251
+ "id": "safety-inspection-due-reminder",
9252
+ "version": 1,
9253
+ "name": "Health & Safety Inspection Due Reminder",
9254
+ "description": "Warns before a health department, board-of-cosmetology, or fire/safety inspection is expected, based on your jurisdiction's typical interval. Use this if an inspector has ever shown up to a treatment room that wasn't ready because nobody was tracking when the last inspection happened.",
9255
+ "category": "spa",
9256
+ "tags": [
9257
+ "spa",
9258
+ "compliance",
9259
+ "inspection",
9260
+ "safety"
9261
+ ],
9262
+ "schedule": "0 8 1 * *",
9263
+ "timezone": "UTC",
9264
+ "runner": "shell",
9265
+ "modes": [
9266
+ "script"
9267
+ ],
9268
+ "compatible_agents": [
9269
+ "generic",
9270
+ "claude",
9271
+ "codex"
9272
+ ],
9273
+ "path": "jobs/spa/safety-inspection-due-reminder.yaml"
9274
+ },
6895
9275
  {
6896
9276
  "id": "screen-time-check",
6897
9277
  "version": 1,
@@ -6967,6 +9347,31 @@
6967
9347
  ],
6968
9348
  "path": "jobs/security/secrets-scan.yaml"
6969
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
+ },
6970
9375
  {
6971
9376
  "id": "seo-meta-check",
6972
9377
  "version": 1,
@@ -7017,6 +9422,58 @@
7017
9422
  ],
7018
9423
  "path": "jobs/marketing/seo-rank-drop-watch.yaml"
7019
9424
  },
9425
+ {
9426
+ "id": "service-ticket-churn-risk-review",
9427
+ "version": 1,
9428
+ "name": "Service Ticket Churn Risk Review",
9429
+ "description": "Reviews customers with repeated service tickets in a recent window and drafts a churn-risk summary with recommended outreach. Use this if a customer has ever quietly churned after their third outage ticket because nobody connected the dots between separate complaints.",
9430
+ "category": "telecom",
9431
+ "tags": [
9432
+ "telecom",
9433
+ "churn",
9434
+ "support",
9435
+ "retention"
9436
+ ],
9437
+ "schedule": "0 9 * * 1",
9438
+ "timezone": "UTC",
9439
+ "runner": "hybrid",
9440
+ "modes": [
9441
+ "script",
9442
+ "agent-prompt"
9443
+ ],
9444
+ "compatible_agents": [
9445
+ "claude",
9446
+ "codex",
9447
+ "hermes",
9448
+ "generic"
9449
+ ],
9450
+ "path": "jobs/telecom/service-ticket-churn-risk-review.yaml"
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
+ },
7020
9477
  {
7021
9478
  "id": "shipment-delay-watch",
7022
9479
  "version": 1,
@@ -7114,6 +9571,31 @@
7114
9571
  ],
7115
9572
  "path": "jobs/support/sla-breach-warning.yaml"
7116
9573
  },
9574
+ {
9575
+ "id": "sla-uptime-breach-tracker",
9576
+ "version": 1,
9577
+ "name": "SLA Uptime Breach Tracker",
9578
+ "description": "Compares each customer's measured monthly uptime percentage against their contracted SLA and flags anyone below threshold. Use this if you've ever missed an SLA credit obligation because nobody totaled up the downtime minutes until the customer's lawyer did.",
9579
+ "category": "telecom",
9580
+ "tags": [
9581
+ "telecom",
9582
+ "sla",
9583
+ "uptime",
9584
+ "contracts"
9585
+ ],
9586
+ "schedule": "0 6 1 * *",
9587
+ "timezone": "UTC",
9588
+ "runner": "shell",
9589
+ "modes": [
9590
+ "script"
9591
+ ],
9592
+ "compatible_agents": [
9593
+ "generic",
9594
+ "claude",
9595
+ "codex"
9596
+ ],
9597
+ "path": "jobs/telecom/sla-uptime-breach-tracker.yaml"
9598
+ },
7117
9599
  {
7118
9600
  "id": "smart-contract-upgrade-watch",
7119
9601
  "version": 1,
@@ -7365,6 +9847,32 @@
7365
9847
  ],
7366
9848
  "path": "jobs/childcare/staff-child-ratio-compliance-check.yaml"
7367
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
+ },
7368
9876
  {
7369
9877
  "id": "staging-prod-config-diff",
7370
9878
  "version": 1,
@@ -7515,6 +10023,32 @@
7515
10023
  ],
7516
10024
  "path": "jobs/retail/store-opening-checklist-reminder.yaml"
7517
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"
10038
+ ],
10039
+ "schedule": "0 6 * * 1",
10040
+ "timezone": "UTC",
10041
+ "runner": "shell",
10042
+ "modes": [
10043
+ "script"
10044
+ ],
10045
+ "compatible_agents": [
10046
+ "generic",
10047
+ "claude",
10048
+ "codex"
10049
+ ],
10050
+ "path": "jobs/ecommerce/storefront-ssl-domain-expiry-check.yaml"
10051
+ },
7518
10052
  {
7519
10053
  "id": "stream-schedule-reminder",
7520
10054
  "version": 1,
@@ -7814,21 +10348,147 @@
7814
10348
  "openclaw",
7815
10349
  "generic"
7816
10350
  ],
7817
- "path": "jobs/investing/tax-loss-harvesting-review.yaml"
10351
+ "path": "jobs/investing/tax-loss-harvesting-review.yaml"
10352
+ },
10353
+ {
10354
+ "id": "team-anniversary-reminder",
10355
+ "version": 1,
10356
+ "name": "Team Anniversary Reminder",
10357
+ "description": "Reminds you about teammates' birthdays and work anniversaries coming up this week. Use this if you've ever felt bad realizing a work anniversary passed with zero acknowledgment.",
10358
+ "category": "team",
10359
+ "tags": [
10360
+ "team",
10361
+ "birthdays",
10362
+ "anniversaries"
10363
+ ],
10364
+ "schedule": "0 9 * * 1",
10365
+ "timezone": "America/Los_Angeles",
10366
+ "runner": "shell",
10367
+ "modes": [
10368
+ "script"
10369
+ ],
10370
+ "compatible_agents": [
10371
+ "generic",
10372
+ "claude",
10373
+ "codex"
10374
+ ],
10375
+ "path": "jobs/team/team-anniversary-reminder.yaml"
10376
+ },
10377
+ {
10378
+ "id": "tech-eta-no-show-check",
10379
+ "version": 1,
10380
+ "name": "Tech ETA No-Show Check",
10381
+ "description": "Checks today's dispatch log for jobs where the technician's promised arrival window has passed with no check-in logged. Use this if a customer has ever called asking where the tech is before dispatch even noticed the appointment was running late.",
10382
+ "category": "fieldservice",
10383
+ "tags": [
10384
+ "fieldservice",
10385
+ "dispatch",
10386
+ "eta",
10387
+ "no-show"
10388
+ ],
10389
+ "schedule": "*/30 7-18 * * 1-6",
10390
+ "timezone": "UTC",
10391
+ "runner": "shell",
10392
+ "modes": [
10393
+ "script"
10394
+ ],
10395
+ "compatible_agents": [
10396
+ "generic",
10397
+ "claude",
10398
+ "codex"
10399
+ ],
10400
+ "path": "jobs/fieldservice/tech-eta-no-show-check.yaml"
10401
+ },
10402
+ {
10403
+ "id": "tech-license-renewal-check",
10404
+ "version": 1,
10405
+ "name": "Tech License & Certification Renewal Check",
10406
+ "description": "Checks technician licenses and certifications (EPA 608, journeyman electrician, plumbing license) against their expiration date and flags any expiring soon. Use this if a tech has ever been pulled off a job, or a permit rejected, because their certification quietly lapsed without anyone tracking the renewal date.",
10407
+ "category": "fieldservice",
10408
+ "tags": [
10409
+ "fieldservice",
10410
+ "license",
10411
+ "certification",
10412
+ "compliance"
10413
+ ],
10414
+ "schedule": "0 8 1 * *",
10415
+ "timezone": "UTC",
10416
+ "runner": "shell",
10417
+ "modes": [
10418
+ "script"
10419
+ ],
10420
+ "compatible_agents": [
10421
+ "generic",
10422
+ "claude",
10423
+ "codex"
10424
+ ],
10425
+ "path": "jobs/fieldservice/tech-license-renewal-check.yaml"
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"
7818
10477
  },
7819
10478
  {
7820
- "id": "team-anniversary-reminder",
10479
+ "id": "tenant-renters-insurance-compliance-check",
7821
10480
  "version": 1,
7822
- "name": "Team Anniversary Reminder",
7823
- "description": "Reminds you about teammates' birthdays and work anniversaries coming up this week. Use this if you've ever felt bad realizing a work anniversary passed with zero acknowledgment.",
7824
- "category": "team",
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",
7825
10484
  "tags": [
7826
- "team",
7827
- "birthdays",
7828
- "anniversaries"
10485
+ "realestate",
10486
+ "renters-insurance",
10487
+ "compliance",
10488
+ "tenant"
7829
10489
  ],
7830
- "schedule": "0 9 * * 1",
7831
- "timezone": "America/Los_Angeles",
10490
+ "schedule": "0 8 * * 1",
10491
+ "timezone": "UTC",
7832
10492
  "runner": "shell",
7833
10493
  "modes": [
7834
10494
  "script"
@@ -7838,7 +10498,7 @@
7838
10498
  "claude",
7839
10499
  "codex"
7840
10500
  ],
7841
- "path": "jobs/team/team-anniversary-reminder.yaml"
10501
+ "path": "jobs/realestate/tenant-renters-insurance-compliance-check.yaml"
7842
10502
  },
7843
10503
  {
7844
10504
  "id": "terraform-drift-check",
@@ -7864,6 +10524,31 @@
7864
10524
  ],
7865
10525
  "path": "jobs/devops/terraform-drift-check.yaml"
7866
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
+ },
7867
10552
  {
7868
10553
  "id": "ticket-backlog-aging-check",
7869
10554
  "version": 1,
@@ -7915,6 +10600,31 @@
7915
10600
  ],
7916
10601
  "path": "jobs/support/ticket-reopened-rate-watch.yaml"
7917
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
+ },
7918
10628
  {
7919
10629
  "id": "timezone-meeting-conflict-check",
7920
10630
  "version": 1,
@@ -8017,6 +10727,33 @@
8017
10727
  ],
8018
10728
  "path": "jobs/gaming/tournament-registration-deadline-check.yaml"
8019
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
+ },
8020
10757
  {
8021
10758
  "id": "trademark-renewal-reminder",
8022
10759
  "version": 1,
@@ -8192,6 +10929,56 @@
8192
10929
  ],
8193
10930
  "path": "jobs/education/tuition-payment-plan-delinquency-check.yaml"
8194
10931
  },
10932
+ {
10933
+ "id": "unpaid-invoice-aging-check",
10934
+ "version": 1,
10935
+ "name": "Unpaid Invoice Aging Check",
10936
+ "description": "Checks invoices issued after completed jobs against their due date and flags any going unpaid past your collection threshold. Use this if cash has ever gotten tight because completed jobs sat uncollected for weeks with nobody following up on payment.",
10937
+ "category": "fieldservice",
10938
+ "tags": [
10939
+ "fieldservice",
10940
+ "invoicing",
10941
+ "collections",
10942
+ "aging"
10943
+ ],
10944
+ "schedule": "0 9 * * 1-5",
10945
+ "timezone": "UTC",
10946
+ "runner": "shell",
10947
+ "modes": [
10948
+ "script"
10949
+ ],
10950
+ "compatible_agents": [
10951
+ "generic",
10952
+ "claude",
10953
+ "codex"
10954
+ ],
10955
+ "path": "jobs/fieldservice/unpaid-invoice-aging-check.yaml"
10956
+ },
10957
+ {
10958
+ "id": "unresolved-callback-tracker",
10959
+ "version": 1,
10960
+ "name": "Unresolved Callback Tracker",
10961
+ "description": "Flags customer callbacks (a return visit for the same issue within the warranty window) that are still open past a set number of days. Use this if a rework job has ever slipped through the cracks and the customer had to call a second time to get it actually fixed.",
10962
+ "category": "fieldservice",
10963
+ "tags": [
10964
+ "fieldservice",
10965
+ "callback",
10966
+ "rework",
10967
+ "quality"
10968
+ ],
10969
+ "schedule": "0 9 * * 1-5",
10970
+ "timezone": "UTC",
10971
+ "runner": "shell",
10972
+ "modes": [
10973
+ "script"
10974
+ ],
10975
+ "compatible_agents": [
10976
+ "generic",
10977
+ "claude",
10978
+ "codex"
10979
+ ],
10980
+ "path": "jobs/fieldservice/unresolved-callback-tracker.yaml"
10981
+ },
8195
10982
  {
8196
10983
  "id": "uptime-ping-check",
8197
10984
  "version": 1,
@@ -8241,6 +11028,31 @@
8241
11028
  ],
8242
11029
  "path": "jobs/home/utility-bill-anomaly-check.yaml"
8243
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
+ },
8244
11056
  {
8245
11057
  "id": "vehicle-idle-time-check",
8246
11058
  "version": 1,
@@ -8364,6 +11176,56 @@
8364
11176
  ],
8365
11177
  "path": "jobs/fleet/vehicle-registration-expiry-check.yaml"
8366
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
+ },
8367
11229
  {
8368
11230
  "id": "vendor-payment-deadline-reminder",
8369
11231
  "version": 1,
@@ -8388,6 +11250,35 @@
8388
11250
  ],
8389
11251
  "path": "jobs/events/vendor-payment-deadline-reminder.yaml"
8390
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
+ },
8391
11282
  {
8392
11283
  "id": "visa-expiry-check",
8393
11284
  "version": 1,
@@ -8535,6 +11426,31 @@
8535
11426
  ],
8536
11427
  "path": "jobs/automotive/warranty-claim-deadline-check.yaml"
8537
11428
  },
11429
+ {
11430
+ "id": "warranty-claim-expiry-check",
11431
+ "version": 1,
11432
+ "name": "Warranty Claim Expiry Check",
11433
+ "description": "Checks open equipment warranty claims (HVAC units, water heaters, appliances) against the manufacturer's filing deadline and flags any about to lapse unfiled. Use this if a claim has ever been denied because it was submitted a day after the manufacturer's window closed.",
11434
+ "category": "fieldservice",
11435
+ "tags": [
11436
+ "fieldservice",
11437
+ "warranty",
11438
+ "claims",
11439
+ "deadline"
11440
+ ],
11441
+ "schedule": "0 8 * * 1-5",
11442
+ "timezone": "UTC",
11443
+ "runner": "shell",
11444
+ "modes": [
11445
+ "script"
11446
+ ],
11447
+ "compatible_agents": [
11448
+ "generic",
11449
+ "claude",
11450
+ "codex"
11451
+ ],
11452
+ "path": "jobs/fieldservice/warranty-claim-expiry-check.yaml"
11453
+ },
8538
11454
  {
8539
11455
  "id": "warranty-expiry-reminder",
8540
11456
  "version": 1,
@@ -8689,6 +11605,61 @@
8689
11605
  ],
8690
11606
  "path": "jobs/growth/welcome-email-drip-check.yaml"
8691
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
+ },
8692
11663
  {
8693
11664
  "id": "youtube-clip-repurposing",
8694
11665
  "version": 1,