@wonsukchoi/crondex 0.18.0 → 0.20.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 (79) hide show
  1. package/README.md +41 -40
  2. package/catalog.json +1955 -58
  3. package/jobs/agriculture/field-soil-test-due-reminder.yaml +35 -0
  4. package/jobs/agriculture/grain-storage-temperature-check.yaml +34 -0
  5. package/jobs/automotive/fleet-inspection-expiry-check.yaml +35 -0
  6. package/jobs/automotive/warranty-claim-deadline-check.yaml +35 -0
  7. package/jobs/childcare/allergy-action-plan-expiry-check.yaml +34 -0
  8. package/jobs/childcare/classroom-supply-low-stock-check.yaml +28 -0
  9. package/jobs/construction/crew-safety-cert-expiry-check.yaml +35 -0
  10. package/jobs/construction/material-delivery-delay-check.yaml +32 -0
  11. package/jobs/creator/affiliate-link-expiry-check.yaml +35 -0
  12. package/jobs/creator/brand-deal-payment-followup-check.yaml +32 -0
  13. package/jobs/crypto/nft-floor-price-watch.yaml +37 -0
  14. package/jobs/crypto/stablecoin-peg-deviation-watch.yaml +33 -0
  15. package/jobs/ecommerce/coupon-code-expiry-check.yaml +36 -0
  16. package/jobs/ecommerce/shipping-delay-check.yaml +31 -0
  17. package/jobs/education/overdue-library-materials-check.yaml +34 -0
  18. package/jobs/education/tuition-payment-plan-delinquency-check.yaml +35 -0
  19. package/jobs/events/post-event-survey-response-rate-watch.yaml +39 -0
  20. package/jobs/events/speaker-confirmation-deadline-check.yaml +35 -0
  21. package/jobs/fitness/class-waitlist-overflow-check.yaml +31 -0
  22. package/jobs/fitness/locker-rental-expiry-check.yaml +35 -0
  23. package/jobs/fleet/fleet-insurance-expiry-check.yaml +34 -0
  24. package/jobs/fleet/vehicle-idle-time-check.yaml +31 -0
  25. package/jobs/gaming/game-server-disk-space-check.yaml +34 -0
  26. package/jobs/gaming/player-contract-renewal-check.yaml +35 -0
  27. package/jobs/government/public-comment-period-closing-check.yaml +35 -0
  28. package/jobs/government/public-records-retention-purge-check.yaml +32 -0
  29. package/jobs/growth/onboarding-completion-stall-check.yaml +38 -0
  30. package/jobs/growth/seat-utilization-upsell-check.yaml +34 -0
  31. package/jobs/healthcare/medical-equipment-calibration-check.yaml +35 -0
  32. package/jobs/healthcare/referral-pending-followup-check.yaml +36 -0
  33. package/jobs/hiring/job-posting-expiry-check.yaml +41 -0
  34. package/jobs/hiring/reference-check-overdue-reminder.yaml +36 -0
  35. package/jobs/home/gutter-cleaning-reminder.yaml +30 -0
  36. package/jobs/home/utility-bill-anomaly-check.yaml +36 -0
  37. package/jobs/hospitality/housekeeping-turnover-time-check.yaml +41 -0
  38. package/jobs/hospitality/lost-and-found-item-aging-check.yaml +36 -0
  39. package/jobs/hr/i9-reverification-deadline-check.yaml +36 -0
  40. package/jobs/hr/probation-period-review-reminder.yaml +36 -0
  41. package/jobs/insurance/beneficiary-designation-review-reminder.yaml +35 -0
  42. package/jobs/insurance/endorsement-request-followup-check.yaml +37 -0
  43. package/jobs/inventory/purchase-order-receiving-delay-check.yaml +33 -0
  44. package/jobs/inventory/supplier-lead-time-drift-check.yaml +34 -0
  45. package/jobs/investing/bond-cd-maturity-reminder.yaml +31 -0
  46. package/jobs/investing/dca-contribution-reminder.yaml +33 -0
  47. package/jobs/learning/practice-streak-check.yaml +33 -0
  48. package/jobs/learning/webinar-attendance-reminder.yaml +32 -0
  49. package/jobs/legal/business-license-renewal-check.yaml +37 -0
  50. package/jobs/legal/patent-maintenance-fee-reminder.yaml +35 -0
  51. package/jobs/logistics/driver-hos-compliance-check.yaml +38 -0
  52. package/jobs/logistics/port-congestion-watch.yaml +34 -0
  53. package/jobs/manufacturing/energy-consumption-spike-check.yaml +37 -0
  54. package/jobs/manufacturing/equipment-calibration-due-check.yaml +32 -0
  55. package/jobs/marketing/broken-campaign-link-check.yaml +31 -0
  56. package/jobs/marketing/newsletter-unsubscribe-spike-check.yaml +37 -0
  57. package/jobs/nonprofit/donation-acknowledgment-lag-check.yaml +32 -0
  58. package/jobs/nonprofit/event-rsvp-shortfall-check.yaml +40 -0
  59. package/jobs/podcast/rss-feed-health-check.yaml +25 -0
  60. package/jobs/podcast/transcript-publish-lag-check.yaml +31 -0
  61. package/jobs/realestate/hoa-fee-collection-check.yaml +35 -0
  62. package/jobs/realestate/insurance-policy-renewal-reminder.yaml +31 -0
  63. package/jobs/restaurant/supplier-price-increase-watch.yaml +36 -0
  64. package/jobs/restaurant/walk-in-cooler-temp-log-check.yaml +31 -0
  65. package/jobs/retail/loyalty-points-expiry-reminder.yaml +31 -0
  66. package/jobs/retail/markdown-aging-inventory-check.yaml +33 -0
  67. package/jobs/sales/proposal-followup-nudge.yaml +31 -0
  68. package/jobs/sales/quote-expiry-reminder.yaml +24 -0
  69. package/jobs/support/knowledge-base-article-staleness-check.yaml +39 -0
  70. package/jobs/support/macro-usage-staleness-check.yaml +33 -0
  71. package/jobs/team/expense-report-deadline-reminder.yaml +28 -0
  72. package/jobs/team/new-hire-onboarding-task-check.yaml +32 -0
  73. package/jobs/travel/flight-layover-buffer-check.yaml +35 -0
  74. package/jobs/travel/hotel-cancellation-deadline-reminder.yaml +32 -0
  75. package/jobs/veterinary/lab-result-turnaround-check.yaml +35 -0
  76. package/jobs/veterinary/medication-inventory-expiry-check.yaml +31 -0
  77. package/jobs/warehousing/pallet-putaway-delay-check.yaml +35 -0
  78. package/jobs/warehousing/returns-processing-backlog-check.yaml +33 -0
  79. package/package.json +1 -1
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": 271,
4
+ "count": 347,
5
5
  "jobs": [
6
6
  {
7
7
  "id": "1on1-prep-reminder",
@@ -104,6 +104,31 @@
104
104
  ],
105
105
  "path": "jobs/marketing/ad-spend-pacing-check.yaml"
106
106
  },
107
+ {
108
+ "id": "affiliate-link-expiry-check",
109
+ "version": 1,
110
+ "name": "Affiliate Link Expiry Check",
111
+ "description": "Checks affiliate links and discount codes in your published content against their expiry date and flags anything expiring soon. Use this if a viewer has ever hit a dead discount code in an old video description because nobody remembered to pull or update it before it lapsed.",
112
+ "category": "creator",
113
+ "tags": [
114
+ "creator",
115
+ "affiliate",
116
+ "links",
117
+ "monetization"
118
+ ],
119
+ "schedule": "0 9 * * 1",
120
+ "timezone": "UTC",
121
+ "runner": "shell",
122
+ "modes": [
123
+ "script"
124
+ ],
125
+ "compatible_agents": [
126
+ "generic",
127
+ "claude",
128
+ "codex"
129
+ ],
130
+ "path": "jobs/creator/affiliate-link-expiry-check.yaml"
131
+ },
107
132
  {
108
133
  "id": "agent-workload-balance-check",
109
134
  "version": 1,
@@ -131,6 +156,31 @@
131
156
  ],
132
157
  "path": "jobs/support/agent-workload-balance-check.yaml"
133
158
  },
159
+ {
160
+ "id": "allergy-action-plan-expiry-check",
161
+ "version": 1,
162
+ "name": "Allergy Action Plan Expiry Check",
163
+ "description": "Checks each child's allergy action plan against its annual renewal date and warns before it lapses. Use this if a plan has ever gone stale without anyone noticing until an incident made it obvious.",
164
+ "category": "childcare",
165
+ "tags": [
166
+ "childcare",
167
+ "allergy",
168
+ "health",
169
+ "compliance"
170
+ ],
171
+ "schedule": "0 8 * * 1",
172
+ "timezone": "UTC",
173
+ "runner": "shell",
174
+ "modes": [
175
+ "script"
176
+ ],
177
+ "compatible_agents": [
178
+ "generic",
179
+ "claude",
180
+ "codex"
181
+ ],
182
+ "path": "jobs/childcare/allergy-action-plan-expiry-check.yaml"
183
+ },
134
184
  {
135
185
  "id": "api-rate-limit-check",
136
186
  "version": 1,
@@ -335,6 +385,31 @@
335
385
  ],
336
386
  "path": "jobs/devops/backup-reminder.yaml"
337
387
  },
388
+ {
389
+ "id": "beneficiary-designation-review-reminder",
390
+ "version": 1,
391
+ "name": "Beneficiary Designation Review Reminder",
392
+ "description": "Reminds you to review beneficiary designations on your insurance policies and retirement accounts once they haven't been checked in a while. Use this if a beneficiary has ever gone unchanged for years through a marriage, divorce, or new child without anyone catching it.",
393
+ "category": "insurance",
394
+ "tags": [
395
+ "insurance",
396
+ "beneficiary",
397
+ "review",
398
+ "reminder"
399
+ ],
400
+ "schedule": "0 9 * * 1",
401
+ "timezone": "UTC",
402
+ "runner": "shell",
403
+ "modes": [
404
+ "script"
405
+ ],
406
+ "compatible_agents": [
407
+ "generic",
408
+ "claude",
409
+ "codex"
410
+ ],
411
+ "path": "jobs/insurance/beneficiary-designation-review-reminder.yaml"
412
+ },
338
413
  {
339
414
  "id": "benefits-enrollment-deadline-reminder",
340
415
  "version": 1,
@@ -438,6 +513,81 @@
438
513
  ],
439
514
  "path": "jobs/veterinary/boarding-checkout-reminder.yaml"
440
515
  },
516
+ {
517
+ "id": "bond-cd-maturity-reminder",
518
+ "version": 1,
519
+ "name": "Bond & CD Maturity Reminder",
520
+ "description": "Warns you before a bond or certificate of deposit reaches its maturity date. Use this if a CD has ever auto-renewed into a worse rate because the maturity date crept up unnoticed.",
521
+ "category": "investing",
522
+ "tags": [
523
+ "investing",
524
+ "bonds",
525
+ "cd",
526
+ "maturity"
527
+ ],
528
+ "schedule": "0 9 1 * *",
529
+ "timezone": "UTC",
530
+ "runner": "shell",
531
+ "modes": [
532
+ "script"
533
+ ],
534
+ "compatible_agents": [
535
+ "generic",
536
+ "claude",
537
+ "codex"
538
+ ],
539
+ "path": "jobs/investing/bond-cd-maturity-reminder.yaml"
540
+ },
541
+ {
542
+ "id": "brand-deal-payment-followup-check",
543
+ "version": 1,
544
+ "name": "Brand Deal Payment Followup Check",
545
+ "description": "Checks sponsor invoices against their agreed payment due date and flags anything overdue and unpaid. Use this if a sponsor has ever gone quiet on an invoice and you only noticed the payment never showed up weeks later.",
546
+ "category": "creator",
547
+ "tags": [
548
+ "creator",
549
+ "sponsorship",
550
+ "invoicing",
551
+ "payment"
552
+ ],
553
+ "schedule": "0 9 * * 1",
554
+ "timezone": "UTC",
555
+ "runner": "shell",
556
+ "modes": [
557
+ "script"
558
+ ],
559
+ "compatible_agents": [
560
+ "generic",
561
+ "claude",
562
+ "codex"
563
+ ],
564
+ "path": "jobs/creator/brand-deal-payment-followup-check.yaml"
565
+ },
566
+ {
567
+ "id": "broken-campaign-link-check",
568
+ "version": 1,
569
+ "name": "Broken Campaign Link Check",
570
+ "description": "Requests each active campaign's landing page URL and flags any that return an error instead of loading. Use this if paid traffic has ever kept flowing to a campaign whose landing page was quietly down or redirecting to a 404.",
571
+ "category": "marketing",
572
+ "tags": [
573
+ "marketing",
574
+ "campaigns",
575
+ "links",
576
+ "uptime"
577
+ ],
578
+ "schedule": "0 */2 * * *",
579
+ "timezone": "UTC",
580
+ "runner": "shell",
581
+ "modes": [
582
+ "script"
583
+ ],
584
+ "compatible_agents": [
585
+ "generic",
586
+ "claude",
587
+ "codex"
588
+ ],
589
+ "path": "jobs/marketing/broken-campaign-link-check.yaml"
590
+ },
441
591
  {
442
592
  "id": "broken-link-check",
443
593
  "version": 1,
@@ -511,6 +661,31 @@
511
661
  ],
512
662
  "path": "jobs/finance/budget-overspend-check.yaml"
513
663
  },
664
+ {
665
+ "id": "business-license-renewal-check",
666
+ "version": 1,
667
+ "name": "Business License Renewal Check",
668
+ "description": "Warns you before a specific business license or permit (liquor, contractor, professional, health department, etc.) reaches its renewal deadline. Use this if a license has ever lapsed because its renewal date lived only in someone's memory instead of a calendar.",
669
+ "category": "legal",
670
+ "tags": [
671
+ "legal",
672
+ "license",
673
+ "permit",
674
+ "renewal"
675
+ ],
676
+ "schedule": "0 9 1 * *",
677
+ "timezone": "UTC",
678
+ "runner": "shell",
679
+ "modes": [
680
+ "script"
681
+ ],
682
+ "compatible_agents": [
683
+ "generic",
684
+ "claude",
685
+ "codex"
686
+ ],
687
+ "path": "jobs/legal/business-license-renewal-check.yaml"
688
+ },
514
689
  {
515
690
  "id": "calendar-double-booking-check",
516
691
  "version": 1,
@@ -939,6 +1114,56 @@
939
1114
  ],
940
1115
  "path": "jobs/fitness/class-utilization-check.yaml"
941
1116
  },
1117
+ {
1118
+ "id": "class-waitlist-overflow-check",
1119
+ "version": 1,
1120
+ "name": "Class Waitlist Overflow Check",
1121
+ "description": "Checks upcoming classes for waitlists that have grown past a threshold, a sign there's enough demand to justify adding another session. Use this if a popular class has ever kept a long waitlist for months without anyone noticing there was room to add a second time slot.",
1122
+ "category": "fitness",
1123
+ "tags": [
1124
+ "fitness",
1125
+ "classes",
1126
+ "waitlist",
1127
+ "demand"
1128
+ ],
1129
+ "schedule": "0 8 * * *",
1130
+ "timezone": "UTC",
1131
+ "runner": "shell",
1132
+ "modes": [
1133
+ "script"
1134
+ ],
1135
+ "compatible_agents": [
1136
+ "generic",
1137
+ "claude",
1138
+ "codex"
1139
+ ],
1140
+ "path": "jobs/fitness/class-waitlist-overflow-check.yaml"
1141
+ },
1142
+ {
1143
+ "id": "classroom-supply-low-stock-check",
1144
+ "version": 1,
1145
+ "name": "Classroom Supply Low Stock Check",
1146
+ "description": "Checks consumable classroom supplies like diapers, wipes, and formula against a reorder threshold per item and flags anything running low. Use this if a classroom has ever run out of diapers or wipes mid-day because nobody noticed the shelf was nearly empty.",
1147
+ "category": "childcare",
1148
+ "tags": [
1149
+ "childcare",
1150
+ "supplies",
1151
+ "inventory",
1152
+ "classroom"
1153
+ ],
1154
+ "schedule": "0 7 * * 1,4",
1155
+ "timezone": "UTC",
1156
+ "runner": "shell",
1157
+ "modes": [
1158
+ "script"
1159
+ ],
1160
+ "compatible_agents": [
1161
+ "generic",
1162
+ "claude",
1163
+ "codex"
1164
+ ],
1165
+ "path": "jobs/childcare/classroom-supply-low-stock-check.yaml"
1166
+ },
942
1167
  {
943
1168
  "id": "climate-control-compliance-check",
944
1169
  "version": 1,
@@ -1199,6 +1424,31 @@
1199
1424
  ],
1200
1425
  "path": "jobs/devops/cost-alert.yaml"
1201
1426
  },
1427
+ {
1428
+ "id": "coupon-code-expiry-check",
1429
+ "version": 1,
1430
+ "name": "Coupon Code Expiry Check",
1431
+ "description": "Checks active promo and coupon codes against their expiry date and flags any expiring soon so you can decide to extend, replace, or let them lapse on purpose. Use this if a customer has ever complained a code from your last campaign stopped working and nobody on the team knew it had quietly expired.",
1432
+ "category": "ecommerce",
1433
+ "tags": [
1434
+ "ecommerce",
1435
+ "coupons",
1436
+ "promotions",
1437
+ "marketing"
1438
+ ],
1439
+ "schedule": "0 8 * * *",
1440
+ "timezone": "UTC",
1441
+ "runner": "shell",
1442
+ "modes": [
1443
+ "script"
1444
+ ],
1445
+ "compatible_agents": [
1446
+ "generic",
1447
+ "claude",
1448
+ "codex"
1449
+ ],
1450
+ "path": "jobs/ecommerce/coupon-code-expiry-check.yaml"
1451
+ },
1202
1452
  {
1203
1453
  "id": "course-progress-checkin",
1204
1454
  "version": 1,
@@ -1275,6 +1525,31 @@
1275
1525
  ],
1276
1526
  "path": "jobs/insurance/coverage-gap-audit.yaml"
1277
1527
  },
1528
+ {
1529
+ "id": "crew-safety-cert-expiry-check",
1530
+ "version": 1,
1531
+ "name": "Crew Safety Certification Expiry Check",
1532
+ "description": "Checks each crew member's safety certifications, like OSHA 10/30 or forklift operator cards, against their expiry date and flags anyone lapsing soon. Use this if a worker has ever been pulled off a site because their safety card expired and nobody caught it beforehand.",
1533
+ "category": "construction",
1534
+ "tags": [
1535
+ "construction",
1536
+ "safety",
1537
+ "certification",
1538
+ "crew"
1539
+ ],
1540
+ "schedule": "0 7 * * 1",
1541
+ "timezone": "UTC",
1542
+ "runner": "shell",
1543
+ "modes": [
1544
+ "script"
1545
+ ],
1546
+ "compatible_agents": [
1547
+ "generic",
1548
+ "claude",
1549
+ "codex"
1550
+ ],
1551
+ "path": "jobs/construction/crew-safety-cert-expiry-check.yaml"
1552
+ },
1278
1553
  {
1279
1554
  "id": "crop-price-market-watch",
1280
1555
  "version": 1,
@@ -1530,6 +1805,31 @@
1530
1805
  ],
1531
1806
  "path": "jobs/devops/db-backup-verify.yaml"
1532
1807
  },
1808
+ {
1809
+ "id": "dca-contribution-reminder",
1810
+ "version": 1,
1811
+ "name": "DCA Contribution Reminder",
1812
+ "description": "Checks your dollar-cost-averaging log and warns if it's been longer than your planned interval since the last logged contribution. Use this if you've ever meant to invest a fixed amount on a schedule and let a month slip by without actually placing the order.",
1813
+ "category": "investing",
1814
+ "tags": [
1815
+ "investing",
1816
+ "dca",
1817
+ "dollar-cost-averaging",
1818
+ "contributions"
1819
+ ],
1820
+ "schedule": "0 9 * * 1",
1821
+ "timezone": "UTC",
1822
+ "runner": "shell",
1823
+ "modes": [
1824
+ "script"
1825
+ ],
1826
+ "compatible_agents": [
1827
+ "generic",
1828
+ "claude",
1829
+ "codex"
1830
+ ],
1831
+ "path": "jobs/investing/dca-contribution-reminder.yaml"
1832
+ },
1533
1833
  {
1534
1834
  "id": "defi-liquidation-risk-watch",
1535
1835
  "version": 1,
@@ -1756,6 +2056,31 @@
1756
2056
  ],
1757
2057
  "path": "jobs/devops/docker-image-prune.yaml"
1758
2058
  },
2059
+ {
2060
+ "id": "donation-acknowledgment-lag-check",
2061
+ "version": 1,
2062
+ "name": "Donation Acknowledgment Lag Check",
2063
+ "description": "Flags donations that haven't been thanked yet and are approaching or past your acknowledgment window. Use this if a donor has ever given and waited weeks for a thank-you, or if a gift needing a timely tax-receipt letter almost slipped past the deadline.",
2064
+ "category": "nonprofit",
2065
+ "tags": [
2066
+ "nonprofit",
2067
+ "donors",
2068
+ "acknowledgments",
2069
+ "stewardship"
2070
+ ],
2071
+ "schedule": "0 9 * * *",
2072
+ "timezone": "UTC",
2073
+ "runner": "shell",
2074
+ "modes": [
2075
+ "script"
2076
+ ],
2077
+ "compatible_agents": [
2078
+ "generic",
2079
+ "claude",
2080
+ "codex"
2081
+ ],
2082
+ "path": "jobs/nonprofit/donation-acknowledgment-lag-check.yaml"
2083
+ },
1759
2084
  {
1760
2085
  "id": "downloads-folder-auto-organize",
1761
2086
  "version": 1,
@@ -1782,15 +2107,41 @@
1782
2107
  "path": "jobs/personal/downloads-folder-auto-organize.yaml"
1783
2108
  },
1784
2109
  {
1785
- "id": "driver-license-cdl-expiry-check",
2110
+ "id": "driver-hos-compliance-check",
1786
2111
  "version": 1,
1787
- "name": "Driver License/CDL Expiry Check",
1788
- "description": "Checks tracked drivers' license or CDL expiry dates and warns before any lapse. Use this if a driver has ever kept driving a fleet vehicle on an expired license because nobody was tracking renewal dates separately from vehicle registration.",
1789
- "category": "fleet",
2112
+ "name": "Driver Hours-of-Service Compliance Check",
2113
+ "description": "Checks logged driving hours against the daily hours-of-service limit and flags any driver close to or over it. Use this if a driver has ever run over their legal on-duty hours because nobody was tallying it in real time.",
2114
+ "category": "logistics",
1790
2115
  "tags": [
1791
- "fleet",
2116
+ "logistics",
1792
2117
  "drivers",
1793
- "license",
2118
+ "hos",
2119
+ "compliance",
2120
+ "safety"
2121
+ ],
2122
+ "schedule": "0 */4 * * *",
2123
+ "timezone": "UTC",
2124
+ "runner": "shell",
2125
+ "modes": [
2126
+ "script"
2127
+ ],
2128
+ "compatible_agents": [
2129
+ "generic",
2130
+ "claude",
2131
+ "codex"
2132
+ ],
2133
+ "path": "jobs/logistics/driver-hos-compliance-check.yaml"
2134
+ },
2135
+ {
2136
+ "id": "driver-license-cdl-expiry-check",
2137
+ "version": 1,
2138
+ "name": "Driver License/CDL Expiry Check",
2139
+ "description": "Checks tracked drivers' license or CDL expiry dates and warns before any lapse. Use this if a driver has ever kept driving a fleet vehicle on an expired license because nobody was tracking renewal dates separately from vehicle registration.",
2140
+ "category": "fleet",
2141
+ "tags": [
2142
+ "fleet",
2143
+ "drivers",
2144
+ "license",
1794
2145
  "compliance"
1795
2146
  ],
1796
2147
  "schedule": "0 8 * * 1",
@@ -1909,6 +2260,56 @@
1909
2260
  ],
1910
2261
  "path": "jobs/personal/end-of-day-wrap-message.yaml"
1911
2262
  },
2263
+ {
2264
+ "id": "endorsement-request-followup-check",
2265
+ "version": 1,
2266
+ "name": "Policy Endorsement Request Follow-up Check",
2267
+ "description": "Checks requested policy endorsements or amendments (e.g. adding a driver, changing coverage limits) that haven't been confirmed processed within a set window and flags them for follow-up. Use this if you've ever submitted a change request to a carrier and only found out months later it was never actually applied.",
2268
+ "category": "insurance",
2269
+ "tags": [
2270
+ "insurance",
2271
+ "endorsement",
2272
+ "policy-changes",
2273
+ "follow-up"
2274
+ ],
2275
+ "schedule": "0 9 * * 1-5",
2276
+ "timezone": "UTC",
2277
+ "runner": "shell",
2278
+ "modes": [
2279
+ "script"
2280
+ ],
2281
+ "compatible_agents": [
2282
+ "generic",
2283
+ "claude",
2284
+ "codex"
2285
+ ],
2286
+ "path": "jobs/insurance/endorsement-request-followup-check.yaml"
2287
+ },
2288
+ {
2289
+ "id": "energy-consumption-spike-check",
2290
+ "version": 1,
2291
+ "name": "Energy Consumption Spike Check",
2292
+ "description": "Compares today's logged energy usage against a rolling baseline and flags an unusual spike. Use this if a jump in electricity use has ever gone unnoticed until the utility bill arrived, when it could have pointed to a failing motor, a stuck compressor, or equipment left running.",
2293
+ "category": "manufacturing",
2294
+ "tags": [
2295
+ "manufacturing",
2296
+ "energy",
2297
+ "utilities",
2298
+ "anomaly"
2299
+ ],
2300
+ "schedule": "0 7 * * *",
2301
+ "timezone": "UTC",
2302
+ "runner": "shell",
2303
+ "modes": [
2304
+ "script"
2305
+ ],
2306
+ "compatible_agents": [
2307
+ "generic",
2308
+ "claude",
2309
+ "codex"
2310
+ ],
2311
+ "path": "jobs/manufacturing/energy-consumption-spike-check.yaml"
2312
+ },
1912
2313
  {
1913
2314
  "id": "engagement-drop-watch",
1914
2315
  "version": 1,
@@ -2008,6 +2409,31 @@
2008
2409
  ],
2009
2410
  "path": "jobs/podcast/episode-publish-gap-check.yaml"
2010
2411
  },
2412
+ {
2413
+ "id": "equipment-calibration-due-check",
2414
+ "version": 1,
2415
+ "name": "Equipment Calibration Due Check",
2416
+ "description": "Warns you before a piece of measurement or test equipment is due for calibration. Use this if an out-of-calibration gauge has ever kept producing \"passing\" measurements nobody could actually trust.",
2417
+ "category": "manufacturing",
2418
+ "tags": [
2419
+ "manufacturing",
2420
+ "calibration",
2421
+ "quality",
2422
+ "compliance"
2423
+ ],
2424
+ "schedule": "0 9 1 * *",
2425
+ "timezone": "UTC",
2426
+ "runner": "shell",
2427
+ "modes": [
2428
+ "script"
2429
+ ],
2430
+ "compatible_agents": [
2431
+ "generic",
2432
+ "claude",
2433
+ "codex"
2434
+ ],
2435
+ "path": "jobs/manufacturing/equipment-calibration-due-check.yaml"
2436
+ },
2011
2437
  {
2012
2438
  "id": "equipment-maintenance-due-reminder",
2013
2439
  "version": 1,
@@ -2134,6 +2560,31 @@
2134
2560
  ],
2135
2561
  "path": "jobs/events/event-budget-overrun-check.yaml"
2136
2562
  },
2563
+ {
2564
+ "id": "event-rsvp-shortfall-check",
2565
+ "version": 1,
2566
+ "name": "Fundraising Event RSVP Shortfall Check",
2567
+ "description": "Checks confirmed RSVPs for an upcoming fundraising event against your goal and flags it if you're falling short as the date approaches. Use this if an event has ever snuck up with half-empty RSVPs and no time left to push more invitations.",
2568
+ "category": "nonprofit",
2569
+ "tags": [
2570
+ "nonprofit",
2571
+ "events",
2572
+ "fundraising",
2573
+ "rsvp"
2574
+ ],
2575
+ "schedule": "0 9 * * *",
2576
+ "timezone": "UTC",
2577
+ "runner": "shell",
2578
+ "modes": [
2579
+ "script"
2580
+ ],
2581
+ "compatible_agents": [
2582
+ "generic",
2583
+ "claude",
2584
+ "codex"
2585
+ ],
2586
+ "path": "jobs/nonprofit/event-rsvp-shortfall-check.yaml"
2587
+ },
2137
2588
  {
2138
2589
  "id": "event-staffing-shortfall-check",
2139
2590
  "version": 1,
@@ -2186,6 +2637,31 @@
2186
2637
  ],
2187
2638
  "path": "jobs/hr/exit-interview-completion-check.yaml"
2188
2639
  },
2640
+ {
2641
+ "id": "expense-report-deadline-reminder",
2642
+ "version": 1,
2643
+ "name": "Expense Report Deadline Reminder",
2644
+ "description": "Warns you before the monthly expense report submission deadline passes. Use this if you've ever missed reimbursement because the expense window closed before you got around to submitting receipts.",
2645
+ "category": "team",
2646
+ "tags": [
2647
+ "team",
2648
+ "expenses",
2649
+ "finance",
2650
+ "deadline"
2651
+ ],
2652
+ "schedule": "0 9 * * *",
2653
+ "timezone": "America/Los_Angeles",
2654
+ "runner": "shell",
2655
+ "modes": [
2656
+ "script"
2657
+ ],
2658
+ "compatible_agents": [
2659
+ "generic",
2660
+ "claude",
2661
+ "codex"
2662
+ ],
2663
+ "path": "jobs/team/expense-report-deadline-reminder.yaml"
2664
+ },
2189
2665
  {
2190
2666
  "id": "expiring-api-key-rotation",
2191
2667
  "version": 1,
@@ -2309,6 +2785,31 @@
2309
2785
  ],
2310
2786
  "path": "jobs/devops/feature-flag-staleness-audit.yaml"
2311
2787
  },
2788
+ {
2789
+ "id": "field-soil-test-due-reminder",
2790
+ "version": 1,
2791
+ "name": "Field Soil Test Due Reminder",
2792
+ "description": "Checks each field's last soil test date against a retest interval and flags any field that's overdue. Use this if you've ever applied fertilizer off a soil test that was two years stale because nobody was tracking when each field was last sampled.",
2793
+ "category": "agriculture",
2794
+ "tags": [
2795
+ "agriculture",
2796
+ "soil",
2797
+ "testing",
2798
+ "fields"
2799
+ ],
2800
+ "schedule": "0 7 1 * *",
2801
+ "timezone": "America/Chicago",
2802
+ "runner": "shell",
2803
+ "modes": [
2804
+ "script"
2805
+ ],
2806
+ "compatible_agents": [
2807
+ "generic",
2808
+ "claude",
2809
+ "codex"
2810
+ ],
2811
+ "path": "jobs/agriculture/field-soil-test-due-reminder.yaml"
2812
+ },
2312
2813
  {
2313
2814
  "id": "field-trip-permission-slip-check",
2314
2815
  "version": 1,
@@ -2358,6 +2859,55 @@
2358
2859
  ],
2359
2860
  "path": "jobs/security/firewall-rule-diff.yaml"
2360
2861
  },
2862
+ {
2863
+ "id": "fleet-inspection-expiry-check",
2864
+ "version": 1,
2865
+ "name": "Fleet Inspection Expiry Check",
2866
+ "description": "Checks each fleet vehicle's state inspection or emissions sticker expiry date and flags anything expiring soon. Use this if a shop or fleet vehicle has ever gotten pulled over — or failed a customer handoff — because its inspection quietly lapsed.",
2867
+ "category": "automotive",
2868
+ "tags": [
2869
+ "automotive",
2870
+ "fleet",
2871
+ "inspection",
2872
+ "compliance"
2873
+ ],
2874
+ "schedule": "0 8 * * 1",
2875
+ "timezone": "UTC",
2876
+ "runner": "shell",
2877
+ "modes": [
2878
+ "script"
2879
+ ],
2880
+ "compatible_agents": [
2881
+ "generic",
2882
+ "claude",
2883
+ "codex"
2884
+ ],
2885
+ "path": "jobs/automotive/fleet-inspection-expiry-check.yaml"
2886
+ },
2887
+ {
2888
+ "id": "fleet-insurance-expiry-check",
2889
+ "version": 1,
2890
+ "name": "Fleet Insurance Policy Expiry Check",
2891
+ "description": "Checks each vehicle's insurance policy against its expiry date and flags coverage that's about to lapse. Use this if a vehicle has ever been driven on an expired policy because renewal paperwork got missed.",
2892
+ "category": "fleet",
2893
+ "tags": [
2894
+ "fleet",
2895
+ "insurance",
2896
+ "compliance"
2897
+ ],
2898
+ "schedule": "0 7 * * *",
2899
+ "timezone": "UTC",
2900
+ "runner": "shell",
2901
+ "modes": [
2902
+ "script"
2903
+ ],
2904
+ "compatible_agents": [
2905
+ "generic",
2906
+ "claude",
2907
+ "codex"
2908
+ ],
2909
+ "path": "jobs/fleet/fleet-insurance-expiry-check.yaml"
2910
+ },
2361
2911
  {
2362
2912
  "id": "flight-checkin-reminder",
2363
2913
  "version": 1,
@@ -2382,6 +2932,31 @@
2382
2932
  ],
2383
2933
  "path": "jobs/travel/flight-checkin-reminder.yaml"
2384
2934
  },
2935
+ {
2936
+ "id": "flight-layover-buffer-check",
2937
+ "version": 1,
2938
+ "name": "Flight Layover Buffer Check",
2939
+ "description": "Checks your upcoming itinerary for connections shorter than a safe minimum layover time. Use this if you've ever booked a multi-leg trip and only noticed a 35-minute connection the night before flying.",
2940
+ "category": "travel",
2941
+ "tags": [
2942
+ "travel",
2943
+ "flights",
2944
+ "layover",
2945
+ "itinerary"
2946
+ ],
2947
+ "schedule": "0 9 * * *",
2948
+ "timezone": "UTC",
2949
+ "runner": "shell",
2950
+ "modes": [
2951
+ "script"
2952
+ ],
2953
+ "compatible_agents": [
2954
+ "generic",
2955
+ "claude",
2956
+ "codex"
2957
+ ],
2958
+ "path": "jobs/travel/flight-layover-buffer-check.yaml"
2959
+ },
2385
2960
  {
2386
2961
  "id": "focus-block-reminder",
2387
2962
  "version": 1,
@@ -2661,6 +3236,31 @@
2661
3236
  ],
2662
3237
  "path": "jobs/gaming/game-patch-notes-watch.yaml"
2663
3238
  },
3239
+ {
3240
+ "id": "game-server-disk-space-check",
3241
+ "version": 1,
3242
+ "name": "Game Server Disk Space Check",
3243
+ "description": "Checks free disk space on your self-hosted game server's world/save data volume and warns before it fills up. Use this if a server has ever stopped saving the world (or crashed outright) because the disk quietly filled up overnight.",
3244
+ "category": "gaming",
3245
+ "tags": [
3246
+ "gaming",
3247
+ "server",
3248
+ "disk-space",
3249
+ "hosting"
3250
+ ],
3251
+ "schedule": "*/30 * * * *",
3252
+ "timezone": "UTC",
3253
+ "runner": "shell",
3254
+ "modes": [
3255
+ "script"
3256
+ ],
3257
+ "compatible_agents": [
3258
+ "generic",
3259
+ "claude",
3260
+ "codex"
3261
+ ],
3262
+ "path": "jobs/gaming/game-server-disk-space-check.yaml"
3263
+ },
2664
3264
  {
2665
3265
  "id": "game-server-uptime-check",
2666
3266
  "version": 1,
@@ -2763,6 +3363,31 @@
2763
3363
  ],
2764
3364
  "path": "jobs/devops/github-issue-triage.yaml"
2765
3365
  },
3366
+ {
3367
+ "id": "grain-storage-temperature-check",
3368
+ "version": 1,
3369
+ "name": "Grain Storage Temperature Check",
3370
+ "description": "Checks logged grain bin temperature and moisture readings against safe storage thresholds and flags any bin trending toward spoilage. Use this if you've ever caught hot spots or mold in stored grain only after the smell gave it away.",
3371
+ "category": "agriculture",
3372
+ "tags": [
3373
+ "agriculture",
3374
+ "grain",
3375
+ "storage",
3376
+ "spoilage"
3377
+ ],
3378
+ "schedule": "0 6 * * *",
3379
+ "timezone": "America/Chicago",
3380
+ "runner": "shell",
3381
+ "modes": [
3382
+ "script"
3383
+ ],
3384
+ "compatible_agents": [
3385
+ "generic",
3386
+ "claude",
3387
+ "codex"
3388
+ ],
3389
+ "path": "jobs/agriculture/grain-storage-temperature-check.yaml"
3390
+ },
2766
3391
  {
2767
3392
  "id": "grant-deadline-reminder",
2768
3393
  "version": 1,
@@ -2891,6 +3516,31 @@
2891
3516
  ],
2892
3517
  "path": "jobs/hospitality/guest-review-response-check.yaml"
2893
3518
  },
3519
+ {
3520
+ "id": "gutter-cleaning-reminder",
3521
+ "version": 1,
3522
+ "name": "Gutter Cleaning Reminder",
3523
+ "description": "Reminds you to clean out your gutters based on how long it's been since the last cleaning. Use this if you've ever noticed water overflowing or plants sprouting in your gutters because it had been way longer than you thought.",
3524
+ "category": "home",
3525
+ "tags": [
3526
+ "home",
3527
+ "maintenance",
3528
+ "gutters",
3529
+ "seasonal"
3530
+ ],
3531
+ "schedule": "0 9 1 * *",
3532
+ "timezone": "America/Los_Angeles",
3533
+ "runner": "shell",
3534
+ "modes": [
3535
+ "script"
3536
+ ],
3537
+ "compatible_agents": [
3538
+ "generic",
3539
+ "claude",
3540
+ "codex"
3541
+ ],
3542
+ "path": "jobs/home/gutter-cleaning-reminder.yaml"
3543
+ },
2894
3544
  {
2895
3545
  "id": "gym-equipment-maintenance-check",
2896
3546
  "version": 1,
@@ -3015,7 +3665,81 @@
3015
3665
  "path": "jobs/restaurant/health-inspection-prep-reminder.yaml"
3016
3666
  },
3017
3667
  {
3018
- "id": "hreflang-audit",
3668
+ "id": "hoa-fee-collection-check",
3669
+ "version": 1,
3670
+ "name": "HOA Fee Collection Check",
3671
+ "description": "Scans an HOA/association dues ledger for owners who are past due and totals what's outstanding. Use this if unpaid association dues have ever piled up silently until the reserve fund came up short.",
3672
+ "category": "realestate",
3673
+ "tags": [
3674
+ "realestate",
3675
+ "hoa",
3676
+ "dues",
3677
+ "collections"
3678
+ ],
3679
+ "schedule": "0 8 5 * *",
3680
+ "timezone": "UTC",
3681
+ "runner": "shell",
3682
+ "modes": [
3683
+ "script"
3684
+ ],
3685
+ "compatible_agents": [
3686
+ "generic",
3687
+ "claude",
3688
+ "codex"
3689
+ ],
3690
+ "path": "jobs/realestate/hoa-fee-collection-check.yaml"
3691
+ },
3692
+ {
3693
+ "id": "hotel-cancellation-deadline-reminder",
3694
+ "version": 1,
3695
+ "name": "Hotel Cancellation Deadline Reminder",
3696
+ "description": "Warns you before a hotel booking's free-cancellation window closes. Use this if you've ever gotten charged for a hotel you meant to cancel because the deadline passed while you were still deciding.",
3697
+ "category": "travel",
3698
+ "tags": [
3699
+ "travel",
3700
+ "hotel",
3701
+ "cancellation",
3702
+ "deadline"
3703
+ ],
3704
+ "schedule": "0 9 * * *",
3705
+ "timezone": "UTC",
3706
+ "runner": "shell",
3707
+ "modes": [
3708
+ "script"
3709
+ ],
3710
+ "compatible_agents": [
3711
+ "generic",
3712
+ "claude",
3713
+ "codex"
3714
+ ],
3715
+ "path": "jobs/travel/hotel-cancellation-deadline-reminder.yaml"
3716
+ },
3717
+ {
3718
+ "id": "housekeeping-turnover-time-check",
3719
+ "version": 1,
3720
+ "name": "Housekeeping Turnover Time Check",
3721
+ "description": "Checks logged checkout and room-ready timestamps and flags any room whose turnover took longer than your target window, or is still missing a ready time. Use this if a room has ever still been mid-clean when the next guest arrived because nobody was tracking turnover times.",
3722
+ "category": "hospitality",
3723
+ "tags": [
3724
+ "hospitality",
3725
+ "housekeeping",
3726
+ "operations"
3727
+ ],
3728
+ "schedule": "0 */2 * * *",
3729
+ "timezone": "UTC",
3730
+ "runner": "shell",
3731
+ "modes": [
3732
+ "script"
3733
+ ],
3734
+ "compatible_agents": [
3735
+ "generic",
3736
+ "claude",
3737
+ "codex"
3738
+ ],
3739
+ "path": "jobs/hospitality/housekeeping-turnover-time-check.yaml"
3740
+ },
3741
+ {
3742
+ "id": "hreflang-audit",
3019
3743
  "version": 1,
3020
3744
  "name": "Hreflang Audit",
3021
3745
  "description": "Checks a page's hreflang tags for missing reciprocal links or obviously wrong language/region codes. Use this if a hreflang mistake has ever quietly sent the wrong country's visitors to the wrong language version.",
@@ -3062,6 +3786,31 @@
3062
3786
  ],
3063
3787
  "path": "jobs/home/hvac-filter-reminder.yaml"
3064
3788
  },
3789
+ {
3790
+ "id": "i9-reverification-deadline-check",
3791
+ "version": 1,
3792
+ "name": "I-9 Reverification Deadline Check",
3793
+ "description": "Checks employees whose work authorization document has an expiration date and warns before I-9 reverification is due. Use this if an I-9 reverification deadline has ever been missed and only caught during an audit.",
3794
+ "category": "hr",
3795
+ "tags": [
3796
+ "hr",
3797
+ "compliance",
3798
+ "i9",
3799
+ "employment-eligibility"
3800
+ ],
3801
+ "schedule": "0 8 * * 1",
3802
+ "timezone": "America/New_York",
3803
+ "runner": "shell",
3804
+ "modes": [
3805
+ "script"
3806
+ ],
3807
+ "compatible_agents": [
3808
+ "generic",
3809
+ "claude",
3810
+ "codex"
3811
+ ],
3812
+ "path": "jobs/hr/i9-reverification-deadline-check.yaml"
3813
+ },
3065
3814
  {
3066
3815
  "id": "iam-key-rotation-reminder",
3067
3816
  "version": 1,
@@ -3215,6 +3964,31 @@
3215
3964
  ],
3216
3965
  "path": "jobs/healthcare/insurance-eligibility-verification-check.yaml"
3217
3966
  },
3967
+ {
3968
+ "id": "insurance-policy-renewal-reminder",
3969
+ "version": 1,
3970
+ "name": "Property Insurance Policy Renewal Reminder",
3971
+ "description": "Flags property insurance policies that are coming up for renewal within a set window. Use this if a policy has ever lapsed because the renewal notice got buried in an inbox and nobody caught it in time.",
3972
+ "category": "realestate",
3973
+ "tags": [
3974
+ "realestate",
3975
+ "insurance",
3976
+ "renewals",
3977
+ "compliance"
3978
+ ],
3979
+ "schedule": "0 8 * * 1",
3980
+ "timezone": "UTC",
3981
+ "runner": "shell",
3982
+ "modes": [
3983
+ "script"
3984
+ ],
3985
+ "compatible_agents": [
3986
+ "generic",
3987
+ "claude",
3988
+ "codex"
3989
+ ],
3990
+ "path": "jobs/realestate/insurance-policy-renewal-reminder.yaml"
3991
+ },
3218
3992
  {
3219
3993
  "id": "interview-feedback-overdue-check",
3220
3994
  "version": 1,
@@ -3371,6 +4145,30 @@
3371
4145
  ],
3372
4146
  "path": "jobs/agriculture/irrigation-schedule-check.yaml"
3373
4147
  },
4148
+ {
4149
+ "id": "job-posting-expiry-check",
4150
+ "version": 1,
4151
+ "name": "Job Posting Expiry Check",
4152
+ "description": "Checks open job postings against their planned expiry or repost date and flags any that have gone stale on a job board. Use this if a posting has ever sat expired for weeks before anyone noticed applications had quietly stopped coming in.",
4153
+ "category": "hiring",
4154
+ "tags": [
4155
+ "hiring",
4156
+ "recruiting",
4157
+ "job-postings"
4158
+ ],
4159
+ "schedule": "0 9 * * 1",
4160
+ "timezone": "UTC",
4161
+ "runner": "shell",
4162
+ "modes": [
4163
+ "script"
4164
+ ],
4165
+ "compatible_agents": [
4166
+ "generic",
4167
+ "claude",
4168
+ "codex"
4169
+ ],
4170
+ "path": "jobs/hiring/job-posting-expiry-check.yaml"
4171
+ },
3374
4172
  {
3375
4173
  "id": "k8s-pod-restart-watch",
3376
4174
  "version": 1,
@@ -3395,6 +4193,31 @@
3395
4193
  ],
3396
4194
  "path": "jobs/devops/k8s-pod-restart-watch.yaml"
3397
4195
  },
4196
+ {
4197
+ "id": "knowledge-base-article-staleness-check",
4198
+ "version": 1,
4199
+ "name": "Knowledge Base Article Staleness Check",
4200
+ "description": "Flags published help center articles that haven't been reviewed or updated in a long time. Use this if a stale article has ever kept giving customers outdated instructions because nobody was tracking when it was last touched.",
4201
+ "category": "support",
4202
+ "tags": [
4203
+ "support",
4204
+ "knowledge-base",
4205
+ "content",
4206
+ "self-service"
4207
+ ],
4208
+ "schedule": "0 9 1 * *",
4209
+ "timezone": "UTC",
4210
+ "runner": "shell",
4211
+ "modes": [
4212
+ "script"
4213
+ ],
4214
+ "compatible_agents": [
4215
+ "generic",
4216
+ "claude",
4217
+ "codex"
4218
+ ],
4219
+ "path": "jobs/support/knowledge-base-article-staleness-check.yaml"
4220
+ },
3398
4221
  {
3399
4222
  "id": "lab-result-followup-check",
3400
4223
  "version": 1,
@@ -3422,6 +4245,31 @@
3422
4245
  ],
3423
4246
  "path": "jobs/healthcare/lab-result-followup-check.yaml"
3424
4247
  },
4248
+ {
4249
+ "id": "lab-result-turnaround-check",
4250
+ "version": 1,
4251
+ "name": "Lab Result Turnaround Check",
4252
+ "description": "Checks which submitted lab orders still have no result logged past their expected turnaround time. Use this if a sample has ever sat at an outside lab for a week with nobody following up because no one was tracking orders against their expected turnaround.",
4253
+ "category": "veterinary",
4254
+ "tags": [
4255
+ "veterinary",
4256
+ "lab-results",
4257
+ "patients",
4258
+ "turnaround"
4259
+ ],
4260
+ "schedule": "0 9 * * 1-5",
4261
+ "timezone": "UTC",
4262
+ "runner": "shell",
4263
+ "modes": [
4264
+ "script"
4265
+ ],
4266
+ "compatible_agents": [
4267
+ "generic",
4268
+ "claude",
4269
+ "codex"
4270
+ ],
4271
+ "path": "jobs/veterinary/lab-result-turnaround-check.yaml"
4272
+ },
3425
4273
  {
3426
4274
  "id": "labor-cost-percentage-watch",
3427
4275
  "version": 1,
@@ -3645,6 +4493,30 @@
3645
4493
  ],
3646
4494
  "path": "jobs/automotive/loaner-vehicle-return-reminder.yaml"
3647
4495
  },
4496
+ {
4497
+ "id": "locker-rental-expiry-check",
4498
+ "version": 1,
4499
+ "name": "Locker Rental Expiry Check",
4500
+ "description": "Checks rented lockers against their expiry date and flags the ones coming due soon. Use this if a member's belongings have ever been cleared out of a locker without warning because the rental quietly lapsed.",
4501
+ "category": "fitness",
4502
+ "tags": [
4503
+ "fitness",
4504
+ "lockers",
4505
+ "membership"
4506
+ ],
4507
+ "schedule": "0 6 * * *",
4508
+ "timezone": "UTC",
4509
+ "runner": "shell",
4510
+ "modes": [
4511
+ "script"
4512
+ ],
4513
+ "compatible_agents": [
4514
+ "generic",
4515
+ "claude",
4516
+ "codex"
4517
+ ],
4518
+ "path": "jobs/fitness/locker-rental-expiry-check.yaml"
4519
+ },
3648
4520
  {
3649
4521
  "id": "log-cleanup",
3650
4522
  "version": 1,
@@ -3692,6 +4564,31 @@
3692
4564
  ],
3693
4565
  "path": "jobs/devops/log-forwarding-health-check.yaml"
3694
4566
  },
4567
+ {
4568
+ "id": "lost-and-found-item-aging-check",
4569
+ "version": 1,
4570
+ "name": "Lost and Found Item Aging Check",
4571
+ "description": "Checks logged lost-and-found items against your retention policy and flags any that are old enough to donate, discard, or ship back to a guest. Use this if a lost-and-found closet has ever turned into a pile nobody knows what to do with because items just sat there indefinitely.",
4572
+ "category": "hospitality",
4573
+ "tags": [
4574
+ "hospitality",
4575
+ "lost-and-found",
4576
+ "guest-services",
4577
+ "compliance"
4578
+ ],
4579
+ "schedule": "0 7 * * 1",
4580
+ "timezone": "UTC",
4581
+ "runner": "shell",
4582
+ "modes": [
4583
+ "script"
4584
+ ],
4585
+ "compatible_agents": [
4586
+ "generic",
4587
+ "claude",
4588
+ "codex"
4589
+ ],
4590
+ "path": "jobs/hospitality/lost-and-found-item-aging-check.yaml"
4591
+ },
3695
4592
  {
3696
4593
  "id": "low-stock-alert",
3697
4594
  "version": 1,
@@ -3742,45 +4639,44 @@
3742
4639
  "path": "jobs/ecommerce/low-stock-reorder-alert.yaml"
3743
4640
  },
3744
4641
  {
3745
- "id": "meal-plan-reminder",
4642
+ "id": "loyalty-points-expiry-reminder",
3746
4643
  "version": 1,
3747
- "name": "Weekly Meal Plan Reminder",
3748
- "description": "Nudges you to plan the week's meals, and can draft a simple 7-day plan plus grocery list for you. Use this if you dread the \"what's for dinner\" question every night and want to decide once a week instead.",
3749
- "category": "personal",
4644
+ "name": "Loyalty Points Expiry Reminder",
4645
+ "description": "Finds customers whose loyalty/reward points are about to expire unused. Use this if points have ever quietly expired on customers who would have redeemed them if someone had just reminded them in time.",
4646
+ "category": "retail",
3750
4647
  "tags": [
3751
- "meals",
3752
- "planning",
3753
- "household"
4648
+ "retail",
4649
+ "loyalty",
4650
+ "customers",
4651
+ "rewards"
3754
4652
  ],
3755
- "schedule": "0 9 * * 0",
3756
- "timezone": "America/Los_Angeles",
3757
- "runner": "hybrid",
4653
+ "schedule": "0 9 * * 1",
4654
+ "timezone": "UTC",
4655
+ "runner": "shell",
3758
4656
  "modes": [
3759
- "script",
3760
- "agent-prompt"
4657
+ "script"
3761
4658
  ],
3762
4659
  "compatible_agents": [
4660
+ "generic",
3763
4661
  "claude",
3764
- "codex",
3765
- "hermes",
3766
- "openclaw",
3767
- "generic"
4662
+ "codex"
3768
4663
  ],
3769
- "path": "jobs/personal/meal-plan-reminder.yaml"
4664
+ "path": "jobs/retail/loyalty-points-expiry-reminder.yaml"
3770
4665
  },
3771
4666
  {
3772
- "id": "medication-refill-reminder",
4667
+ "id": "macro-usage-staleness-check",
3773
4668
  "version": 1,
3774
- "name": "Medication Refill Reminder",
3775
- "description": "Reminds you to refill a medication before you run out, based on how many days of supply you have left. Use this if you've ever run out of a prescription over a weekend when the pharmacy's closed.",
3776
- "category": "personal",
4669
+ "name": "Macro/Canned Response Staleness Check",
4670
+ "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
+ "category": "support",
3777
4672
  "tags": [
3778
- "health",
3779
- "medication",
3780
- "reminder"
4673
+ "support",
4674
+ "macros",
4675
+ "canned-responses",
4676
+ "knowledge-base"
3781
4677
  ],
3782
- "schedule": "0 9 * * *",
3783
- "timezone": "America/Los_Angeles",
4678
+ "schedule": "0 8 1 * *",
4679
+ "timezone": "UTC",
3784
4680
  "runner": "shell",
3785
4681
  "modes": [
3786
4682
  "script"
@@ -3790,33 +4686,184 @@
3790
4686
  "claude",
3791
4687
  "codex"
3792
4688
  ],
3793
- "path": "jobs/personal/medication-refill-reminder.yaml"
4689
+ "path": "jobs/support/macro-usage-staleness-check.yaml"
3794
4690
  },
3795
4691
  {
3796
- "id": "morning-briefing-digest",
4692
+ "id": "markdown-aging-inventory-check",
3797
4693
  "version": 1,
3798
- "name": "Morning Briefing Digest",
3799
- "description": "Pulls together overnight email, today's calendar, and any connected analytics/monitoring dashboards into one short digest waiting for you at the start of the day. Use this if you start your morning tab-hopping across five dashboards before you've even had coffee.",
3800
- "category": "productivity",
4694
+ "name": "Markdown Aging Inventory Check",
4695
+ "description": "Flags SKUs that have sat unsold past a set number of days so they can be marked down before they become dead stock. Use this if slow-moving inventory has ever tied up cash for months because nobody was tracking how long items had actually been sitting on the shelf.",
4696
+ "category": "retail",
3801
4697
  "tags": [
3802
- "briefing",
3803
- "digest",
3804
- "morning",
3805
- "calendar",
3806
- "email"
4698
+ "retail",
4699
+ "inventory",
4700
+ "markdown",
4701
+ "aging"
3807
4702
  ],
3808
- "schedule": "0 7 * * 1-5",
3809
- "timezone": "America/Los_Angeles",
3810
- "runner": "agent-prompt",
4703
+ "schedule": "0 7 * * 1",
4704
+ "timezone": "UTC",
4705
+ "runner": "shell",
3811
4706
  "modes": [
3812
- "agent-prompt"
4707
+ "script"
3813
4708
  ],
3814
4709
  "compatible_agents": [
4710
+ "generic",
3815
4711
  "claude",
3816
- "codex",
3817
- "hermes",
3818
- "openclaw",
3819
- "generic"
4712
+ "codex"
4713
+ ],
4714
+ "path": "jobs/retail/markdown-aging-inventory-check.yaml"
4715
+ },
4716
+ {
4717
+ "id": "material-delivery-delay-check",
4718
+ "version": 1,
4719
+ "name": "Material Delivery Delay Check",
4720
+ "description": "Checks ordered construction materials against their expected delivery date and flags anything overdue from the supplier. Use this if a crew has ever stood idle on site because a material delivery was quietly late and nobody chased it up.",
4721
+ "category": "construction",
4722
+ "tags": [
4723
+ "construction",
4724
+ "materials",
4725
+ "delivery",
4726
+ "supplier"
4727
+ ],
4728
+ "schedule": "0 7 * * 1-5",
4729
+ "timezone": "UTC",
4730
+ "runner": "shell",
4731
+ "modes": [
4732
+ "script"
4733
+ ],
4734
+ "compatible_agents": [
4735
+ "generic",
4736
+ "claude",
4737
+ "codex"
4738
+ ],
4739
+ "path": "jobs/construction/material-delivery-delay-check.yaml"
4740
+ },
4741
+ {
4742
+ "id": "meal-plan-reminder",
4743
+ "version": 1,
4744
+ "name": "Weekly Meal Plan Reminder",
4745
+ "description": "Nudges you to plan the week's meals, and can draft a simple 7-day plan plus grocery list for you. Use this if you dread the \"what's for dinner\" question every night and want to decide once a week instead.",
4746
+ "category": "personal",
4747
+ "tags": [
4748
+ "meals",
4749
+ "planning",
4750
+ "household"
4751
+ ],
4752
+ "schedule": "0 9 * * 0",
4753
+ "timezone": "America/Los_Angeles",
4754
+ "runner": "hybrid",
4755
+ "modes": [
4756
+ "script",
4757
+ "agent-prompt"
4758
+ ],
4759
+ "compatible_agents": [
4760
+ "claude",
4761
+ "codex",
4762
+ "hermes",
4763
+ "openclaw",
4764
+ "generic"
4765
+ ],
4766
+ "path": "jobs/personal/meal-plan-reminder.yaml"
4767
+ },
4768
+ {
4769
+ "id": "medical-equipment-calibration-check",
4770
+ "version": 1,
4771
+ "name": "Medical Equipment Calibration Check",
4772
+ "description": "Checks a tracked list of medical equipment (blood pressure cuffs, glucometers, defibrillators, scales) against calibration due dates and warns before any lapse. Use this if a piece of equipment has ever been found overdue for calibration only when an inspector or auditor flagged it.",
4773
+ "category": "healthcare",
4774
+ "tags": [
4775
+ "compliance",
4776
+ "equipment",
4777
+ "calibration",
4778
+ "healthcare"
4779
+ ],
4780
+ "schedule": "0 8 * * 1",
4781
+ "timezone": "UTC",
4782
+ "runner": "shell",
4783
+ "modes": [
4784
+ "script"
4785
+ ],
4786
+ "compatible_agents": [
4787
+ "generic",
4788
+ "claude",
4789
+ "codex"
4790
+ ],
4791
+ "path": "jobs/healthcare/medical-equipment-calibration-check.yaml"
4792
+ },
4793
+ {
4794
+ "id": "medication-inventory-expiry-check",
4795
+ "version": 1,
4796
+ "name": "Medication Inventory Expiry Check",
4797
+ "description": "Scans the clinic's drug and vaccine inventory log for items expiring soon so they can be used, returned, or discarded before they go bad. Use this if expired medication has ever turned up still on the shelf during an audit.",
4798
+ "category": "veterinary",
4799
+ "tags": [
4800
+ "veterinary",
4801
+ "inventory",
4802
+ "medication",
4803
+ "expiry"
4804
+ ],
4805
+ "schedule": "0 8 * * 1",
4806
+ "timezone": "UTC",
4807
+ "runner": "shell",
4808
+ "modes": [
4809
+ "script"
4810
+ ],
4811
+ "compatible_agents": [
4812
+ "generic",
4813
+ "claude",
4814
+ "codex"
4815
+ ],
4816
+ "path": "jobs/veterinary/medication-inventory-expiry-check.yaml"
4817
+ },
4818
+ {
4819
+ "id": "medication-refill-reminder",
4820
+ "version": 1,
4821
+ "name": "Medication Refill Reminder",
4822
+ "description": "Reminds you to refill a medication before you run out, based on how many days of supply you have left. Use this if you've ever run out of a prescription over a weekend when the pharmacy's closed.",
4823
+ "category": "personal",
4824
+ "tags": [
4825
+ "health",
4826
+ "medication",
4827
+ "reminder"
4828
+ ],
4829
+ "schedule": "0 9 * * *",
4830
+ "timezone": "America/Los_Angeles",
4831
+ "runner": "shell",
4832
+ "modes": [
4833
+ "script"
4834
+ ],
4835
+ "compatible_agents": [
4836
+ "generic",
4837
+ "claude",
4838
+ "codex"
4839
+ ],
4840
+ "path": "jobs/personal/medication-refill-reminder.yaml"
4841
+ },
4842
+ {
4843
+ "id": "morning-briefing-digest",
4844
+ "version": 1,
4845
+ "name": "Morning Briefing Digest",
4846
+ "description": "Pulls together overnight email, today's calendar, and any connected analytics/monitoring dashboards into one short digest waiting for you at the start of the day. Use this if you start your morning tab-hopping across five dashboards before you've even had coffee.",
4847
+ "category": "productivity",
4848
+ "tags": [
4849
+ "briefing",
4850
+ "digest",
4851
+ "morning",
4852
+ "calendar",
4853
+ "email"
4854
+ ],
4855
+ "schedule": "0 7 * * 1-5",
4856
+ "timezone": "America/Los_Angeles",
4857
+ "runner": "agent-prompt",
4858
+ "modes": [
4859
+ "agent-prompt"
4860
+ ],
4861
+ "compatible_agents": [
4862
+ "claude",
4863
+ "codex",
4864
+ "hermes",
4865
+ "openclaw",
4866
+ "generic"
3820
4867
  ],
3821
4868
  "path": "jobs/productivity/morning-briefing-digest.yaml"
3822
4869
  },
@@ -3895,6 +4942,31 @@
3895
4942
  ],
3896
4943
  "path": "jobs/finance/net-worth-snapshot.yaml"
3897
4944
  },
4945
+ {
4946
+ "id": "new-hire-onboarding-task-check",
4947
+ "version": 1,
4948
+ "name": "New Hire Onboarding Task Check",
4949
+ "description": "Checks which new hires have onboarding tasks (accounts, equipment, paperwork) that are still open past their target date. Use this if a new hire has ever shown up without laptop access or benefits paperwork because a checklist item silently slipped through the cracks.",
4950
+ "category": "team",
4951
+ "tags": [
4952
+ "team",
4953
+ "onboarding",
4954
+ "new-hire",
4955
+ "checklist"
4956
+ ],
4957
+ "schedule": "0 8 * * 1-5",
4958
+ "timezone": "UTC",
4959
+ "runner": "shell",
4960
+ "modes": [
4961
+ "script"
4962
+ ],
4963
+ "compatible_agents": [
4964
+ "generic",
4965
+ "claude",
4966
+ "codex"
4967
+ ],
4968
+ "path": "jobs/team/new-hire-onboarding-task-check.yaml"
4969
+ },
3898
4970
  {
3899
4971
  "id": "new-hire-paperwork-check",
3900
4972
  "version": 1,
@@ -3977,6 +5049,56 @@
3977
5049
  ],
3978
5050
  "path": "jobs/sales/newly-funded-leads-scout.yaml"
3979
5051
  },
5052
+ {
5053
+ "id": "newsletter-unsubscribe-spike-check",
5054
+ "version": 1,
5055
+ "name": "Newsletter Unsubscribe Spike Check",
5056
+ "description": "Checks your most recent newsletter send's unsubscribe rate against a threshold and flags it if it's abnormally high. Use this if a bad subject line or list segment has ever quietly torched your audience before anyone compared it to prior sends.",
5057
+ "category": "marketing",
5058
+ "tags": [
5059
+ "marketing",
5060
+ "newsletter",
5061
+ "unsubscribe",
5062
+ "retention"
5063
+ ],
5064
+ "schedule": "0 9 * * 1",
5065
+ "timezone": "UTC",
5066
+ "runner": "shell",
5067
+ "modes": [
5068
+ "script"
5069
+ ],
5070
+ "compatible_agents": [
5071
+ "generic",
5072
+ "claude",
5073
+ "codex"
5074
+ ],
5075
+ "path": "jobs/marketing/newsletter-unsubscribe-spike-check.yaml"
5076
+ },
5077
+ {
5078
+ "id": "nft-floor-price-watch",
5079
+ "version": 1,
5080
+ "name": "NFT Floor Price Watch",
5081
+ "description": "Checks an NFT collection's floor price via a public marketplace API and alerts if it drops below a threshold. Use this if you've ever wanted a heads-up when a collection you hold or track dips below a price level you care about, without staring at a marketplace tab all day.",
5082
+ "category": "crypto",
5083
+ "tags": [
5084
+ "crypto",
5085
+ "nft",
5086
+ "floor-price",
5087
+ "marketplace"
5088
+ ],
5089
+ "schedule": "0 * * * *",
5090
+ "timezone": "UTC",
5091
+ "runner": "shell",
5092
+ "modes": [
5093
+ "script"
5094
+ ],
5095
+ "compatible_agents": [
5096
+ "generic",
5097
+ "claude",
5098
+ "codex"
5099
+ ],
5100
+ "path": "jobs/crypto/nft-floor-price-watch.yaml"
5101
+ },
3980
5102
  {
3981
5103
  "id": "offer-expiry-reminder",
3982
5104
  "version": 1,
@@ -4026,6 +5148,31 @@
4026
5148
  ],
4027
5149
  "path": "jobs/team/on-call-fatigue-check.yaml"
4028
5150
  },
5151
+ {
5152
+ "id": "onboarding-completion-stall-check",
5153
+ "version": 1,
5154
+ "name": "Onboarding Completion Stall Check",
5155
+ "description": "Checks new users against your onboarding checklist and flags anyone who's been stuck on the same step for too long. Use this if new users have ever quietly abandoned setup partway through and nobody reached out until they'd already churned.",
5156
+ "category": "growth",
5157
+ "tags": [
5158
+ "growth",
5159
+ "onboarding",
5160
+ "activation",
5161
+ "retention"
5162
+ ],
5163
+ "schedule": "0 10 * * *",
5164
+ "timezone": "UTC",
5165
+ "runner": "shell",
5166
+ "modes": [
5167
+ "script"
5168
+ ],
5169
+ "compatible_agents": [
5170
+ "generic",
5171
+ "claude",
5172
+ "codex"
5173
+ ],
5174
+ "path": "jobs/growth/onboarding-completion-stall-check.yaml"
5175
+ },
4029
5176
  {
4030
5177
  "id": "oncall-handoff-reminder",
4031
5178
  "version": 1,
@@ -4124,6 +5271,30 @@
4124
5271
  ],
4125
5272
  "path": "jobs/devops/orphaned-branch-cleanup.yaml"
4126
5273
  },
5274
+ {
5275
+ "id": "overdue-library-materials-check",
5276
+ "version": 1,
5277
+ "name": "Overdue Library Materials Check",
5278
+ "description": "Scans checked-out library items and flags anything past its due date by more than a grace period. Use this if overdue textbooks or library books have ever piled up unnoticed until inventory time.",
5279
+ "category": "education",
5280
+ "tags": [
5281
+ "education",
5282
+ "library",
5283
+ "overdue"
5284
+ ],
5285
+ "schedule": "0 8 * * *",
5286
+ "timezone": "UTC",
5287
+ "runner": "shell",
5288
+ "modes": [
5289
+ "script"
5290
+ ],
5291
+ "compatible_agents": [
5292
+ "generic",
5293
+ "claude",
5294
+ "codex"
5295
+ ],
5296
+ "path": "jobs/education/overdue-library-materials-check.yaml"
5297
+ },
4127
5298
  {
4128
5299
  "id": "overstock-slow-mover-check",
4129
5300
  "version": 1,
@@ -4173,6 +5344,31 @@
4173
5344
  ],
4174
5345
  "path": "jobs/content/page-speed-regression-watch.yaml"
4175
5346
  },
5347
+ {
5348
+ "id": "pallet-putaway-delay-check",
5349
+ "version": 1,
5350
+ "name": "Pallet Putaway Delay Check",
5351
+ "description": "Checks how long received pallets have been sitting in the receiving area before getting put away, and flags anything stuck too long. Use this if inventory has ever gone \"missing\" only to turn up still shrink-wrapped on a receiving pallet from three days ago.",
5352
+ "category": "warehousing",
5353
+ "tags": [
5354
+ "warehousing",
5355
+ "receiving",
5356
+ "putaway",
5357
+ "inventory"
5358
+ ],
5359
+ "schedule": "0 */2 * * *",
5360
+ "timezone": "UTC",
5361
+ "runner": "shell",
5362
+ "modes": [
5363
+ "script"
5364
+ ],
5365
+ "compatible_agents": [
5366
+ "generic",
5367
+ "claude",
5368
+ "codex"
5369
+ ],
5370
+ "path": "jobs/warehousing/pallet-putaway-delay-check.yaml"
5371
+ },
4176
5372
  {
4177
5373
  "id": "parts-backorder-check",
4178
5374
  "version": 1,
@@ -4222,6 +5418,31 @@
4222
5418
  ],
4223
5419
  "path": "jobs/travel/passport-expiry-check.yaml"
4224
5420
  },
5421
+ {
5422
+ "id": "patent-maintenance-fee-reminder",
5423
+ "version": 1,
5424
+ "name": "Patent Maintenance Fee Reminder",
5425
+ "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
+ "category": "legal",
5427
+ "tags": [
5428
+ "legal",
5429
+ "patents",
5430
+ "ip",
5431
+ "maintenance-fees"
5432
+ ],
5433
+ "schedule": "0 9 1 * *",
5434
+ "timezone": "UTC",
5435
+ "runner": "shell",
5436
+ "modes": [
5437
+ "script"
5438
+ ],
5439
+ "compatible_agents": [
5440
+ "generic",
5441
+ "claude",
5442
+ "codex"
5443
+ ],
5444
+ "path": "jobs/legal/patent-maintenance-fee-reminder.yaml"
5445
+ },
4225
5446
  {
4226
5447
  "id": "patient-recall-reminder",
4227
5448
  "version": 1,
@@ -4446,7 +5667,32 @@
4446
5667
  "claude",
4447
5668
  "codex"
4448
5669
  ],
4449
- "path": "jobs/home/plant-watering-reminder.yaml"
5670
+ "path": "jobs/home/plant-watering-reminder.yaml"
5671
+ },
5672
+ {
5673
+ "id": "player-contract-renewal-check",
5674
+ "version": 1,
5675
+ "name": "Esports Player Contract Renewal Check",
5676
+ "description": "Warns you before a roster player's or staff member's contract expires. Use this if a player has ever gone unsigned mid-season because a contract end date slipped past without anyone flagging it in time to negotiate a renewal.",
5677
+ "category": "gaming",
5678
+ "tags": [
5679
+ "gaming",
5680
+ "esports",
5681
+ "roster",
5682
+ "contracts"
5683
+ ],
5684
+ "schedule": "0 9 * * 1",
5685
+ "timezone": "UTC",
5686
+ "runner": "shell",
5687
+ "modes": [
5688
+ "script"
5689
+ ],
5690
+ "compatible_agents": [
5691
+ "generic",
5692
+ "claude",
5693
+ "codex"
5694
+ ],
5695
+ "path": "jobs/gaming/player-contract-renewal-check.yaml"
4450
5696
  },
4451
5697
  {
4452
5698
  "id": "podcast-download-drop-watch",
@@ -4527,6 +5773,31 @@
4527
5773
  ],
4528
5774
  "path": "jobs/insurance/policy-renewal-reminder.yaml"
4529
5775
  },
5776
+ {
5777
+ "id": "port-congestion-watch",
5778
+ "version": 1,
5779
+ "name": "Port Congestion Watch",
5780
+ "description": "Checks a port's average vessel wait time and flags it once congestion crosses your threshold. Use this if a congested port has ever blown up a shipping timeline before anyone checked the wait times.",
5781
+ "category": "logistics",
5782
+ "tags": [
5783
+ "logistics",
5784
+ "port",
5785
+ "congestion",
5786
+ "shipping"
5787
+ ],
5788
+ "schedule": "0 6 * * *",
5789
+ "timezone": "UTC",
5790
+ "runner": "shell",
5791
+ "modes": [
5792
+ "script"
5793
+ ],
5794
+ "compatible_agents": [
5795
+ "generic",
5796
+ "claude",
5797
+ "codex"
5798
+ ],
5799
+ "path": "jobs/logistics/port-congestion-watch.yaml"
5800
+ },
4530
5801
  {
4531
5802
  "id": "portfolio-rebalance-check",
4532
5803
  "version": 1,
@@ -4578,6 +5849,56 @@
4578
5849
  ],
4579
5850
  "path": "jobs/retail/pos-till-reconciliation-check.yaml"
4580
5851
  },
5852
+ {
5853
+ "id": "post-event-survey-response-rate-watch",
5854
+ "version": 1,
5855
+ "name": "Post-Event Survey Response Rate Watch",
5856
+ "description": "Compares how many attendees were sent a post-event survey against how many actually responded, and flags events with a weak response rate. Use this if you've ever sent a feedback survey after an event and had no idea whether the response rate was normal or a sign nobody cared to reply.",
5857
+ "category": "events",
5858
+ "tags": [
5859
+ "events",
5860
+ "survey",
5861
+ "feedback",
5862
+ "response-rate"
5863
+ ],
5864
+ "schedule": "0 9 * * 1",
5865
+ "timezone": "UTC",
5866
+ "runner": "shell",
5867
+ "modes": [
5868
+ "script"
5869
+ ],
5870
+ "compatible_agents": [
5871
+ "generic",
5872
+ "claude",
5873
+ "codex"
5874
+ ],
5875
+ "path": "jobs/events/post-event-survey-response-rate-watch.yaml"
5876
+ },
5877
+ {
5878
+ "id": "practice-streak-check",
5879
+ "version": 1,
5880
+ "name": "Skill Practice Streak Check",
5881
+ "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
+ "category": "learning",
5883
+ "tags": [
5884
+ "learning",
5885
+ "practice",
5886
+ "streak",
5887
+ "habit"
5888
+ ],
5889
+ "schedule": "0 20 * * *",
5890
+ "timezone": "America/Los_Angeles",
5891
+ "runner": "shell",
5892
+ "modes": [
5893
+ "script"
5894
+ ],
5895
+ "compatible_agents": [
5896
+ "generic",
5897
+ "claude",
5898
+ "codex"
5899
+ ],
5900
+ "path": "jobs/learning/practice-streak-check.yaml"
5901
+ },
4581
5902
  {
4582
5903
  "id": "premium-payment-due-reminder",
4583
5904
  "version": 1,
@@ -4627,6 +5948,31 @@
4627
5948
  ],
4628
5949
  "path": "jobs/manufacturing/preventive-maintenance-due-check.yaml"
4629
5950
  },
5951
+ {
5952
+ "id": "probation-period-review-reminder",
5953
+ "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",
5957
+ "tags": [
5958
+ "hr",
5959
+ "probation",
5960
+ "new-hire",
5961
+ "compliance"
5962
+ ],
5963
+ "schedule": "0 8 * * 1",
5964
+ "timezone": "America/New_York",
5965
+ "runner": "shell",
5966
+ "modes": [
5967
+ "script"
5968
+ ],
5969
+ "compatible_agents": [
5970
+ "generic",
5971
+ "claude",
5972
+ "codex"
5973
+ ],
5974
+ "path": "jobs/hr/probation-period-review-reminder.yaml"
5975
+ },
4630
5976
  {
4631
5977
  "id": "production-line-downtime-watch",
4632
5978
  "version": 1,
@@ -4701,6 +6047,33 @@
4701
6047
  ],
4702
6048
  "path": "jobs/realestate/property-tax-deadline-reminder.yaml"
4703
6049
  },
6050
+ {
6051
+ "id": "proposal-followup-nudge",
6052
+ "version": 1,
6053
+ "name": "Proposal Follow-Up Nudge",
6054
+ "description": "Checks which sent proposals/quotes have had no reply after a set number of days and drafts a short follow-up nudge for each. Use this if a proposal has ever gone quiet after you sent it, and only much later did you realize nobody had followed up.",
6055
+ "category": "sales",
6056
+ "tags": [
6057
+ "sales",
6058
+ "proposals",
6059
+ "follow-up",
6060
+ "outreach"
6061
+ ],
6062
+ "schedule": "0 9 * * 1-5",
6063
+ "timezone": "UTC",
6064
+ "runner": "agent-prompt",
6065
+ "modes": [
6066
+ "agent-prompt"
6067
+ ],
6068
+ "compatible_agents": [
6069
+ "claude",
6070
+ "codex",
6071
+ "hermes",
6072
+ "openclaw",
6073
+ "generic"
6074
+ ],
6075
+ "path": "jobs/sales/proposal-followup-nudge.yaml"
6076
+ },
4704
6077
  {
4705
6078
  "id": "pto-balance-check",
4706
6079
  "version": 1,
@@ -4725,6 +6098,31 @@
4725
6098
  ],
4726
6099
  "path": "jobs/team/pto-balance-check.yaml"
4727
6100
  },
6101
+ {
6102
+ "id": "public-comment-period-closing-check",
6103
+ "version": 1,
6104
+ "name": "Public Comment Period Closing Check",
6105
+ "description": "Checks open public comment periods for pending rules or proposals against their close date and flags the ones closing soon. Use this if a comment period has ever expired with barely any public input logged because nobody was tracking the closing date.",
6106
+ "category": "government",
6107
+ "tags": [
6108
+ "government",
6109
+ "public-comment",
6110
+ "compliance",
6111
+ "deadline"
6112
+ ],
6113
+ "schedule": "0 8 * * *",
6114
+ "timezone": "UTC",
6115
+ "runner": "shell",
6116
+ "modes": [
6117
+ "script"
6118
+ ],
6119
+ "compatible_agents": [
6120
+ "generic",
6121
+ "claude",
6122
+ "codex"
6123
+ ],
6124
+ "path": "jobs/government/public-comment-period-closing-check.yaml"
6125
+ },
4728
6126
  {
4729
6127
  "id": "public-meeting-notice-compliance-check",
4730
6128
  "version": 1,
@@ -4750,6 +6148,56 @@
4750
6148
  ],
4751
6149
  "path": "jobs/government/public-meeting-notice-compliance-check.yaml"
4752
6150
  },
6151
+ {
6152
+ "id": "public-records-retention-purge-check",
6153
+ "version": 1,
6154
+ "name": "Public Records Retention Purge Check",
6155
+ "description": "Checks records against their retention schedule and flags anything past its retention period as eligible for archival review or purge. Use this if a records room has ever quietly kept documents years past their legally required retention window simply because nobody was tracking expiry dates.",
6156
+ "category": "government",
6157
+ "tags": [
6158
+ "government",
6159
+ "records",
6160
+ "retention",
6161
+ "compliance"
6162
+ ],
6163
+ "schedule": "0 8 1 * *",
6164
+ "timezone": "UTC",
6165
+ "runner": "shell",
6166
+ "modes": [
6167
+ "script"
6168
+ ],
6169
+ "compatible_agents": [
6170
+ "generic",
6171
+ "claude",
6172
+ "codex"
6173
+ ],
6174
+ "path": "jobs/government/public-records-retention-purge-check.yaml"
6175
+ },
6176
+ {
6177
+ "id": "purchase-order-receiving-delay-check",
6178
+ "version": 1,
6179
+ "name": "Purchase Order Receiving Delay Check",
6180
+ "description": "Checks open purchase orders against their expected delivery date and flags any that are overdue and not yet marked received. Use this if stock has ever run out because a purchase order was quietly late and nobody chased the supplier until shelves were already empty.",
6181
+ "category": "inventory",
6182
+ "tags": [
6183
+ "inventory",
6184
+ "purchase-orders",
6185
+ "receiving",
6186
+ "suppliers"
6187
+ ],
6188
+ "schedule": "0 7 * * 1-5",
6189
+ "timezone": "UTC",
6190
+ "runner": "shell",
6191
+ "modes": [
6192
+ "script"
6193
+ ],
6194
+ "compatible_agents": [
6195
+ "generic",
6196
+ "claude",
6197
+ "codex"
6198
+ ],
6199
+ "path": "jobs/inventory/purchase-order-receiving-delay-check.yaml"
6200
+ },
4753
6201
  {
4754
6202
  "id": "quality-defect-rate-check",
4755
6203
  "version": 1,
@@ -4822,6 +6270,31 @@
4822
6270
  ],
4823
6271
  "path": "jobs/sales/quota-attainment-check.yaml"
4824
6272
  },
6273
+ {
6274
+ "id": "quote-expiry-reminder",
6275
+ "version": 1,
6276
+ "name": "Sales Quote Expiry Reminder",
6277
+ "description": "Flags outstanding price quotes that are about to expire before the customer has accepted them. Use this if a quote has ever lapsed and forced a re-negotiation because nobody followed up before the locked-in pricing ran out.",
6278
+ "category": "sales",
6279
+ "tags": [
6280
+ "sales",
6281
+ "quotes",
6282
+ "pricing",
6283
+ "followup"
6284
+ ],
6285
+ "schedule": "0 8 * * 1-5",
6286
+ "timezone": "UTC",
6287
+ "runner": "shell",
6288
+ "modes": [
6289
+ "script"
6290
+ ],
6291
+ "compatible_agents": [
6292
+ "generic",
6293
+ "claude",
6294
+ "codex"
6295
+ ],
6296
+ "path": "jobs/sales/quote-expiry-reminder.yaml"
6297
+ },
4825
6298
  {
4826
6299
  "id": "raw-material-shortage-risk-check",
4827
6300
  "version": 1,
@@ -4920,6 +6393,56 @@
4920
6393
  ],
4921
6394
  "path": "jobs/productivity/recurring-task-queue-reset.yaml"
4922
6395
  },
6396
+ {
6397
+ "id": "reference-check-overdue-reminder",
6398
+ "version": 1,
6399
+ "name": "Reference Check Overdue Reminder",
6400
+ "description": "Checks candidates whose reference checks were requested but never came back within a set window and flags them so recruiters can chase them down. Use this if an offer has ever stalled because a reference check quietly sat unanswered for weeks.",
6401
+ "category": "hiring",
6402
+ "tags": [
6403
+ "hiring",
6404
+ "recruiting",
6405
+ "references",
6406
+ "follow-up"
6407
+ ],
6408
+ "schedule": "0 9 * * 1-5",
6409
+ "timezone": "UTC",
6410
+ "runner": "shell",
6411
+ "modes": [
6412
+ "script"
6413
+ ],
6414
+ "compatible_agents": [
6415
+ "generic",
6416
+ "claude",
6417
+ "codex"
6418
+ ],
6419
+ "path": "jobs/hiring/reference-check-overdue-reminder.yaml"
6420
+ },
6421
+ {
6422
+ "id": "referral-pending-followup-check",
6423
+ "version": 1,
6424
+ "name": "Pending Referral Follow-up Check",
6425
+ "description": "Checks outbound specialist referrals that haven't been scheduled or completed within a set window and flags them for follow-up. Use this if a patient has ever fallen through the cracks after being referred out, with nobody confirming they actually got the appointment.",
6426
+ "category": "healthcare",
6427
+ "tags": [
6428
+ "referrals",
6429
+ "follow-up",
6430
+ "care-coordination",
6431
+ "compliance"
6432
+ ],
6433
+ "schedule": "0 8 * * 1-5",
6434
+ "timezone": "UTC",
6435
+ "runner": "shell",
6436
+ "modes": [
6437
+ "script"
6438
+ ],
6439
+ "compatible_agents": [
6440
+ "generic",
6441
+ "claude",
6442
+ "codex"
6443
+ ],
6444
+ "path": "jobs/healthcare/referral-pending-followup-check.yaml"
6445
+ },
4923
6446
  {
4924
6447
  "id": "rent-payment-late-check",
4925
6448
  "version": 1,
@@ -5146,6 +6669,31 @@
5146
6669
  ],
5147
6670
  "path": "jobs/ecommerce/return-refund-backlog-check.yaml"
5148
6671
  },
6672
+ {
6673
+ "id": "returns-processing-backlog-check",
6674
+ "version": 1,
6675
+ "name": "Returns Processing Backlog Check",
6676
+ "description": "Scans the returns log for items that have sat unprocessed longer than your target turnaround time. Use this if returned inventory has ever piled up because nobody was tracking how long items had been waiting to be inspected and restocked or disposed of.",
6677
+ "category": "warehousing",
6678
+ "tags": [
6679
+ "warehousing",
6680
+ "returns",
6681
+ "backlog",
6682
+ "logistics"
6683
+ ],
6684
+ "schedule": "0 7 * * *",
6685
+ "timezone": "UTC",
6686
+ "runner": "shell",
6687
+ "modes": [
6688
+ "script"
6689
+ ],
6690
+ "compatible_agents": [
6691
+ "generic",
6692
+ "claude",
6693
+ "codex"
6694
+ ],
6695
+ "path": "jobs/warehousing/returns-processing-backlog-check.yaml"
6696
+ },
5149
6697
  {
5150
6698
  "id": "review-request-nudge",
5151
6699
  "version": 1,
@@ -5177,11 +6725,36 @@
5177
6725
  "description": "Checks that your robots.txt hasn't accidentally blocked every crawler from your entire site. Use this if a robots.txt edit has ever accidentally tanked your search traffic.",
5178
6726
  "category": "content",
5179
6727
  "tags": [
5180
- "seo",
5181
- "robots",
5182
- "crawlability"
6728
+ "seo",
6729
+ "robots",
6730
+ "crawlability"
6731
+ ],
6732
+ "schedule": "0 8 * * *",
6733
+ "timezone": "UTC",
6734
+ "runner": "shell",
6735
+ "modes": [
6736
+ "script"
6737
+ ],
6738
+ "compatible_agents": [
6739
+ "generic",
6740
+ "claude",
6741
+ "codex"
6742
+ ],
6743
+ "path": "jobs/content/robots-txt-check.yaml"
6744
+ },
6745
+ {
6746
+ "id": "rss-feed-health-check",
6747
+ "version": 1,
6748
+ "name": "Podcast RSS Feed Health Check",
6749
+ "description": "Checks that your podcast's RSS feed is reachable and still valid XML with the required podcast tags. Use this if a feed has ever silently broken (bad edit, hosting hiccup, malformed enclosure) and stopped new episodes from reaching Apple Podcasts or Spotify for days before anyone noticed.",
6750
+ "category": "podcast",
6751
+ "tags": [
6752
+ "podcast",
6753
+ "rss",
6754
+ "feed",
6755
+ "distribution"
5183
6756
  ],
5184
- "schedule": "0 8 * * *",
6757
+ "schedule": "0 */6 * * *",
5185
6758
  "timezone": "UTC",
5186
6759
  "runner": "shell",
5187
6760
  "modes": [
@@ -5192,7 +6765,7 @@
5192
6765
  "claude",
5193
6766
  "codex"
5194
6767
  ],
5195
- "path": "jobs/content/robots-txt-check.yaml"
6768
+ "path": "jobs/podcast/rss-feed-health-check.yaml"
5196
6769
  },
5197
6770
  {
5198
6771
  "id": "rss-feed-validate",
@@ -5345,6 +6918,31 @@
5345
6918
  ],
5346
6919
  "path": "jobs/personal/screen-time-check.yaml"
5347
6920
  },
6921
+ {
6922
+ "id": "seat-utilization-upsell-check",
6923
+ "version": 1,
6924
+ "name": "Seat Utilization Upsell Check",
6925
+ "description": "Flags accounts that are using most or all of their purchased seats, a strong signal they're about to hit a limit. Use this if you've ever found out an account outgrew its plan only after they complained about being locked out of adding a new user.",
6926
+ "category": "growth",
6927
+ "tags": [
6928
+ "growth",
6929
+ "upsell",
6930
+ "seats",
6931
+ "expansion"
6932
+ ],
6933
+ "schedule": "0 9 * * 1",
6934
+ "timezone": "UTC",
6935
+ "runner": "shell",
6936
+ "modes": [
6937
+ "script"
6938
+ ],
6939
+ "compatible_agents": [
6940
+ "generic",
6941
+ "claude",
6942
+ "codex"
6943
+ ],
6944
+ "path": "jobs/growth/seat-utilization-upsell-check.yaml"
6945
+ },
5348
6946
  {
5349
6947
  "id": "secrets-scan",
5350
6948
  "version": 1,
@@ -5443,6 +7041,31 @@
5443
7041
  ],
5444
7042
  "path": "jobs/logistics/shipment-delay-watch.yaml"
5445
7043
  },
7044
+ {
7045
+ "id": "shipping-delay-check",
7046
+ "version": 1,
7047
+ "name": "Shipping Delay Check",
7048
+ "description": "Checks shipped orders against their expected delivery date and flags anything running late. Use this if a customer has ever emailed asking \"where's my order\" before you had any idea it was already late.",
7049
+ "category": "ecommerce",
7050
+ "tags": [
7051
+ "ecommerce",
7052
+ "shipping",
7053
+ "fulfillment",
7054
+ "delivery"
7055
+ ],
7056
+ "schedule": "0 8 * * *",
7057
+ "timezone": "UTC",
7058
+ "runner": "shell",
7059
+ "modes": [
7060
+ "script"
7061
+ ],
7062
+ "compatible_agents": [
7063
+ "generic",
7064
+ "claude",
7065
+ "codex"
7066
+ ],
7067
+ "path": "jobs/ecommerce/shipping-delay-check.yaml"
7068
+ },
5446
7069
  {
5447
7070
  "id": "sitemap-freshness-check",
5448
7071
  "version": 1,
@@ -5569,6 +7192,30 @@
5569
7192
  ],
5570
7193
  "path": "jobs/content/social-mentions-watch.yaml"
5571
7194
  },
7195
+ {
7196
+ "id": "speaker-confirmation-deadline-check",
7197
+ "version": 1,
7198
+ "name": "Speaker Confirmation Deadline Check",
7199
+ "description": "Checks the speaker/presenter list against each person's confirm-by date and flags anyone who hasn't confirmed yet. Use this if an event has ever gotten close with a session slot still unconfirmed and nobody noticed until the program had to go to print.",
7200
+ "category": "events",
7201
+ "tags": [
7202
+ "events",
7203
+ "speakers",
7204
+ "confirmation"
7205
+ ],
7206
+ "schedule": "0 9 * * *",
7207
+ "timezone": "UTC",
7208
+ "runner": "shell",
7209
+ "modes": [
7210
+ "script"
7211
+ ],
7212
+ "compatible_agents": [
7213
+ "generic",
7214
+ "claude",
7215
+ "codex"
7216
+ ],
7217
+ "path": "jobs/events/speaker-confirmation-deadline-check.yaml"
7218
+ },
5572
7219
  {
5573
7220
  "id": "sponsor-deliverable-tracker",
5574
7221
  "version": 1,
@@ -5643,6 +7290,31 @@
5643
7290
  ],
5644
7291
  "path": "jobs/devops/ssl-cert-expiry-check.yaml"
5645
7292
  },
7293
+ {
7294
+ "id": "stablecoin-peg-deviation-watch",
7295
+ "version": 1,
7296
+ "name": "Stablecoin Peg Deviation Watch",
7297
+ "description": "Checks a stablecoin's market price against its $1 peg and alerts when it drifts beyond your threshold. Use this if you've ever held a \"stable\" balance through a depeg event because nothing was watching the price.",
7298
+ "category": "crypto",
7299
+ "tags": [
7300
+ "crypto",
7301
+ "stablecoin",
7302
+ "peg",
7303
+ "price"
7304
+ ],
7305
+ "schedule": "*/30 * * * *",
7306
+ "timezone": "UTC",
7307
+ "runner": "shell",
7308
+ "modes": [
7309
+ "script"
7310
+ ],
7311
+ "compatible_agents": [
7312
+ "generic",
7313
+ "claude",
7314
+ "codex"
7315
+ ],
7316
+ "path": "jobs/crypto/stablecoin-peg-deviation-watch.yaml"
7317
+ },
5646
7318
  {
5647
7319
  "id": "staff-certification-expiry-check",
5648
7320
  "version": 1,
@@ -5993,6 +7665,31 @@
5993
7665
  ],
5994
7666
  "path": "jobs/security/sudo-usage-audit.yaml"
5995
7667
  },
7668
+ {
7669
+ "id": "supplier-lead-time-drift-check",
7670
+ "version": 1,
7671
+ "name": "Supplier Lead Time Drift Check",
7672
+ "description": "Compares each supplier's recent delivery lead time against their historical baseline and flags suppliers who have started shipping noticeably slower. Use this if a reorder point has ever gone stale because a supplier quietly started taking longer to deliver than they used to.",
7673
+ "category": "inventory",
7674
+ "tags": [
7675
+ "inventory",
7676
+ "suppliers",
7677
+ "lead-time",
7678
+ "procurement"
7679
+ ],
7680
+ "schedule": "0 6 * * 1",
7681
+ "timezone": "UTC",
7682
+ "runner": "shell",
7683
+ "modes": [
7684
+ "script"
7685
+ ],
7686
+ "compatible_agents": [
7687
+ "generic",
7688
+ "claude",
7689
+ "codex"
7690
+ ],
7691
+ "path": "jobs/inventory/supplier-lead-time-drift-check.yaml"
7692
+ },
5996
7693
  {
5997
7694
  "id": "supplier-otd-performance-watch",
5998
7695
  "version": 1,
@@ -6018,6 +7715,31 @@
6018
7715
  ],
6019
7716
  "path": "jobs/manufacturing/supplier-otd-performance-watch.yaml"
6020
7717
  },
7718
+ {
7719
+ "id": "supplier-price-increase-watch",
7720
+ "version": 1,
7721
+ "name": "Supplier Price Increase Watch",
7722
+ "description": "Compares this week's supplier invoice prices against your reference cost sheet and flags ingredients that jumped more than a set percentage. Use this if a supplier has ever quietly raised prices for months before anyone noticed the food cost creeping up.",
7723
+ "category": "restaurant",
7724
+ "tags": [
7725
+ "restaurant",
7726
+ "suppliers",
7727
+ "cost",
7728
+ "invoices"
7729
+ ],
7730
+ "schedule": "0 6 * * 1",
7731
+ "timezone": "UTC",
7732
+ "runner": "shell",
7733
+ "modes": [
7734
+ "script"
7735
+ ],
7736
+ "compatible_agents": [
7737
+ "generic",
7738
+ "claude",
7739
+ "codex"
7740
+ ],
7741
+ "path": "jobs/restaurant/supplier-price-increase-watch.yaml"
7742
+ },
6021
7743
  {
6022
7744
  "id": "surgery-prep-check",
6023
7745
  "version": 1,
@@ -6344,6 +8066,31 @@
6344
8066
  ],
6345
8067
  "path": "jobs/fitness/trainer-session-package-expiry-check.yaml"
6346
8068
  },
8069
+ {
8070
+ "id": "transcript-publish-lag-check",
8071
+ "version": 1,
8072
+ "name": "Transcript Publish Lag Check",
8073
+ "description": "Flags episodes that published without a transcript still missing after a grace period. Use this if you've ever promised accessible, searchable transcripts but had episodes quietly sit for weeks without one.",
8074
+ "category": "podcast",
8075
+ "tags": [
8076
+ "podcast",
8077
+ "transcript",
8078
+ "accessibility",
8079
+ "publishing"
8080
+ ],
8081
+ "schedule": "0 9 * * 1",
8082
+ "timezone": "UTC",
8083
+ "runner": "shell",
8084
+ "modes": [
8085
+ "script"
8086
+ ],
8087
+ "compatible_agents": [
8088
+ "generic",
8089
+ "claude",
8090
+ "codex"
8091
+ ],
8092
+ "path": "jobs/podcast/transcript-publish-lag-check.yaml"
8093
+ },
6347
8094
  {
6348
8095
  "id": "travel-insurance-expiry-check",
6349
8096
  "version": 1,
@@ -6420,6 +8167,31 @@
6420
8167
  ],
6421
8168
  "path": "jobs/childcare/tuition-payment-late-check.yaml"
6422
8169
  },
8170
+ {
8171
+ "id": "tuition-payment-plan-delinquency-check",
8172
+ "version": 1,
8173
+ "name": "Tuition Payment Plan Delinquency Check",
8174
+ "description": "Checks tuition installment plans against their due dates and flags accounts that have missed a payment. Use this if a family has ever fallen behind on a payment plan for weeks before anyone in the office noticed and followed up.",
8175
+ "category": "education",
8176
+ "tags": [
8177
+ "education",
8178
+ "tuition",
8179
+ "payments",
8180
+ "billing"
8181
+ ],
8182
+ "schedule": "0 8 * * *",
8183
+ "timezone": "UTC",
8184
+ "runner": "shell",
8185
+ "modes": [
8186
+ "script"
8187
+ ],
8188
+ "compatible_agents": [
8189
+ "generic",
8190
+ "claude",
8191
+ "codex"
8192
+ ],
8193
+ "path": "jobs/education/tuition-payment-plan-delinquency-check.yaml"
8194
+ },
6423
8195
  {
6424
8196
  "id": "uptime-ping-check",
6425
8197
  "version": 1,
@@ -6444,6 +8216,56 @@
6444
8216
  ],
6445
8217
  "path": "jobs/devops/uptime-ping-check.yaml"
6446
8218
  },
8219
+ {
8220
+ "id": "utility-bill-anomaly-check",
8221
+ "version": 1,
8222
+ "name": "Utility Bill Anomaly Check",
8223
+ "description": "Compares each newly logged utility bill against your recent average for that utility and flags a reading that spikes well beyond normal. Use this if a bill has ever jumped because of a hidden leak or a device left running, and you only found out once the bill arrived.",
8224
+ "category": "home",
8225
+ "tags": [
8226
+ "home",
8227
+ "utilities",
8228
+ "budgeting",
8229
+ "anomaly"
8230
+ ],
8231
+ "schedule": "0 9 5 * *",
8232
+ "timezone": "America/Los_Angeles",
8233
+ "runner": "shell",
8234
+ "modes": [
8235
+ "script"
8236
+ ],
8237
+ "compatible_agents": [
8238
+ "generic",
8239
+ "claude",
8240
+ "codex"
8241
+ ],
8242
+ "path": "jobs/home/utility-bill-anomaly-check.yaml"
8243
+ },
8244
+ {
8245
+ "id": "vehicle-idle-time-check",
8246
+ "version": 1,
8247
+ "name": "Vehicle Idle Time Check",
8248
+ "description": "Checks each vehicle's daily engine idle time against a threshold and flags the ones burning excess fuel sitting still. Use this if a telematics report has ever shown a surprise fuel bill and nobody could tell how much of it came from vehicles just left running.",
8249
+ "category": "fleet",
8250
+ "tags": [
8251
+ "fleet",
8252
+ "fuel",
8253
+ "idling",
8254
+ "telematics"
8255
+ ],
8256
+ "schedule": "0 7 * * *",
8257
+ "timezone": "UTC",
8258
+ "runner": "shell",
8259
+ "modes": [
8260
+ "script"
8261
+ ],
8262
+ "compatible_agents": [
8263
+ "generic",
8264
+ "claude",
8265
+ "codex"
8266
+ ],
8267
+ "path": "jobs/fleet/vehicle-idle-time-check.yaml"
8268
+ },
6447
8269
  {
6448
8270
  "id": "vehicle-inspection-due-check",
6449
8271
  "version": 1,
@@ -6638,6 +8460,31 @@
6638
8460
  ],
6639
8461
  "path": "jobs/security/waf-rule-change-watch.yaml"
6640
8462
  },
8463
+ {
8464
+ "id": "walk-in-cooler-temp-log-check",
8465
+ "version": 1,
8466
+ "name": "Walk-In Cooler Temperature Log Check",
8467
+ "description": "Scans today's logged cooler/freezer temperature readings and flags any that fall outside the safe range. Use this if an out-of-range reading has ever sat unnoticed in a paper log until a health inspector found it.",
8468
+ "category": "restaurant",
8469
+ "tags": [
8470
+ "restaurant",
8471
+ "food-safety",
8472
+ "temperature",
8473
+ "compliance"
8474
+ ],
8475
+ "schedule": "0 11,17,23 * * *",
8476
+ "timezone": "UTC",
8477
+ "runner": "shell",
8478
+ "modes": [
8479
+ "script"
8480
+ ],
8481
+ "compatible_agents": [
8482
+ "generic",
8483
+ "claude",
8484
+ "codex"
8485
+ ],
8486
+ "path": "jobs/restaurant/walk-in-cooler-temp-log-check.yaml"
8487
+ },
6641
8488
  {
6642
8489
  "id": "wallet-balance-watch",
6643
8490
  "version": 1,
@@ -6663,6 +8510,31 @@
6663
8510
  ],
6664
8511
  "path": "jobs/crypto/wallet-balance-watch.yaml"
6665
8512
  },
8513
+ {
8514
+ "id": "warranty-claim-deadline-check",
8515
+ "version": 1,
8516
+ "name": "Warranty Claim Deadline Check",
8517
+ "description": "Checks open warranty claims against the manufacturer's submission deadline and flags any about to expire unfiled. Use this if a claim has ever gone unpaid because it was submitted a day past the manufacturer's filing window.",
8518
+ "category": "automotive",
8519
+ "tags": [
8520
+ "automotive",
8521
+ "warranty",
8522
+ "claims",
8523
+ "deadline"
8524
+ ],
8525
+ "schedule": "0 8 * * 1-5",
8526
+ "timezone": "UTC",
8527
+ "runner": "shell",
8528
+ "modes": [
8529
+ "script"
8530
+ ],
8531
+ "compatible_agents": [
8532
+ "generic",
8533
+ "claude",
8534
+ "codex"
8535
+ ],
8536
+ "path": "jobs/automotive/warranty-claim-deadline-check.yaml"
8537
+ },
6666
8538
  {
6667
8539
  "id": "warranty-expiry-reminder",
6668
8540
  "version": 1,
@@ -6739,6 +8611,31 @@
6739
8611
  ],
6740
8612
  "path": "jobs/agriculture/weather-frost-alert.yaml"
6741
8613
  },
8614
+ {
8615
+ "id": "webinar-attendance-reminder",
8616
+ "version": 1,
8617
+ "name": "Webinar Attendance Reminder",
8618
+ "description": "Checks a list of webinars/workshops you've registered for and flags any happening soon so you can block the time and prep. Use this if you've ever signed up for a webinar and completely forgotten about it by the time it started.",
8619
+ "category": "learning",
8620
+ "tags": [
8621
+ "learning",
8622
+ "webinars",
8623
+ "events",
8624
+ "reminders"
8625
+ ],
8626
+ "schedule": "0 8 * * *",
8627
+ "timezone": "America/Los_Angeles",
8628
+ "runner": "shell",
8629
+ "modes": [
8630
+ "script"
8631
+ ],
8632
+ "compatible_agents": [
8633
+ "generic",
8634
+ "claude",
8635
+ "codex"
8636
+ ],
8637
+ "path": "jobs/learning/webinar-attendance-reminder.yaml"
8638
+ },
6742
8639
  {
6743
8640
  "id": "weekly-report",
6744
8641
  "version": 1,