@wonsukchoi/crondex 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +16 -15
  2. package/catalog.json +4839 -118
  3. package/jobs/automotive/ase-certification-expiry-check.yaml +36 -0
  4. package/jobs/automotive/csi-score-monitor.yaml +33 -0
  5. package/jobs/automotive/customer-pay-warranty-pay-mix-tracker.yaml +47 -0
  6. package/jobs/automotive/fi-product-attachment-rate-tracker.yaml +39 -0
  7. package/jobs/automotive/loaner-fleet-availability-check.yaml +40 -0
  8. package/jobs/automotive/manufacturer-recall-notice-check.yaml +39 -0
  9. package/jobs/automotive/parts-reorder-point-check.yaml +36 -0
  10. package/jobs/automotive/repair-cycle-time-trend-monitor.yaml +42 -0
  11. package/jobs/automotive/service-appointment-no-show-tracker.yaml +38 -0
  12. package/jobs/automotive/service-bay-utilization-check.yaml +38 -0
  13. package/jobs/automotive/shop-supply-reorder-check.yaml +31 -0
  14. package/jobs/automotive/trade-in-appraisal-variance-check.yaml +39 -0
  15. package/jobs/automotive/used-vehicle-inventory-aging-check.yaml +35 -0
  16. package/jobs/construction/critical-path-material-lead-time-review.yaml +43 -0
  17. package/jobs/construction/daily-jobsite-log-compliance-check.yaml +34 -0
  18. package/jobs/construction/equipment-utilization-cost-check.yaml +35 -0
  19. package/jobs/construction/heavy-equipment-inspection-compliance-check.yaml +34 -0
  20. package/jobs/construction/jobsite-safety-incident-near-miss-tracker.yaml +35 -0
  21. package/jobs/construction/lien-waiver-collection-tracker.yaml +27 -0
  22. package/jobs/construction/permit-application-approval-backlog-check.yaml +33 -0
  23. package/jobs/construction/project-budget-variance-check.yaml +34 -0
  24. package/jobs/construction/punch-list-completion-tracker.yaml +36 -0
  25. package/jobs/construction/retainage-holdback-release-tracker.yaml +33 -0
  26. package/jobs/construction/rfi-response-time-tracker.yaml +33 -0
  27. package/jobs/construction/subcontractor-pay-application-approval-tracker.yaml +35 -0
  28. package/jobs/construction/submittal-shop-drawing-review-check.yaml +45 -0
  29. package/jobs/construction/weather-delay-impact-log.yaml +44 -0
  30. package/jobs/education/chronic-absenteeism-tracker.yaml +34 -0
  31. package/jobs/education/department-budget-variance-check.yaml +37 -0
  32. package/jobs/education/enrollment-withdrawal-trend-tracker.yaml +39 -0
  33. package/jobs/education/facility-work-order-backlog-check.yaml +34 -0
  34. package/jobs/education/free-reduced-lunch-eligibility-renewal-check.yaml +36 -0
  35. package/jobs/education/iep-504-review-deadline-tracker.yaml +35 -0
  36. package/jobs/education/parent-teacher-conference-noshow-tracker.yaml +29 -0
  37. package/jobs/education/school-bus-route-ontime-check.yaml +40 -0
  38. package/jobs/education/standardized-test-registration-deadline-check.yaml +35 -0
  39. package/jobs/education/substitute-teacher-fill-rate-tracker.yaml +35 -0
  40. package/jobs/education/teacher-certification-expiry-tracker.yaml +35 -0
  41. package/jobs/education/textbook-inventory-shortage-check.yaml +32 -0
  42. package/jobs/fleet/accident-incident-report-tracker.yaml +34 -0
  43. package/jobs/fleet/driver-mvr-review-tracker.yaml +34 -0
  44. package/jobs/fleet/driver-safety-score-monitor.yaml +39 -0
  45. package/jobs/fleet/ev-battery-health-check.yaml +36 -0
  46. package/jobs/fleet/fuel-efficiency-trend-monitor.yaml +33 -0
  47. package/jobs/fleet/geofence-violation-check.yaml +37 -0
  48. package/jobs/fleet/lease-return-condition-check.yaml +33 -0
  49. package/jobs/fleet/tire-wear-replacement-check.yaml +30 -0
  50. package/jobs/fleet/toll-violation-tracker.yaml +34 -0
  51. package/jobs/fleet/vehicle-pool-scheduling-conflict-check.yaml +37 -0
  52. package/jobs/fleet/vehicle-tco-tracker.yaml +41 -0
  53. package/jobs/fleet/vehicle-utilization-rate-check.yaml +37 -0
  54. package/jobs/growth/cohort-retention-curve-monitor.yaml +39 -0
  55. package/jobs/growth/customer-health-score-monitor.yaml +37 -0
  56. package/jobs/growth/dau-mau-engagement-ratio-check.yaml +39 -0
  57. package/jobs/growth/dormant-account-reactivation-check.yaml +39 -0
  58. package/jobs/growth/expansion-revenue-opportunity-tracker.yaml +44 -0
  59. package/jobs/growth/feature-adoption-rate-tracker.yaml +44 -0
  60. package/jobs/growth/nps-trend-tracker.yaml +40 -0
  61. package/jobs/growth/onboarding-funnel-dropoff-check.yaml +39 -0
  62. package/jobs/growth/paywall-upgrade-prompt-conversion-check.yaml +40 -0
  63. package/jobs/growth/product-qualified-lead-tracker.yaml +42 -0
  64. package/jobs/growth/referral-program-performance-tracker.yaml +35 -0
  65. package/jobs/growth/trial-to-paid-conversion-rate-tracker.yaml +48 -0
  66. package/jobs/growth/winback-reactivation-campaign-tracker.yaml +46 -0
  67. package/jobs/hospitality/adr-revpar-tracker.yaml +43 -0
  68. package/jobs/hospitality/cancellation-rate-spike-check.yaml +21 -0
  69. package/jobs/hospitality/group-booking-space-utilization-check.yaml +40 -0
  70. package/jobs/hospitality/guest-complaint-sla-tracker.yaml +34 -0
  71. package/jobs/hospitality/guest-satisfaction-score-monitor.yaml +41 -0
  72. package/jobs/hospitality/linen-inventory-turnover-check.yaml +35 -0
  73. package/jobs/hospitality/loyalty-points-reconciliation-check.yaml +33 -0
  74. package/jobs/hospitality/minibar-charge-reconciliation-check.yaml +38 -0
  75. package/jobs/hospitality/occupancy-forecast-variance-check.yaml +33 -0
  76. package/jobs/hospitality/ota-rate-parity-check.yaml +36 -0
  77. package/jobs/hospitality/overbooking-risk-alert.yaml +38 -0
  78. package/jobs/hospitality/room-maintenance-work-order-tracker.yaml +31 -0
  79. package/jobs/hospitality/upsell-upgrade-conversion-tracker.yaml +37 -0
  80. package/jobs/insurance/adjuster-caseload-balance-check.yaml +45 -0
  81. package/jobs/insurance/agent-broker-license-expiry-tracker.yaml +40 -0
  82. package/jobs/insurance/cat-event-exposure-monitor.yaml +37 -0
  83. package/jobs/insurance/claims-aging-backlog-tracker.yaml +48 -0
  84. package/jobs/insurance/doi-filing-deadline-tracker.yaml +42 -0
  85. package/jobs/insurance/loss-ratio-by-line-monitor.yaml +43 -0
  86. package/jobs/insurance/policy-lapse-rate-monitor.yaml +41 -0
  87. package/jobs/insurance/premium-payment-delinquency-tracker.yaml +42 -0
  88. package/jobs/insurance/quote-to-bind-conversion-tracker.yaml +41 -0
  89. package/jobs/insurance/reinsurance-treaty-renewal-tracker.yaml +38 -0
  90. package/jobs/insurance/siu-fraud-referral-tracker.yaml +36 -0
  91. package/jobs/insurance/subrogation-recovery-tracker.yaml +41 -0
  92. package/jobs/insurance/underwriting-queue-sla-monitor.yaml +45 -0
  93. package/jobs/logistics/3pl-performance-scorecard.yaml +45 -0
  94. package/jobs/logistics/bol-freight-class-accuracy-audit.yaml +33 -0
  95. package/jobs/logistics/cargo-insurance-claim-status-check.yaml +39 -0
  96. package/jobs/logistics/carrier-load-tender-acceptance-check.yaml +34 -0
  97. package/jobs/logistics/carrier-otd-performance-scorecard.yaml +41 -0
  98. package/jobs/logistics/carrier-rate-contract-renewal-check.yaml +35 -0
  99. package/jobs/logistics/cross-dock-dwell-time-watch.yaml +43 -0
  100. package/jobs/logistics/freight-invoice-rate-audit.yaml +38 -0
  101. package/jobs/logistics/fuel-surcharge-rate-monitor.yaml +40 -0
  102. package/jobs/logistics/international-shipment-documentation-check.yaml +36 -0
  103. package/jobs/logistics/linehaul-transit-time-variance-check.yaml +43 -0
  104. package/jobs/logistics/proof-of-delivery-reconciliation-check.yaml +38 -0
  105. package/jobs/logistics/route-load-optimization-check.yaml +32 -0
  106. package/jobs/manufacturing/changeover-time-tracker.yaml +29 -0
  107. package/jobs/manufacturing/critical-spare-parts-stock-check.yaml +29 -0
  108. package/jobs/manufacturing/first-pass-yield-report.yaml +37 -0
  109. package/jobs/manufacturing/lot-traceability-audit.yaml +37 -0
  110. package/jobs/manufacturing/non-conformance-report-backlog-check.yaml +34 -0
  111. package/jobs/manufacturing/oee-efficiency-check.yaml +37 -0
  112. package/jobs/manufacturing/osha-recordable-incident-audit.yaml +37 -0
  113. package/jobs/manufacturing/production-schedule-adherence-check.yaml +35 -0
  114. package/jobs/manufacturing/safety-certification-expiry-check.yaml +37 -0
  115. package/jobs/manufacturing/scrap-waste-rate-watch.yaml +33 -0
  116. package/jobs/manufacturing/shift-handoff-report.yaml +37 -0
  117. package/jobs/manufacturing/supplier-quality-ppm-watch.yaml +38 -0
  118. package/jobs/manufacturing/tooling-die-wear-check.yaml +31 -0
  119. package/jobs/manufacturing/work-order-backlog-check.yaml +37 -0
  120. package/jobs/marketing/ad-creative-fatigue-check.yaml +44 -0
  121. package/jobs/marketing/affiliate-partner-performance-check.yaml +38 -0
  122. package/jobs/marketing/attribution-discrepancy-check.yaml +42 -0
  123. package/jobs/marketing/brand-share-of-voice-check.yaml +43 -0
  124. package/jobs/marketing/campaign-roas-cpa-anomaly-check.yaml +41 -0
  125. package/jobs/marketing/competitor-ad-creative-watch.yaml +40 -0
  126. package/jobs/marketing/email-list-growth-rate-check.yaml +43 -0
  127. package/jobs/marketing/landing-page-conversion-drop-check.yaml +44 -0
  128. package/jobs/marketing/mql-to-sql-handoff-sla-check.yaml +29 -0
  129. package/jobs/marketing/mql-volume-pace-check.yaml +34 -0
  130. package/jobs/marketing/paid-search-negative-keyword-waste-check.yaml +37 -0
  131. package/jobs/marketing/press-release-pickup-tracking.yaml +32 -0
  132. package/jobs/marketing/webinar-registration-attendance-check.yaml +38 -0
  133. package/jobs/restaurant/comp-void-anomaly-tracker.yaml +39 -0
  134. package/jobs/restaurant/daily-sales-flash-report.yaml +36 -0
  135. package/jobs/restaurant/delivery-platform-commission-reconciliation.yaml +33 -0
  136. package/jobs/restaurant/delivery-receiving-discrepancy-check.yaml +33 -0
  137. package/jobs/restaurant/food-handler-permit-expiry-tracker.yaml +33 -0
  138. package/jobs/restaurant/gift-card-liability-check.yaml +45 -0
  139. package/jobs/restaurant/kitchen-ticket-time-watch.yaml +38 -0
  140. package/jobs/restaurant/liquor-pour-cost-variance-check.yaml +34 -0
  141. package/jobs/restaurant/menu-86-frequency-tracker.yaml +39 -0
  142. package/jobs/restaurant/menu-item-profitability-check.yaml +33 -0
  143. package/jobs/restaurant/pos-end-of-day-reconciliation-check.yaml +31 -0
  144. package/jobs/restaurant/table-turnover-rate-tracker.yaml +36 -0
  145. package/jobs/restaurant/waitlist-conversion-check.yaml +37 -0
  146. package/jobs/retail/cash-office-deposit-variance-check.yaml +34 -0
  147. package/jobs/retail/competitor-price-monitoring-check.yaml +42 -0
  148. package/jobs/retail/damaged-merchandise-writeoff-tracker.yaml +41 -0
  149. package/jobs/retail/employee-discount-abuse-check.yaml +39 -0
  150. package/jobs/retail/layaway-special-order-pickup-tracker.yaml +33 -0
  151. package/jobs/retail/loyalty-enrollment-redemption-rate-tracker.yaml +37 -0
  152. package/jobs/retail/markdown-execution-audit-check.yaml +29 -0
  153. package/jobs/retail/planogram-compliance-audit-check.yaml +36 -0
  154. package/jobs/retail/pos-void-refund-anomaly-tracker.yaml +42 -0
  155. package/jobs/retail/price-tag-audit-accuracy-check.yaml +37 -0
  156. package/jobs/retail/sales-per-square-foot-tracker.yaml +36 -0
  157. package/jobs/retail/seasonal-staffing-coverage-check.yaml +35 -0
  158. package/jobs/retail/store-closing-checklist-compliance-check.yaml +32 -0
  159. package/jobs/retail/visual-merchandising-compliance-check.yaml +40 -0
  160. package/jobs/veterinary/appointment-no-show-rate-tracker.yaml +49 -0
  161. package/jobs/veterinary/boarding-kennel-capacity-utilization-check.yaml +39 -0
  162. package/jobs/veterinary/client-payment-plan-delinquency-check.yaml +36 -0
  163. package/jobs/veterinary/dvm-license-dea-registration-expiry-check.yaml +41 -0
  164. package/jobs/veterinary/microchip-registration-verification-check.yaml +40 -0
  165. package/jobs/veterinary/patient-record-completeness-audit.yaml +41 -0
  166. package/jobs/veterinary/pet-medication-refill-backlog-check.yaml +36 -0
  167. package/jobs/veterinary/puppy-kitten-vaccine-series-compliance-check.yaml +39 -0
  168. package/jobs/veterinary/senior-pet-wellness-recall-tracker.yaml +43 -0
  169. package/jobs/veterinary/spay-neuter-followup-compliance-check.yaml +35 -0
  170. package/jobs/veterinary/specialist-referral-followup-check.yaml +38 -0
  171. package/jobs/veterinary/surgical-schedule-utilization-check.yaml +36 -0
  172. package/jobs/veterinary/vet-staff-ce-credit-tracking.yaml +36 -0
  173. package/jobs/warehousing/conveyor-sortation-downtime-watch.yaml +48 -0
  174. package/jobs/warehousing/labor-productivity-rate-check.yaml +33 -0
  175. package/jobs/warehousing/mhe-preventive-maintenance-check.yaml +38 -0
  176. package/jobs/warehousing/order-fulfillment-sla-watch.yaml +42 -0
  177. package/jobs/warehousing/shift-headcount-coverage-check.yaml +33 -0
  178. package/jobs/warehousing/slotting-velocity-review-check.yaml +44 -0
  179. package/jobs/warehousing/warehouse-damage-writeoff-review.yaml +41 -0
  180. package/jobs/warehousing/warehouse-near-miss-incident-rate-watch.yaml +47 -0
  181. package/jobs/warehousing/warehouse-space-utilization-check.yaml +39 -0
  182. package/jobs/warehousing/wave-pick-batch-efficiency-check.yaml +33 -0
  183. package/jobs/warehousing/wms-integration-error-check.yaml +36 -0
  184. package/jobs/warehousing/yard-trailer-detention-watch.yaml +41 -0
  185. package/lib/category-descriptions.js +12 -12
  186. package/lib/duplicates-allowlist.js +10 -0
  187. package/package.json +2 -2
@@ -0,0 +1,37 @@
1
+ id: price-tag-audit-accuracy-check
2
+ version: 1
3
+ name: Price Tag Audit Accuracy Check
4
+ description: >
5
+ Reviews photos of shelf price tags against the current POS price file
6
+ and flags mismatches. Use this if a customer has ever caught a
7
+ scan-versus-tag price discrepancy at the register before the store did
8
+ — those add up fast in refunds, complaints, and occasional fines.
9
+ category: retail
10
+ tags: [retail, pricing, audit, compliance]
11
+ schedule: "0 8 * * 4"
12
+ timezone: "America/New_York"
13
+ runner: agent-prompt
14
+ prompt: |
15
+ Compare this week's shelf tag photos ({{tag_photos_path}}) against the
16
+ current POS price export ({{pos_price_file}}) for store {{store_id}}.
17
+ 1. Read the SKU and posted price off each tag photo (OCR/read the
18
+ image directly).
19
+ 2. Match each tag to its POS price by SKU and flag any mismatch,
20
+ noting whether the tag is higher or lower than the register price.
21
+ 3. Prioritize mismatches where the tag price is lower than the POS
22
+ price — those are the ones customers will notice and complain about
23
+ first, and in some states are a pricing-accuracy compliance risk.
24
+ 4. Summarize as a punch list: SKU, tag price, POS price, and which tag
25
+ needs reprinting.
26
+ variables:
27
+ tag_photos_path:
28
+ default: "./shelf-tag-photos/"
29
+ description: Folder of this week's shelf price tag photos for the store.
30
+ pos_price_file:
31
+ default: "./pos-price-export.csv"
32
+ description: Current POS price export, columns sku,price.
33
+ store_id:
34
+ default: "store-001"
35
+ description: Identifier for the store being audited.
36
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
37
+ notes: Reading prices off photographed tags and matching them against a price list needs visual judgment a fixed script can't reliably do.
@@ -0,0 +1,36 @@
1
+ id: sales-per-square-foot-tracker
2
+ version: 1
3
+ name: Sales Per Square Foot Tracker
4
+ description: >
5
+ Calculates each store's sales-per-square-foot for the period and flags
6
+ stores falling below a benchmark. Use this if underperforming store
7
+ footprints have ever gone unnoticed until an annual real-estate review
8
+ instead of getting flagged while there was still time to act.
9
+ category: retail
10
+ tags: [retail, sales, performance, benchmarking]
11
+ schedule: "0 7 1 * *"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v floor="{{benchmark_sales_per_sqft}}" '
16
+ NR==1 {next}
17
+ {
18
+ sqft = $3;
19
+ if (sqft > 0) {
20
+ rate = $2 / sqft;
21
+ status = (rate < floor) ? "BELOW BENCHMARK" : "ok";
22
+ if (status == "BELOW BENCHMARK") {
23
+ printf "BELOW BENCHMARK: store %s — $%.2f/sqft (benchmark $%.2f/sqft)\n", $1, rate, floor;
24
+ }
25
+ }
26
+ }
27
+ ' "{{store_sales_csv}}"
28
+ variables:
29
+ store_sales_csv:
30
+ default: "./store-sales-sqft.csv"
31
+ description: "CSV with header row, columns: store_id,period_sales_usd,selling_sqft — one row per store for the period."
32
+ benchmark_sales_per_sqft:
33
+ default: 300
34
+ description: Minimum acceptable sales-per-square-foot for the period before a store gets flagged.
35
+ compatible_agents: [generic, claude, codex]
36
+ notes: A single low period isn't necessarily a problem store — track the trend across periods before drawing conclusions about a location.
@@ -0,0 +1,35 @@
1
+ id: seasonal-staffing-coverage-check
2
+ version: 1
3
+ name: Seasonal Staffing Coverage Check
4
+ description: >
5
+ Compares scheduled labor hours against a forecasted seasonal-peak
6
+ staffing plan and flags stores that are under-scheduled. Use this if a
7
+ store has ever gone into a holiday or back-to-school rush understaffed
8
+ because the seasonal plan and the actual schedule quietly drifted apart.
9
+ category: retail
10
+ tags: [retail, staffing, seasonal, scheduling]
11
+ schedule: "0 9 * * 1"
12
+ timezone: "America/New_York"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v gap_pct="{{coverage_gap_threshold_pct}}" '
16
+ NR==1 {next}
17
+ {
18
+ planned = $2; scheduled = $3;
19
+ if (planned > 0) {
20
+ gap = ((planned - scheduled) / planned) * 100;
21
+ if (gap >= gap_pct) {
22
+ printf "UNDER-SCHEDULED: store %s — planned %.0f hrs, scheduled %.0f hrs (%.1f%% short)\n", $1, planned, scheduled, gap;
23
+ }
24
+ }
25
+ }
26
+ ' "{{seasonal_staffing_csv}}"
27
+ variables:
28
+ seasonal_staffing_csv:
29
+ default: "./seasonal-staffing-plan.csv"
30
+ description: "CSV with header row, columns: store_id,planned_hours,scheduled_hours — one row per store for the upcoming seasonal window."
31
+ coverage_gap_threshold_pct:
32
+ default: 10
33
+ description: Percentage shortfall between planned and scheduled hours that triggers a flag.
34
+ compatible_agents: [generic, claude, codex]
35
+ notes: Complements `employee-shift-gap-check` (day-to-day unfilled shifts) by checking whether the whole store is resourced against a seasonal peak plan, weeks ahead of the rush rather than shift by shift.
@@ -0,0 +1,32 @@
1
+ id: store-closing-checklist-compliance-check
2
+ version: 1
3
+ name: Store Closing Checklist Compliance Check
4
+ description: >
5
+ Reviews logged closing checklist completions and flags stores or shifts
6
+ that skipped required steps, rather than just reminding staff of the
7
+ checklist. Use this if a store has ever opened the next morning to a
8
+ safe left unlocked, alarm not set, or cash not dropped because closing
9
+ execution was never actually checked afterward.
10
+ category: retail
11
+ tags: [retail, checklist, closing, compliance, loss-prevention]
12
+ schedule: "0 7 * * *"
13
+ timezone: "America/New_York"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' '
17
+ NR==1 {next}
18
+ {
19
+ if ($3 == "incomplete" || $3 == "") {
20
+ printf "INCOMPLETE CLOSE: store %s on %s — missing step: %s\n", $1, $2, $4;
21
+ }
22
+ }
23
+ ' "{{closing_log_csv}}"
24
+ variables:
25
+ closing_log_csv:
26
+ default: "./closing-checklist-log.csv"
27
+ description: "CSV with header row, columns: store_id,close_date,status(complete/incomplete),missing_step — one row per required closing step per night."
28
+ compatible_agents: [generic, claude, codex]
29
+ notes: >
30
+ Distinct from `store-opening-checklist-reminder`, which just prints the
31
+ standard checklist as a reminder — this audits a logged closing record
32
+ after the fact to catch steps that were actually skipped.
@@ -0,0 +1,40 @@
1
+ id: visual-merchandising-compliance-check
2
+ version: 1
3
+ name: Visual Merchandising Compliance Check
4
+ description: >
5
+ Reviews store-front and window display photos against the current
6
+ visual merchandising directive and flags stores that haven't executed
7
+ it. Use this if a seasonal window or entrance display has ever stayed
8
+ up stale for weeks after corporate sent the new directive.
9
+ category: retail
10
+ tags: [retail, merchandising, visual, compliance]
11
+ schedule: "0 8 * * 5"
12
+ timezone: "America/New_York"
13
+ runner: agent-prompt
14
+ prompt: |
15
+ Compare this week's store-front/window/entrance photos
16
+ ({{store_photos_path}}) against the current visual merchandising
17
+ directive ({{vm_directive_path}}) for store {{store_id}}.
18
+ 1. Note whether the required theme, signage, mannequin styling, and
19
+ entrance table match the directive.
20
+ 2. Flag anything stale (a prior season's display still up) separately
21
+ from anything simply missing.
22
+ 3. Note any obviously damaged or faded display elements that need
23
+ replacing regardless of the current directive.
24
+ 4. Give a short, actionable punch list, not a general aesthetic
25
+ critique.
26
+ variables:
27
+ store_photos_path:
28
+ default: "./vm-photos/"
29
+ description: Folder of this week's store-front and window display photos.
30
+ vm_directive_path:
31
+ default: "./current-vm-directive.pdf"
32
+ description: Path to the current corporate visual merchandising directive.
33
+ store_id:
34
+ default: "store-001"
35
+ description: Identifier for the store being reviewed.
36
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
37
+ notes: >
38
+ Distinct from `planogram-compliance-audit-check`, which audits shelf/bay
39
+ product placement inside the store — this covers window, entrance, and
40
+ seasonal display execution instead.
@@ -0,0 +1,49 @@
1
+ id: appointment-no-show-rate-tracker
2
+ version: 1
3
+ name: Appointment No-Show Rate Tracker
4
+ description: >
5
+ Calculates the weekly no-show rate from a logged appointment history and
6
+ flags when it crosses a threshold. Use this if the clinic has ever kept
7
+ eating empty exam-room slots without noticing the no-show rate had
8
+ crept up until the schedule was visibly hurting revenue — this tracks
9
+ the aggregate trend, distinct from a per-appointment outreach job.
10
+ category: veterinary
11
+ tags: [veterinary, appointments, no-show, scheduling, metrics]
12
+ schedule: "0 7 * * 1"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v cutoff="{{lookback_days}}" -v threshold="{{alert_threshold_pct}}" '
17
+ NR==1 {next}
18
+ {
19
+ cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $2 "\" +%s 2>/dev/null";
20
+ cmd | getline appt_epoch; close(cmd);
21
+ "date +%s" | getline now_epoch; close("date +%s");
22
+ age_days = (now_epoch - appt_epoch) / 86400;
23
+ if (age_days >= 0 && age_days <= cutoff) {
24
+ total++;
25
+ if ($3 == "no-show") noshow++;
26
+ }
27
+ }
28
+ END {
29
+ if (total > 0) {
30
+ rate = (noshow / total) * 100;
31
+ printf "NO-SHOW RATE: %d/%d appointments in last %d day(s) = %.1f%%\n", noshow, total, cutoff, rate;
32
+ if (rate >= threshold) printf "ALERT: no-show rate %.1f%% is at or above the %.1f%% threshold\n", rate, threshold;
33
+ } else {
34
+ print "No appointments found in the lookback window.";
35
+ }
36
+ }
37
+ ' "{{appointments_csv_path}}"
38
+ variables:
39
+ appointments_csv_path:
40
+ default: "./appointments.csv"
41
+ description: "Path to a CSV with columns: pet_name,appointment_date (YYYY-MM-DD),status (arrived/no-show/cancelled)."
42
+ lookback_days:
43
+ default: 7
44
+ description: How many trailing days of appointments to include in the rate calculation.
45
+ alert_threshold_pct:
46
+ default: 10
47
+ description: No-show rate percentage that triggers an alert.
48
+ compatible_agents: [generic, claude, codex]
49
+ notes: Zero-token trend check — pair with a per-appointment outreach job if you also want to contact each no-show individually.
@@ -0,0 +1,39 @@
1
+ id: boarding-kennel-capacity-utilization-check
2
+ version: 1
3
+ name: Boarding/Kennel Capacity Utilization Check
4
+ description: >
5
+ Compares today's occupied boarding runs/kennels against total capacity
6
+ and warns when utilization crosses a threshold. Use this if the front
7
+ desk has ever accepted a boarding reservation only to discover at
8
+ drop-off that every run was already full — this tracks overall
9
+ occupancy, distinct from boarding-checkout-reminder.yaml which tracks
10
+ individual checkout dates.
11
+ category: veterinary
12
+ tags: [veterinary, boarding, kennel, capacity, occupancy]
13
+ schedule: "0 6 * * *"
14
+ timezone: "UTC"
15
+ runner: shell
16
+ command: >
17
+ today=$(date +%Y-%m-%d);
18
+ occupied=$(awk -F',' -v today="$today" '
19
+ NR==1 {next}
20
+ $3 <= today && $4 >= today {count++}
21
+ END {print count+0}
22
+ ' "{{boarding_csv_path}}");
23
+ total="{{total_kennel_capacity}}";
24
+ warn="{{warn_threshold_pct}}";
25
+ pct=$(awk -v o="$occupied" -v t="$total" 'BEGIN { printf "%.1f", (t>0)?(o/t*100):0 }');
26
+ echo "OCCUPANCY: $occupied/$total runs occupied today ($pct%)";
27
+ awk -v pct="$pct" -v warn="$warn" 'BEGIN { if (pct+0 >= warn+0) print "ALERT: occupancy at or above " warn "% — confirm capacity before accepting more reservations." }'
28
+ variables:
29
+ boarding_csv_path:
30
+ default: "./boarding-schedule.csv"
31
+ description: "Path to a CSV with columns: pet_name,owner_name,checkin_date (YYYY-MM-DD),checkout_date (YYYY-MM-DD)."
32
+ total_kennel_capacity:
33
+ default: 20
34
+ description: Total number of boarding runs/kennels available.
35
+ warn_threshold_pct:
36
+ default: 90
37
+ description: Occupancy percentage that triggers a capacity warning.
38
+ compatible_agents: [generic, claude, codex]
39
+ notes: Zero-token. Counts any stay whose check-in/checkout window spans today — adjust the CSV export cadence to keep this current through the day.
@@ -0,0 +1,36 @@
1
+ id: client-payment-plan-delinquency-check
2
+ version: 1
3
+ name: Client Payment Plan Delinquency Check
4
+ description: >
5
+ Checks active client payment plans (e.g. for a large surgery or
6
+ emergency bill) against their installment schedule and flags anyone
7
+ who's missed a payment. Use this if a payment plan has ever quietly
8
+ gone delinquent for months because nobody was cross-checking installment
9
+ due dates against what actually came in.
10
+ category: veterinary
11
+ tags: [veterinary, billing, payment-plans, collections, clients]
12
+ schedule: "0 9 1,15 * *"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ today=$(date +%s);
17
+ awk -F',' -v today="$today" -v grace_days="{{grace_period_days}}" '
18
+ NR==1 {next}
19
+ $4 == "unpaid" {
20
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
21
+ cmd | getline due_epoch; close(cmd);
22
+ overdue_days = (today - due_epoch) / 86400;
23
+ if (overdue_days >= grace_days) {
24
+ printf "DELINQUENT: %s — installment $%s due %s (%d days overdue), plan total $%s\n", $1, $2, $3, overdue_days, $5;
25
+ }
26
+ }
27
+ ' "{{payment_plans_csv_path}}"
28
+ variables:
29
+ payment_plans_csv_path:
30
+ default: "./payment-plans.csv"
31
+ description: "Path to a CSV with columns: owner_name,installment_amount,due_date (YYYY-MM-DD),status (paid/unpaid),plan_total_amount."
32
+ grace_period_days:
33
+ default: 5
34
+ description: Days past the due date before a missed installment is flagged as delinquent.
35
+ compatible_agents: [generic, claude, codex]
36
+ notes: Read-only aging check — actual collections outreach and any plan renegotiation should follow your practice's billing policy.
@@ -0,0 +1,41 @@
1
+ id: dvm-license-dea-registration-expiry-check
2
+ version: 1
3
+ name: Veterinarian License & DEA Registration Expiry Check
4
+ description: >
5
+ Checks each veterinarian's state license and DEA registration expiry
6
+ dates and warns before either lapses. Use this if a vet has ever
7
+ discovered a lapsed DEA registration only when trying to write a
8
+ controlled-substance prescription — distinct from
9
+ license-credential-expiry-check.yaml in healthcare, which tracks
10
+ general staff credentials rather than the DVM license plus DEA
11
+ dual-registration requirement specific to prescribing controlled
12
+ substances for animal patients.
13
+ category: veterinary
14
+ tags: [veterinary, compliance, licensing, dea, staff]
15
+ schedule: "0 8 * * 1"
16
+ timezone: "UTC"
17
+ runner: shell
18
+ command: >
19
+ awk -F',' -v days="{{warn_days_before}}" '
20
+ NR==1 {next}
21
+ {
22
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
23
+ cmd | getline license_expiry_epoch; close(cmd);
24
+ cmd2 = "date -d \"" $4 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $4 "\" +%s 2>/dev/null";
25
+ cmd2 | getline dea_expiry_epoch; close(cmd2);
26
+ "date +%s" | getline now_epoch; close("date +%s");
27
+ license_days = (license_expiry_epoch - now_epoch) / 86400;
28
+ dea_days = (dea_expiry_epoch - now_epoch) / 86400;
29
+ if (license_days <= days) printf "EXPIRING: %s — state license expires %s (%d days)\n", $1, $3, license_days;
30
+ if (dea_days <= days) printf "EXPIRING: %s — DEA registration expires %s (%d days)\n", $1, $4, dea_days;
31
+ }
32
+ ' "{{credential_csv_path}}"
33
+ variables:
34
+ credential_csv_path:
35
+ default: "./dvm-credentials.csv"
36
+ description: "Path to a CSV with columns: veterinarian_name,state,license_expiry_date (YYYY-MM-DD),dea_expiry_date (YYYY-MM-DD)."
37
+ warn_days_before:
38
+ default: 60
39
+ description: How many days before expiry to start warning.
40
+ compatible_agents: [generic, claude, codex]
41
+ notes: Assumes a maintained CSV export from your credentialing/HR system. A lapsed DEA registration blocks legal prescribing of controlled substances — treat DEA warnings as higher priority than license warnings.
@@ -0,0 +1,40 @@
1
+ id: microchip-registration-verification-check
2
+ version: 1
3
+ name: Microchip Registration Verification Check
4
+ description: >
5
+ Reviews recently implanted microchips and checks whether the chip was
6
+ actually registered with the manufacturer's database under the owner's
7
+ current contact info. Use this if a lost pet has ever been scanned at
8
+ a shelter, chip found, but the registry came back with no owner info
9
+ or an outdated phone number — the chip is only useful if the
10
+ registration behind it is current.
11
+ category: veterinary
12
+ tags: [veterinary, microchip, registration, patients, compliance]
13
+ schedule: "0 9 * * 1"
14
+ timezone: "UTC"
15
+ runner: agent-prompt
16
+ prompt: |
17
+ Review the list of pets microchipped in the last {{lookback_days}} days
18
+ from {{practice_management_system}}: {{unregistered_chips_list}}.
19
+ 1. For each chip, note whether the record shows it was registered with
20
+ the manufacturer's registry (e.g. HomeAgain, 24PetWatch, AKC
21
+ Reunite) and, if so, whether the owner contact info on file matches
22
+ the registry.
23
+ 2. List any chip implanted but with no registration confirmed, and any
24
+ chip where the owner's phone/email on file has since changed
25
+ without the registry being updated.
26
+ 3. Draft a short reminder message for owners with unregistered or
27
+ stale-registration chips, explaining briefly why an unregistered
28
+ chip won't reunite them with a lost pet.
29
+ variables:
30
+ practice_management_system:
31
+ default: "your practice management system"
32
+ description: Name of the system where microchip implant records live.
33
+ unregistered_chips_list:
34
+ default: "the clinic's microchip implant log for the period"
35
+ description: Source of implanted-chip records to check against registry status.
36
+ lookback_days:
37
+ default: 30
38
+ description: How far back to check for recently implanted chips.
39
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
40
+ notes: Draft-only outreach — registry lookups may require checking the specific manufacturer's site or portal, since there's no single universal microchip registry.
@@ -0,0 +1,41 @@
1
+ id: patient-record-completeness-audit
2
+ version: 1
3
+ name: Patient (Pet) Record Completeness Audit
4
+ description: >
5
+ Spot-checks a sample of recent patient records for missing required
6
+ fields — weight, vaccine history, allergy flags, microchip number — and
7
+ lists the gaps. Use this if a chart has ever been missing a documented
8
+ drug allergy right when it mattered, because record completeness was
9
+ never actually reviewed, only assumed.
10
+ category: veterinary
11
+ tags: [veterinary, records, compliance, audit, patients]
12
+ schedule: "0 10 * * 3"
13
+ timezone: "UTC"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Review a sample of {{sample_size}} recent patient records from
17
+ {{practice_management_system}}, prioritizing patients seen in the last
18
+ {{lookback_days}} days.
19
+ 1. For each record, check whether the following are present and current:
20
+ current weight, vaccine history, known allergies (or "none recorded"
21
+ explicitly, not just blank), and microchip number.
22
+ 2. List each record with missing fields, grouped by which field is
23
+ missing most often across the sample — that's usually the intake
24
+ step actually breaking down.
25
+ 3. Flag any record where an allergy field is blank rather than
26
+ explicitly marked "none" — a blank field is ambiguous and riskier
27
+ than a marked "none."
28
+ 4. Suggest one process fix if the same field is missing across most of
29
+ the sample (e.g. "weight isn't being logged at check-in").
30
+ variables:
31
+ practice_management_system:
32
+ default: "your practice management system"
33
+ description: Name of the system where patient records live.
34
+ sample_size:
35
+ default: 20
36
+ description: Number of recent records to sample for the audit.
37
+ lookback_days:
38
+ default: 30
39
+ description: How far back to pull records from for the sample.
40
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
41
+ notes: Sampling audit, not a full chart review — use findings to spot a broken intake step, not to grade individual staff.
@@ -0,0 +1,36 @@
1
+ id: pet-medication-refill-backlog-check
2
+ version: 1
3
+ name: Pet Medication Refill Request Backlog Check
4
+ description: >
5
+ Checks pending prescription/food refill requests against how long
6
+ they've been waiting and flags anything past a reasonable turnaround.
7
+ Use this if a client has ever run out of a pet's chronic medication
8
+ (e.g. thyroid or seizure medication) because a refill request sat
9
+ unanswered in the queue over a weekend.
10
+ category: veterinary
11
+ tags: [veterinary, prescriptions, refills, patients, medication]
12
+ schedule: "0 9,15 * * 1-5"
13
+ timezone: "UTC"
14
+ runner: shell
15
+ command: >
16
+ today=$(date +%s);
17
+ awk -F',' -v today="$today" -v hours="{{escalate_after_hours}}" '
18
+ NR==1 {next}
19
+ $4 == "pending" {
20
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
21
+ cmd | getline requested_epoch; close(cmd);
22
+ age_hours = (today - requested_epoch) / 3600;
23
+ if (age_hours >= hours) {
24
+ printf "REFILL PENDING: %s (%s) — %s requested %s (%d hrs ago)\n", $1, $2, $5, $3, age_hours;
25
+ }
26
+ }
27
+ ' "{{refill_requests_csv_path}}"
28
+ variables:
29
+ refill_requests_csv_path:
30
+ default: "./pet-refill-requests.csv"
31
+ description: "Path to a CSV with columns: pet_name,owner_name,requested_date (YYYY-MM-DD),status (pending/approved/denied),medication."
32
+ escalate_after_hours:
33
+ default: 48
34
+ description: Hours a refill request can sit pending before it's flagged.
35
+ compatible_agents: [generic, claude, codex]
36
+ notes: Read-only triage — actual approval of a refill is a clinical decision made by the veterinarian, not this job. Flag chronic/maintenance medications for priority handling.
@@ -0,0 +1,39 @@
1
+ id: puppy-kitten-vaccine-series-compliance-check
2
+ version: 1
3
+ name: Puppy/Kitten Vaccine Series Compliance Check
4
+ description: >
5
+ Tracks young patients partway through their initial multi-dose vaccine
6
+ series and flags anyone who missed the next dose window. Use this if a
7
+ puppy or kitten has ever fallen off after the first shot in a series,
8
+ leaving them under-protected because nobody tracked series progress
9
+ separately from routine adult booster due dates — distinct from
10
+ pet-vaccine-due-reminder.yaml, which tracks single due-date reminders
11
+ rather than a multi-dose series with its own interval rules.
12
+ category: veterinary
13
+ tags: [veterinary, vaccine, puppy, kitten, patients]
14
+ schedule: "0 8 * * *"
15
+ timezone: "UTC"
16
+ runner: agent-prompt
17
+ prompt: |
18
+ Review the puppy/kitten vaccine series tracking export from
19
+ {{practice_management_system}} for patients currently mid-series
20
+ (i.e. have had at least one dose of a multi-dose series but not the
21
+ final dose).
22
+ 1. For each patient, note the series (e.g. DHPP, FVRCP), which dose
23
+ number they're on, the date of their last dose, and the
24
+ recommended interval to the next dose ({{series_interval_weeks}}
25
+ weeks is typical but confirm against the specific vaccine's label).
26
+ 2. Flag anyone past their expected next-dose window with no
27
+ appointment booked.
28
+ 3. Sort by most overdue first, since a gap in a puppy/kitten series
29
+ can mean restarting the series depending on how long the gap was.
30
+ 4. Draft a short reminder message per overdue patient for the owner.
31
+ variables:
32
+ practice_management_system:
33
+ default: "your practice management system"
34
+ description: Name of the system where vaccine series records live.
35
+ series_interval_weeks:
36
+ default: 3
37
+ description: Typical interval in weeks between doses in a puppy/kitten vaccine series (varies by vaccine and product label).
38
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
39
+ notes: Draft-only — always confirm dosing interval and restart rules against the specific vaccine manufacturer's label, since gap tolerance varies by product.
@@ -0,0 +1,43 @@
1
+ id: senior-pet-wellness-recall-tracker
2
+ version: 1
3
+ name: Senior Pet Wellness Recall Tracker
4
+ description: >
5
+ Finds senior pets (past a configurable age threshold) who are overdue
6
+ for a semi-annual senior wellness exam or bloodwork panel and drafts
7
+ outreach. Use this if an older pet has ever gone a full year between
8
+ visits when twice-yearly senior screening would have caught a treatable
9
+ condition early — distinct from pet-vaccine-due-reminder.yaml, which
10
+ tracks vaccine due dates rather than age-based wellness screening
11
+ cadence.
12
+ category: veterinary
13
+ tags: [veterinary, senior-pets, wellness, recall, outreach]
14
+ schedule: "0 8 1 * *"
15
+ timezone: "UTC"
16
+ runner: agent-prompt
17
+ prompt: |
18
+ Check {{practice_management_system}} for patients aged
19
+ {{senior_age_threshold_years}} years or older whose last wellness
20
+ exam or senior bloodwork panel was more than
21
+ {{recall_interval_months}} months ago, with no future appointment
22
+ booked.
23
+ 1. List each pet, species/breed if known, last visit date, and how
24
+ overdue they are.
25
+ 2. Sort by most overdue first.
26
+ 3. Draft a short outreach message per pet (or a reusable template)
27
+ inviting the owner to book a senior wellness visit, mentioning
28
+ that early screening catches age-related conditions while they're
29
+ still manageable.
30
+ 4. Separately call out any pet more than double the recall interval
31
+ overdue.
32
+ variables:
33
+ practice_management_system:
34
+ default: "your practice management system"
35
+ description: Name of the system where appointment history lives.
36
+ senior_age_threshold_years:
37
+ default: 7
38
+ description: Age in years at which a pet is treated as a senior for recall purposes.
39
+ recall_interval_months:
40
+ default: 6
41
+ description: How many months between senior wellness visits before a pet counts as due.
42
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
43
+ notes: Draft-only — outreach messages should be reviewed by staff before sending. Senior age threshold varies by species/breed; adjust the default per your patient mix.
@@ -0,0 +1,35 @@
1
+ id: spay-neuter-followup-compliance-check
2
+ version: 1
3
+ name: Spay/Neuter Post-Op Follow-Up Compliance Check
4
+ description: >
5
+ Checks which spay/neuter patients are due for their post-op recheck
6
+ (incision check, suture removal) and haven't had one logged. Use this
7
+ if a pet has ever developed an incision complication that would have
8
+ been caught at a recheck nobody scheduled or confirmed happened.
9
+ category: veterinary
10
+ tags: [veterinary, surgery, post-op, follow-up, compliance]
11
+ schedule: "0 8 * * *"
12
+ timezone: "UTC"
13
+ runner: shell
14
+ command: >
15
+ today=$(date +%s);
16
+ awk -F',' -v today="$today" -v window="{{recheck_window_days}}" '
17
+ NR==1 {next}
18
+ $4 != "completed" {
19
+ cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $2 "\" +%s 2>/dev/null";
20
+ cmd | getline surgery_epoch; close(cmd);
21
+ days_since = (today - surgery_epoch) / 86400;
22
+ if (days_since >= window) {
23
+ printf "NO RECHECK LOGGED: %s (%s) — surgery %s, %d days ago, recheck status: %s\n", $1, $3, $2, days_since, $4;
24
+ }
25
+ }
26
+ ' "{{spay_neuter_csv_path}}"
27
+ variables:
28
+ spay_neuter_csv_path:
29
+ default: "./spay-neuter-cases.csv"
30
+ description: "Path to a CSV with columns: pet_name,surgery_date (YYYY-MM-DD),owner_name,recheck_status (scheduled/completed/none)."
31
+ recheck_window_days:
32
+ default: 10
33
+ description: Days after surgery by which a post-op recheck should be scheduled or completed.
34
+ compatible_agents: [generic, claude, codex]
35
+ notes: Assumes a maintained export from your practice management system — this is a backstop for cases that fell out of the recheck workflow, not a substitute for discharge instructions.
@@ -0,0 +1,38 @@
1
+ id: specialist-referral-followup-check
2
+ version: 1
3
+ name: Veterinary Specialist Referral Follow-Up Check
4
+ description: >
5
+ Checks outbound referrals to veterinary specialists (cardiology,
6
+ oncology, orthopedic surgery, etc.) that haven't been scheduled or
7
+ completed within a set window and flags them for follow-up. Use this
8
+ if a pet has ever been referred out for a serious condition and the
9
+ primary clinic never confirmed the owner actually followed through and
10
+ got the specialist appointment.
11
+ category: veterinary
12
+ tags: [veterinary, referrals, specialists, follow-up, care-coordination]
13
+ schedule: "0 8 * * 1-5"
14
+ timezone: "UTC"
15
+ runner: shell
16
+ command: >
17
+ today=$(date +%s);
18
+ awk -F',' -v today="$today" -v days="{{stale_days}}" '
19
+ NR==1 {next}
20
+ $4 != "" {next}
21
+ {
22
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
23
+ cmd | getline sent_epoch; close(cmd);
24
+ pending_days = (today - sent_epoch) / 86400;
25
+ if (pending_days >= days) {
26
+ printf "STALE REFERRAL: %s -> %s (%s) sent %s (%d days pending, no scheduled date)\n", $1, $2, $5, $3, pending_days;
27
+ }
28
+ }
29
+ ' "{{referrals_csv_path}}"
30
+ variables:
31
+ referrals_csv_path:
32
+ default: "./specialist-referrals.csv"
33
+ description: "Path to a CSV with columns: pet_name,specialist_name,referral_sent_date (YYYY-MM-DD),scheduled_date (blank if not yet scheduled),specialty."
34
+ stale_days:
35
+ default: 14
36
+ description: Days since a referral was sent, with no scheduled date, before it's flagged.
37
+ compatible_agents: [generic, claude, codex]
38
+ notes: Assumes a maintained CSV export of outbound specialist referrals from your practice management system; adjust columns to match your export.