@wonsukchoi/crondex 0.21.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 (275) hide show
  1. package/README.md +31 -44
  2. package/catalog.json +8862 -1873
  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/ecommerce/affiliate-commission-payout-check.yaml +38 -0
  31. package/jobs/ecommerce/back-in-stock-notification-backlog-check.yaml +30 -0
  32. package/jobs/ecommerce/bundle-component-stock-mismatch-check.yaml +37 -0
  33. package/jobs/ecommerce/chargeback-fraud-risk-order-review.yaml +43 -0
  34. package/jobs/ecommerce/competitor-price-watch.yaml +60 -0
  35. package/jobs/ecommerce/economic-nexus-threshold-check.yaml +43 -0
  36. package/jobs/ecommerce/failed-payment-dunning-check.yaml +35 -0
  37. package/jobs/ecommerce/marketplace-listing-sync-drift-check.yaml +48 -0
  38. package/jobs/ecommerce/product-feed-health-check.yaml +35 -0
  39. package/jobs/ecommerce/purchase-order-overdue-check.yaml +32 -0
  40. package/jobs/ecommerce/storefront-ssl-domain-expiry-check.yaml +46 -0
  41. package/jobs/ecommerce/vip-tier-reclassification-check.yaml +55 -0
  42. package/jobs/ecommerce/wishlist-abandonment-check.yaml +37 -0
  43. package/jobs/education/chronic-absenteeism-tracker.yaml +34 -0
  44. package/jobs/education/department-budget-variance-check.yaml +37 -0
  45. package/jobs/education/enrollment-withdrawal-trend-tracker.yaml +39 -0
  46. package/jobs/education/facility-work-order-backlog-check.yaml +34 -0
  47. package/jobs/education/free-reduced-lunch-eligibility-renewal-check.yaml +36 -0
  48. package/jobs/education/iep-504-review-deadline-tracker.yaml +35 -0
  49. package/jobs/education/parent-teacher-conference-noshow-tracker.yaml +29 -0
  50. package/jobs/education/school-bus-route-ontime-check.yaml +40 -0
  51. package/jobs/education/standardized-test-registration-deadline-check.yaml +35 -0
  52. package/jobs/education/substitute-teacher-fill-rate-tracker.yaml +35 -0
  53. package/jobs/education/teacher-certification-expiry-tracker.yaml +35 -0
  54. package/jobs/education/textbook-inventory-shortage-check.yaml +32 -0
  55. package/jobs/finance/accounts-payable-aging-check.yaml +40 -0
  56. package/jobs/finance/bank-statement-reconciliation-check.yaml +40 -0
  57. package/jobs/finance/budget-vs-actual-variance-report.yaml +38 -0
  58. package/jobs/finance/contractor-1099-threshold-tracker.yaml +43 -0
  59. package/jobs/finance/credit-utilization-watch.yaml +40 -0
  60. package/jobs/finance/duplicate-payment-detection.yaml +43 -0
  61. package/jobs/finance/expense-report-compliance-check.yaml +46 -0
  62. package/jobs/finance/late-fee-interest-risk-check.yaml +43 -0
  63. package/jobs/finance/loan-covenant-compliance-check.yaml +37 -0
  64. package/jobs/finance/month-end-close-checklist-tracker.yaml +39 -0
  65. package/jobs/finance/multi-account-cash-position-rollup.yaml +45 -0
  66. package/jobs/finance/petty-cash-float-reconciliation.yaml +43 -0
  67. package/jobs/finance/quarterly-estimated-tax-calculator.yaml +66 -0
  68. package/jobs/finance/vendor-early-pay-discount-tracker.yaml +45 -0
  69. package/jobs/fleet/accident-incident-report-tracker.yaml +34 -0
  70. package/jobs/fleet/driver-mvr-review-tracker.yaml +34 -0
  71. package/jobs/fleet/driver-safety-score-monitor.yaml +39 -0
  72. package/jobs/fleet/ev-battery-health-check.yaml +36 -0
  73. package/jobs/fleet/fuel-efficiency-trend-monitor.yaml +33 -0
  74. package/jobs/fleet/geofence-violation-check.yaml +37 -0
  75. package/jobs/fleet/lease-return-condition-check.yaml +33 -0
  76. package/jobs/fleet/tire-wear-replacement-check.yaml +30 -0
  77. package/jobs/fleet/toll-violation-tracker.yaml +34 -0
  78. package/jobs/fleet/vehicle-pool-scheduling-conflict-check.yaml +37 -0
  79. package/jobs/fleet/vehicle-tco-tracker.yaml +41 -0
  80. package/jobs/fleet/vehicle-utilization-rate-check.yaml +37 -0
  81. package/jobs/growth/cohort-retention-curve-monitor.yaml +39 -0
  82. package/jobs/growth/customer-health-score-monitor.yaml +37 -0
  83. package/jobs/growth/dau-mau-engagement-ratio-check.yaml +39 -0
  84. package/jobs/growth/dormant-account-reactivation-check.yaml +39 -0
  85. package/jobs/growth/expansion-revenue-opportunity-tracker.yaml +44 -0
  86. package/jobs/growth/feature-adoption-rate-tracker.yaml +44 -0
  87. package/jobs/growth/nps-trend-tracker.yaml +40 -0
  88. package/jobs/growth/onboarding-funnel-dropoff-check.yaml +39 -0
  89. package/jobs/growth/paywall-upgrade-prompt-conversion-check.yaml +40 -0
  90. package/jobs/growth/product-qualified-lead-tracker.yaml +42 -0
  91. package/jobs/growth/referral-program-performance-tracker.yaml +35 -0
  92. package/jobs/growth/trial-to-paid-conversion-rate-tracker.yaml +48 -0
  93. package/jobs/growth/winback-reactivation-campaign-tracker.yaml +46 -0
  94. package/jobs/healthcare/appointment-slot-utilization-check.yaml +56 -0
  95. package/jobs/healthcare/claims-denial-resubmission-check.yaml +43 -0
  96. package/jobs/healthcare/clinical-supply-low-stock-check.yaml +30 -0
  97. package/jobs/healthcare/controlled-substance-inventory-reconciliation.yaml +42 -0
  98. package/jobs/healthcare/hipaa-access-log-audit.yaml +74 -0
  99. package/jobs/healthcare/patient-balance-collections-aging-check.yaml +41 -0
  100. package/jobs/healthcare/patient-immunization-schedule-check.yaml +41 -0
  101. package/jobs/healthcare/patient-portal-message-backlog-check.yaml +39 -0
  102. package/jobs/healthcare/patient-satisfaction-survey-tracking.yaml +59 -0
  103. package/jobs/healthcare/prescription-refill-request-backlog-check.yaml +38 -0
  104. package/jobs/healthcare/prior-authorization-expiry-check.yaml +53 -0
  105. package/jobs/healthcare/staff-cme-credit-tracking.yaml +41 -0
  106. package/jobs/healthcare/telehealth-session-issue-check.yaml +51 -0
  107. package/jobs/hospitality/adr-revpar-tracker.yaml +43 -0
  108. package/jobs/hospitality/cancellation-rate-spike-check.yaml +21 -0
  109. package/jobs/hospitality/group-booking-space-utilization-check.yaml +40 -0
  110. package/jobs/hospitality/guest-complaint-sla-tracker.yaml +34 -0
  111. package/jobs/hospitality/guest-satisfaction-score-monitor.yaml +41 -0
  112. package/jobs/hospitality/linen-inventory-turnover-check.yaml +35 -0
  113. package/jobs/hospitality/loyalty-points-reconciliation-check.yaml +33 -0
  114. package/jobs/hospitality/minibar-charge-reconciliation-check.yaml +38 -0
  115. package/jobs/hospitality/occupancy-forecast-variance-check.yaml +33 -0
  116. package/jobs/hospitality/ota-rate-parity-check.yaml +36 -0
  117. package/jobs/hospitality/overbooking-risk-alert.yaml +38 -0
  118. package/jobs/hospitality/room-maintenance-work-order-tracker.yaml +31 -0
  119. package/jobs/hospitality/upsell-upgrade-conversion-tracker.yaml +37 -0
  120. package/jobs/hr/aca-fte-threshold-monitor.yaml +44 -0
  121. package/jobs/hr/cobra-notification-deadline-tracker.yaml +47 -0
  122. package/jobs/hr/compliance-training-completion-check.yaml +41 -0
  123. package/jobs/hr/eeo1-filing-deadline-reminder.yaml +37 -0
  124. package/jobs/hr/handbook-acknowledgment-tracking.yaml +34 -0
  125. package/jobs/hr/headcount-budget-variance-check.yaml +37 -0
  126. package/jobs/hr/leave-of-absence-return-tracker.yaml +42 -0
  127. package/jobs/hr/org-chart-manager-drift-check.yaml +40 -0
  128. package/jobs/hr/pay-equity-band-outlier-check.yaml +58 -0
  129. package/jobs/hr/pto-year-end-use-it-or-lose-it-check.yaml +49 -0
  130. package/jobs/hr/retirement-plan-enrollment-deadline-check.yaml +40 -0
  131. package/jobs/hr/workers-comp-claim-status-check.yaml +42 -0
  132. package/jobs/insurance/adjuster-caseload-balance-check.yaml +45 -0
  133. package/jobs/insurance/agent-broker-license-expiry-tracker.yaml +40 -0
  134. package/jobs/insurance/cat-event-exposure-monitor.yaml +37 -0
  135. package/jobs/insurance/claims-aging-backlog-tracker.yaml +48 -0
  136. package/jobs/insurance/doi-filing-deadline-tracker.yaml +42 -0
  137. package/jobs/insurance/loss-ratio-by-line-monitor.yaml +43 -0
  138. package/jobs/insurance/policy-lapse-rate-monitor.yaml +41 -0
  139. package/jobs/insurance/premium-payment-delinquency-tracker.yaml +42 -0
  140. package/jobs/insurance/quote-to-bind-conversion-tracker.yaml +41 -0
  141. package/jobs/insurance/reinsurance-treaty-renewal-tracker.yaml +38 -0
  142. package/jobs/insurance/siu-fraud-referral-tracker.yaml +36 -0
  143. package/jobs/insurance/subrogation-recovery-tracker.yaml +41 -0
  144. package/jobs/insurance/underwriting-queue-sla-monitor.yaml +45 -0
  145. package/jobs/legal/conflict-of-interest-check-tracker.yaml +38 -0
  146. package/jobs/legal/corporate-minute-book-completeness-check.yaml +31 -0
  147. package/jobs/legal/data-privacy-request-deadline-tracker.yaml +61 -0
  148. package/jobs/legal/entity-authority-document-expiry-check.yaml +37 -0
  149. package/jobs/legal/legal-document-retention-purge-review.yaml +39 -0
  150. package/jobs/legal/litigation-hold-acknowledgment-tracker.yaml +40 -0
  151. package/jobs/legal/non-compete-expiry-tracker.yaml +37 -0
  152. package/jobs/legal/outside-counsel-invoice-budget-check.yaml +37 -0
  153. package/jobs/legal/settlement-payment-schedule-tracker.yaml +34 -0
  154. package/jobs/legal/timekeeper-billable-hours-compliance-check.yaml +39 -0
  155. package/jobs/legal/trademark-infringement-watch.yaml +43 -0
  156. package/jobs/legal/vendor-coi-expiry-tracker.yaml +37 -0
  157. package/jobs/logistics/3pl-performance-scorecard.yaml +45 -0
  158. package/jobs/logistics/bol-freight-class-accuracy-audit.yaml +33 -0
  159. package/jobs/logistics/cargo-insurance-claim-status-check.yaml +39 -0
  160. package/jobs/logistics/carrier-load-tender-acceptance-check.yaml +34 -0
  161. package/jobs/logistics/carrier-otd-performance-scorecard.yaml +41 -0
  162. package/jobs/logistics/carrier-rate-contract-renewal-check.yaml +35 -0
  163. package/jobs/logistics/cross-dock-dwell-time-watch.yaml +43 -0
  164. package/jobs/logistics/freight-invoice-rate-audit.yaml +38 -0
  165. package/jobs/logistics/fuel-surcharge-rate-monitor.yaml +40 -0
  166. package/jobs/logistics/international-shipment-documentation-check.yaml +36 -0
  167. package/jobs/logistics/linehaul-transit-time-variance-check.yaml +43 -0
  168. package/jobs/logistics/proof-of-delivery-reconciliation-check.yaml +38 -0
  169. package/jobs/logistics/route-load-optimization-check.yaml +32 -0
  170. package/jobs/manufacturing/changeover-time-tracker.yaml +29 -0
  171. package/jobs/manufacturing/critical-spare-parts-stock-check.yaml +29 -0
  172. package/jobs/manufacturing/first-pass-yield-report.yaml +37 -0
  173. package/jobs/manufacturing/lot-traceability-audit.yaml +37 -0
  174. package/jobs/manufacturing/non-conformance-report-backlog-check.yaml +34 -0
  175. package/jobs/manufacturing/oee-efficiency-check.yaml +37 -0
  176. package/jobs/manufacturing/osha-recordable-incident-audit.yaml +37 -0
  177. package/jobs/manufacturing/production-schedule-adherence-check.yaml +35 -0
  178. package/jobs/manufacturing/safety-certification-expiry-check.yaml +37 -0
  179. package/jobs/manufacturing/scrap-waste-rate-watch.yaml +33 -0
  180. package/jobs/manufacturing/shift-handoff-report.yaml +37 -0
  181. package/jobs/manufacturing/supplier-quality-ppm-watch.yaml +38 -0
  182. package/jobs/manufacturing/tooling-die-wear-check.yaml +31 -0
  183. package/jobs/manufacturing/work-order-backlog-check.yaml +37 -0
  184. package/jobs/marketing/ad-creative-fatigue-check.yaml +44 -0
  185. package/jobs/marketing/affiliate-partner-performance-check.yaml +38 -0
  186. package/jobs/marketing/attribution-discrepancy-check.yaml +42 -0
  187. package/jobs/marketing/brand-share-of-voice-check.yaml +43 -0
  188. package/jobs/marketing/campaign-roas-cpa-anomaly-check.yaml +41 -0
  189. package/jobs/marketing/competitor-ad-creative-watch.yaml +40 -0
  190. package/jobs/marketing/email-list-growth-rate-check.yaml +43 -0
  191. package/jobs/marketing/landing-page-conversion-drop-check.yaml +44 -0
  192. package/jobs/marketing/mql-to-sql-handoff-sla-check.yaml +29 -0
  193. package/jobs/marketing/mql-volume-pace-check.yaml +34 -0
  194. package/jobs/marketing/paid-search-negative-keyword-waste-check.yaml +37 -0
  195. package/jobs/marketing/press-release-pickup-tracking.yaml +32 -0
  196. package/jobs/marketing/webinar-registration-attendance-check.yaml +38 -0
  197. package/jobs/realestate/capital-reserve-fund-threshold-check.yaml +32 -0
  198. package/jobs/realestate/eviction-notice-deadline-tracker.yaml +37 -0
  199. package/jobs/realestate/landlord-insurance-claim-status-check.yaml +35 -0
  200. package/jobs/realestate/lease-renewal-offer-window-check.yaml +35 -0
  201. package/jobs/realestate/maintenance-request-sla-check.yaml +39 -0
  202. package/jobs/realestate/move-in-move-out-inspection-tracker.yaml +35 -0
  203. package/jobs/realestate/rent-increase-notice-deadline-check.yaml +54 -0
  204. package/jobs/realestate/rent-roll-vacancy-loss-report.yaml +32 -0
  205. package/jobs/realestate/rental-license-renewal-check.yaml +35 -0
  206. package/jobs/realestate/security-deposit-return-deadline-check.yaml +38 -0
  207. package/jobs/realestate/tenant-application-review-backlog-check.yaml +35 -0
  208. package/jobs/realestate/tenant-renters-insurance-compliance-check.yaml +35 -0
  209. package/jobs/realestate/utility-billback-reconciliation-check.yaml +41 -0
  210. package/jobs/restaurant/comp-void-anomaly-tracker.yaml +39 -0
  211. package/jobs/restaurant/daily-sales-flash-report.yaml +36 -0
  212. package/jobs/restaurant/delivery-platform-commission-reconciliation.yaml +33 -0
  213. package/jobs/restaurant/delivery-receiving-discrepancy-check.yaml +33 -0
  214. package/jobs/restaurant/food-handler-permit-expiry-tracker.yaml +33 -0
  215. package/jobs/restaurant/gift-card-liability-check.yaml +45 -0
  216. package/jobs/restaurant/kitchen-ticket-time-watch.yaml +38 -0
  217. package/jobs/restaurant/liquor-pour-cost-variance-check.yaml +34 -0
  218. package/jobs/restaurant/menu-86-frequency-tracker.yaml +39 -0
  219. package/jobs/restaurant/menu-item-profitability-check.yaml +33 -0
  220. package/jobs/restaurant/pos-end-of-day-reconciliation-check.yaml +31 -0
  221. package/jobs/restaurant/table-turnover-rate-tracker.yaml +36 -0
  222. package/jobs/restaurant/waitlist-conversion-check.yaml +37 -0
  223. package/jobs/retail/cash-office-deposit-variance-check.yaml +34 -0
  224. package/jobs/retail/competitor-price-monitoring-check.yaml +42 -0
  225. package/jobs/retail/damaged-merchandise-writeoff-tracker.yaml +41 -0
  226. package/jobs/retail/employee-discount-abuse-check.yaml +39 -0
  227. package/jobs/retail/layaway-special-order-pickup-tracker.yaml +33 -0
  228. package/jobs/retail/loyalty-enrollment-redemption-rate-tracker.yaml +37 -0
  229. package/jobs/retail/markdown-execution-audit-check.yaml +29 -0
  230. package/jobs/retail/planogram-compliance-audit-check.yaml +36 -0
  231. package/jobs/retail/pos-void-refund-anomaly-tracker.yaml +42 -0
  232. package/jobs/retail/price-tag-audit-accuracy-check.yaml +37 -0
  233. package/jobs/retail/sales-per-square-foot-tracker.yaml +36 -0
  234. package/jobs/retail/seasonal-staffing-coverage-check.yaml +35 -0
  235. package/jobs/retail/store-closing-checklist-compliance-check.yaml +32 -0
  236. package/jobs/retail/visual-merchandising-compliance-check.yaml +40 -0
  237. package/jobs/sales/champion-departure-watch.yaml +44 -0
  238. package/jobs/sales/closed-lost-reason-audit.yaml +42 -0
  239. package/jobs/sales/commission-payout-tracker.yaml +32 -0
  240. package/jobs/sales/contract-renewal-opportunity-tracker.yaml +28 -0
  241. package/jobs/sales/discount-approval-pending-check.yaml +31 -0
  242. package/jobs/sales/forecast-submission-compliance-check.yaml +42 -0
  243. package/jobs/sales/multi-year-renewal-escalation-tracker.yaml +31 -0
  244. package/jobs/sales/pipeline-hygiene-audit.yaml +26 -0
  245. package/jobs/sales/poc-trial-conversion-tracker.yaml +29 -0
  246. package/jobs/sales/referral-followup-tracker.yaml +40 -0
  247. package/jobs/sales/territory-coverage-gap-check.yaml +43 -0
  248. package/jobs/veterinary/appointment-no-show-rate-tracker.yaml +49 -0
  249. package/jobs/veterinary/boarding-kennel-capacity-utilization-check.yaml +39 -0
  250. package/jobs/veterinary/client-payment-plan-delinquency-check.yaml +36 -0
  251. package/jobs/veterinary/dvm-license-dea-registration-expiry-check.yaml +41 -0
  252. package/jobs/veterinary/microchip-registration-verification-check.yaml +40 -0
  253. package/jobs/veterinary/patient-record-completeness-audit.yaml +41 -0
  254. package/jobs/veterinary/pet-medication-refill-backlog-check.yaml +36 -0
  255. package/jobs/veterinary/puppy-kitten-vaccine-series-compliance-check.yaml +39 -0
  256. package/jobs/veterinary/senior-pet-wellness-recall-tracker.yaml +43 -0
  257. package/jobs/veterinary/spay-neuter-followup-compliance-check.yaml +35 -0
  258. package/jobs/veterinary/specialist-referral-followup-check.yaml +38 -0
  259. package/jobs/veterinary/surgical-schedule-utilization-check.yaml +36 -0
  260. package/jobs/veterinary/vet-staff-ce-credit-tracking.yaml +36 -0
  261. package/jobs/warehousing/conveyor-sortation-downtime-watch.yaml +48 -0
  262. package/jobs/warehousing/labor-productivity-rate-check.yaml +33 -0
  263. package/jobs/warehousing/mhe-preventive-maintenance-check.yaml +38 -0
  264. package/jobs/warehousing/order-fulfillment-sla-watch.yaml +42 -0
  265. package/jobs/warehousing/shift-headcount-coverage-check.yaml +33 -0
  266. package/jobs/warehousing/slotting-velocity-review-check.yaml +44 -0
  267. package/jobs/warehousing/warehouse-damage-writeoff-review.yaml +41 -0
  268. package/jobs/warehousing/warehouse-near-miss-incident-rate-watch.yaml +47 -0
  269. package/jobs/warehousing/warehouse-space-utilization-check.yaml +39 -0
  270. package/jobs/warehousing/wave-pick-batch-efficiency-check.yaml +33 -0
  271. package/jobs/warehousing/wms-integration-error-check.yaml +36 -0
  272. package/jobs/warehousing/yard-trailer-detention-watch.yaml +41 -0
  273. package/lib/category-descriptions.js +12 -12
  274. package/lib/duplicates-allowlist.js +15 -0
  275. package/package.json +2 -2
@@ -0,0 +1,36 @@
1
+ id: daily-sales-flash-report
2
+ version: 1
3
+ name: Daily Sales Flash Report
4
+ description: >
5
+ Pulls yesterday's key sales numbers (net sales, covers, average check,
6
+ comp/void total) and compares them against the same day last week and
7
+ last year, then writes a short flash summary. Use this if you've ever
8
+ wanted a same-day read on how the restaurant performed without
9
+ waiting for the full weekly P&L close.
10
+ category: restaurant
11
+ tags: [restaurant, sales, flash-report, reporting]
12
+ schedule: "0 7 * * *"
13
+ timezone: "America/New_York"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Pull yesterday's sales summary from {{pos_system}}: net sales, covers,
17
+ average check, comp/void total, and sales by daypart if available.
18
+ 1. Also pull the same weekday from last week and, if available, the
19
+ same date last year for comparison.
20
+ 2. Present a short flash summary: yesterday's numbers, % change vs.
21
+ last week same day, and % change vs. last year same date.
22
+ 3. Flag anything notably off-trend (net sales or covers down more
23
+ than {{flag_threshold_pct}}% vs. last week same day) with a
24
+ one-line possible explanation if context is available (weather,
25
+ local event, holiday).
26
+ 4. Keep the whole report to a few sentences plus the numbers table —
27
+ this is a same-day pulse check, not a full P&L.
28
+ variables:
29
+ pos_system:
30
+ default: "your POS system"
31
+ description: Name of the point-of-sale system (e.g. "Toast", "Square", "Aloha").
32
+ flag_threshold_pct:
33
+ default: 15
34
+ description: Percentage decline vs. last week same day that triggers a flag in the summary.
35
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
36
+ notes: A same-day directional pulse check, not a substitute for the formal weekly/period close that feeds food-cost-percentage-watch and labor-cost-percentage-watch.
@@ -0,0 +1,33 @@
1
+ id: delivery-platform-commission-reconciliation
2
+ version: 1
3
+ name: Third-Party Delivery Commission Reconciliation
4
+ description: >
5
+ Recalculates what a delivery platform (DoorDash, Uber Eats, Grubhub)
6
+ should have paid out after commission and fees, and flags orders
7
+ where the actual payout came in lower than expected. Use this if
8
+ you've ever suspected a delivery platform's payout report doesn't
9
+ quite match its own published commission rate but never checked.
10
+ category: restaurant
11
+ tags: [restaurant, delivery, commission, reconciliation, third-party]
12
+ schedule: "0 9 * * 1"
13
+ timezone: "America/New_York"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v tolerance="{{variance_tolerance_usd}}" '
17
+ NR==1 {next}
18
+ {
19
+ expected = $2 * (1 - ($3 / 100)) - $4;
20
+ diff = expected - $5;
21
+ absdiff = (diff < 0) ? -diff : diff;
22
+ if (absdiff > tolerance) printf "PAYOUT MISMATCH: order %s (%s) — expected payout $%.2f, actual $%.2f (diff $%.2f)\n", $1, $6, expected, $5, diff;
23
+ }
24
+ ' "{{delivery_payout_csv}}"
25
+ variables:
26
+ delivery_payout_csv:
27
+ default: "./delivery-payouts.csv"
28
+ description: "CSV with header row, columns: order_id,order_subtotal_usd,commission_pct,other_fees_usd,actual_payout_usd,platform_name."
29
+ variance_tolerance_usd:
30
+ default: 1
31
+ description: Dollar variance allowed between expected and actual payout before an order is flagged.
32
+ compatible_agents: [generic, claude, codex]
33
+ notes: Pull order_subtotal_usd and actual_payout_usd from the platform's own payout CSV export; commission_pct should match your current contracted rate, which platforms occasionally change without a clear notice.
@@ -0,0 +1,33 @@
1
+ id: delivery-receiving-discrepancy-check
2
+ version: 1
3
+ name: Supplier Delivery Receiving Discrepancy Check
4
+ description: >
5
+ Compares what was ordered from a supplier against what was actually
6
+ received on the delivery receiving log and flags shortages or
7
+ overages. Use this if a supplier has ever shorted a case of product
8
+ and it only got noticed mid-service when the kitchen ran out.
9
+ category: restaurant
10
+ tags: [restaurant, suppliers, receiving, inventory]
11
+ schedule: "0 12 * * *"
12
+ timezone: "America/New_York"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v tolerance="{{qty_tolerance_pct}}" '
16
+ NR==1 {next}
17
+ {
18
+ if ($2 > 0) {
19
+ diff_pct = (($3 - $2) / $2) * 100;
20
+ absdiff = (diff_pct < 0) ? -diff_pct : diff_pct;
21
+ if (absdiff > tolerance) printf "DISCREPANCY: %s from %s — ordered %d, received %d (%.1f%% off)\n", $1, $4, $2, $3, diff_pct;
22
+ }
23
+ }
24
+ ' "{{receiving_log_csv}}"
25
+ variables:
26
+ receiving_log_csv:
27
+ default: "./receiving-log.csv"
28
+ description: "CSV with header row, columns: item_name,qty_ordered,qty_received,supplier_name — one row per delivered line item."
29
+ qty_tolerance_pct:
30
+ default: 5
31
+ description: Percentage difference between ordered and received quantity allowed before a line item is flagged.
32
+ compatible_agents: [generic, claude, codex]
33
+ notes: Have whoever signs for the delivery log qty_received per line before signing — this catches shortages/overages that a total-case-count check would miss.
@@ -0,0 +1,33 @@
1
+ id: food-handler-permit-expiry-tracker
2
+ version: 1
3
+ name: Food Handler Permit Expiry Tracker
4
+ description: >
5
+ Checks staff food handler permits and manager certifications
6
+ (ServSafe or your local equivalent) against their expiration dates
7
+ and flags anyone expiring soon. Use this if a health inspector has
8
+ ever asked for a permit that had quietly lapsed weeks earlier.
9
+ category: restaurant
10
+ tags: [restaurant, compliance, certification, staff]
11
+ schedule: "0 8 1 * *"
12
+ timezone: "America/New_York"
13
+ runner: shell
14
+ command: >
15
+ today=$(date +%s);
16
+ awk -F',' -v today="$today" -v warn="{{warn_days_before}}" '
17
+ NR==1 {next}
18
+ {
19
+ cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
20
+ cmd | getline expiry_epoch; close(cmd);
21
+ days_left = (expiry_epoch - today) / 86400;
22
+ if (days_left <= warn) printf "PERMIT EXPIRING: %s — %s expires %s (%d days left)\n", $1, $2, $3, days_left;
23
+ }
24
+ ' "{{food_handler_permits_csv}}"
25
+ variables:
26
+ food_handler_permits_csv:
27
+ default: "./food-handler-permits.csv"
28
+ description: "CSV with header row, columns: employee_name,permit_type,expiration_date (YYYY-MM-DD)."
29
+ warn_days_before:
30
+ default: 30
31
+ description: Days before expiration to start warning, giving time to schedule recertification.
32
+ compatible_agents: [generic, claude, codex]
33
+ notes: Requirements (which roles need a permit, renewal cadence) vary by state/county — confirm against your local health department before relying on this alone.
@@ -0,0 +1,45 @@
1
+ id: gift-card-liability-check
2
+ version: 1
3
+ name: Gift Card Liability Reconciliation
4
+ description: >
5
+ Reconciles total outstanding gift card balance (liability) against
6
+ cards sold minus cards redeemed for the period, and flags a mismatch
7
+ worth investigating. Use this if you've ever had to guess at your
8
+ gift card liability for the books instead of actually reconciling it.
9
+ category: restaurant
10
+ tags: [restaurant, gift-cards, finance, reconciliation]
11
+ schedule: "0 9 1 * *"
12
+ timezone: "America/New_York"
13
+ runner: shell
14
+ command: >
15
+ sold="{{gift_cards_sold_usd}}";
16
+ redeemed="{{gift_cards_redeemed_usd}}";
17
+ prior="{{prior_period_liability_usd}}";
18
+ ledger="{{current_ledger_balance_usd}}";
19
+ tolerance="{{variance_tolerance_usd}}";
20
+ expected=$(awk -v p="$prior" -v s="$sold" -v r="$redeemed" 'BEGIN{printf "%.2f", p+s-r}');
21
+ diff=$(awk -v e="$expected" -v l="$ledger" 'BEGIN{d=e-l; if (d<0) d=-d; printf "%.2f", d}');
22
+ if awk -v d="$diff" -v t="$tolerance" 'BEGIN{exit !(d > t)}'; then
23
+ echo "MISMATCH: expected liability \$$expected, ledger shows \$$ledger (diff \$$diff)";
24
+ exit 1;
25
+ else
26
+ echo "OK: gift card liability reconciles within tolerance (\$$diff diff)";
27
+ fi
28
+ variables:
29
+ gift_cards_sold_usd:
30
+ default: 0
31
+ description: Total value of gift cards sold during the period.
32
+ gift_cards_redeemed_usd:
33
+ default: 0
34
+ description: Total value of gift cards redeemed during the period.
35
+ prior_period_liability_usd:
36
+ default: 0
37
+ description: Outstanding gift card liability carried over from the prior period.
38
+ current_ledger_balance_usd:
39
+ default: 0
40
+ description: Current outstanding gift card balance as recorded in your accounting ledger.
41
+ variance_tolerance_usd:
42
+ default: 25
43
+ description: Dollar variance allowed before the reconciliation is flagged as a mismatch.
44
+ compatible_agents: [generic, claude, codex]
45
+ notes: This reconciles aggregate liability for the books, not individual card expiry — pair with a per-card expiry check if your state allows gift cards to expire.
@@ -0,0 +1,38 @@
1
+ id: kitchen-ticket-time-watch
2
+ version: 1
3
+ name: Kitchen Ticket Time Watch
4
+ description: >
5
+ Reviews kitchen display system ticket times (fire to plate-up) and
6
+ flags stations or dayparts running consistently slower than target.
7
+ Use this if slow ticket times have ever driven complaints or comps
8
+ before anyone traced it back to a specific station falling behind.
9
+ category: restaurant
10
+ tags: [restaurant, kitchen, kds, speed-of-service]
11
+ schedule: "0 10 * * 1"
12
+ timezone: "America/New_York"
13
+ runner: agent-prompt
14
+ prompt: |
15
+ Pull ticket time data from {{kds_system}} for the past
16
+ {{lookback_days}} days, including station, item, fire time, and
17
+ plate-up time.
18
+ 1. Calculate average ticket time overall and by station.
19
+ 2. Flag any station averaging above {{target_minutes}} minutes, and
20
+ note whether the slowness is concentrated at specific dayparts
21
+ (peak lunch/dinner rushes vs. slow periods).
22
+ 3. Identify the specific menu items driving the slowest tickets at
23
+ each flagged station.
24
+ 4. Suggest one concrete fix per flagged station — additional prep,
25
+ station staffing, or menu item batching — without recommending
26
+ cutting a dish outright unless it's clearly the only lever.
27
+ variables:
28
+ kds_system:
29
+ default: "your kitchen display system"
30
+ description: Name of the KDS (e.g. "Toast KDS", "QSR Automations", "a manual ticket-time log").
31
+ lookback_days:
32
+ default: 14
33
+ description: Window of ticket data to analyze.
34
+ target_minutes:
35
+ default: 15
36
+ description: Target average ticket time in minutes before a station is flagged as running slow.
37
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
38
+ notes: Read-only speed-of-service analysis — pair with kitchen leadership before making staffing changes based on the findings.
@@ -0,0 +1,34 @@
1
+ id: liquor-pour-cost-variance-check
2
+ version: 1
3
+ name: Liquor Pour Cost Variance Check
4
+ description: >
5
+ Compares each bottle's theoretical usage (from drinks sold) against
6
+ actual bottle depletion from inventory counts, and flags bottles
7
+ showing a variance that points to over-pouring, spillage, or theft.
8
+ Use this if the bar's overall liquor cost percentage looks fine but
9
+ you suspect a specific bottle is walking off faster than it's rung up.
10
+ category: restaurant
11
+ tags: [restaurant, bar, liquor-cost, inventory, loss-prevention]
12
+ schedule: "0 7 * * 1"
13
+ timezone: "America/New_York"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v tolerance="{{variance_tolerance_pct}}" '
17
+ NR==1 {next}
18
+ {
19
+ if ($2 > 0) {
20
+ variance_pct = (($3 - $2) / $2) * 100;
21
+ absvar = (variance_pct < 0) ? -variance_pct : variance_pct;
22
+ if (absvar > tolerance) printf "POUR VARIANCE: %s — theoretical usage %.1f oz, actual depletion %.1f oz (%.1f%% variance)\n", $1, $2, $3, variance_pct;
23
+ }
24
+ }
25
+ ' "{{pour_cost_csv}}"
26
+ variables:
27
+ pour_cost_csv:
28
+ default: "./liquor-pour-cost.csv"
29
+ description: "CSV with header row, columns: bottle_name,theoretical_usage_oz,actual_depletion_oz — theoretical comes from POS drink sales times recipe pour size, actual from physical bottle counts."
30
+ variance_tolerance_pct:
31
+ default: 10
32
+ description: Percentage variance (either direction) allowed before a bottle is flagged.
33
+ compatible_agents: [generic, claude, codex]
34
+ notes: Distinct from food-cost-percentage-watch and menu-item-profitability-check — this drills into per-bottle variance at the bar rather than an overall cost ratio or a food dish's margin.
@@ -0,0 +1,39 @@
1
+ id: menu-86-frequency-tracker
2
+ version: 1
3
+ name: Menu Item 86 Frequency Tracker
4
+ description: >
5
+ Reviews how often each menu item gets 86'd (marked sold out) mid-
6
+ service and flags items that run out repeatedly, which usually points
7
+ to a par-level or ordering problem rather than one bad night. Use
8
+ this if the same dish has ever been 86'd three Fridays in a row
9
+ before anyone connected the dots.
10
+ category: restaurant
11
+ tags: [restaurant, menu, kitchen, ordering, par-levels]
12
+ schedule: "0 10 * * 1"
13
+ timezone: "America/New_York"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Pull 86 (sold-out) log entries from {{pos_or_kitchen_log}} for the
17
+ past {{lookback_days}} days, including item name, time 86'd, and
18
+ time (if any) it came back available.
19
+ 1. Rank menu items by number of times 86'd in the window.
20
+ 2. For each item 86'd more than {{repeat_threshold}} times, note the
21
+ typical time of day/day of week it runs out, which suggests
22
+ whether it's a prep-quantity or a purchasing-quantity issue.
23
+ 3. Flag any item that's been 86'd on back-to-back service days —
24
+ that's a stronger signal than scattered one-offs.
25
+ 4. Suggest a par-level or prep-batch adjustment per repeatedly-86'd
26
+ item, distinct from a general waste-log review which looks at
27
+ over-ordering rather than under-ordering.
28
+ variables:
29
+ pos_or_kitchen_log:
30
+ default: "your POS 86 list or kitchen display system"
31
+ description: Where 86'd items get logged (e.g. "Toast 86 list", "a kitchen whiteboard log transcribed daily").
32
+ lookback_days:
33
+ default: 30
34
+ description: Window of 86-log history to analyze.
35
+ repeat_threshold:
36
+ default: 3
37
+ description: Minimum number of times an item must be 86'd in the window to be called out individually.
38
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
39
+ notes: Complements inventory-waste-log-review — that job catches over-ordering (waste), this one catches under-ordering (running out).
@@ -0,0 +1,33 @@
1
+ id: menu-item-profitability-check
2
+ version: 1
3
+ name: Menu Item Profitability Check
4
+ description: >
5
+ Compares each menu item's plate cost against its menu price and flags
6
+ items whose contribution margin has dropped below target. Use this if
7
+ an ingredient cost has ever crept up on a specific dish until it was
8
+ quietly losing money on every order, unlike the overall food-cost
9
+ percentage which only shows the average.
10
+ category: restaurant
11
+ tags: [restaurant, menu-engineering, margin, food-cost]
12
+ schedule: "0 8 1 * *"
13
+ timezone: "America/New_York"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v target="{{min_margin_pct}}" '
17
+ NR==1 {next}
18
+ {
19
+ if ($3 > 0) {
20
+ margin_pct = (($3 - $2) / $3) * 100;
21
+ if (margin_pct < target) printf "LOW MARGIN: %s — plate cost $%.2f, price $%.2f, margin %.1f%% (target %.0f%%)\n", $1, $2, $3, margin_pct, target;
22
+ }
23
+ }
24
+ ' "{{menu_cost_csv}}"
25
+ variables:
26
+ menu_cost_csv:
27
+ default: "./menu-item-costs.csv"
28
+ description: "CSV with header row, columns: item_name,plate_cost_usd,menu_price_usd — one row per active menu item."
29
+ min_margin_pct:
30
+ default: 65
31
+ description: Minimum acceptable contribution margin percentage before an item is flagged.
32
+ compatible_agents: [generic, claude, codex]
33
+ notes: Rebuild menu-item-costs.csv whenever a recipe or ingredient price changes — this compares per-item margin, not the restaurant-wide average that food-cost-percentage-watch checks.
@@ -0,0 +1,31 @@
1
+ id: pos-end-of-day-reconciliation-check
2
+ version: 1
3
+ name: POS End-of-Day Reconciliation Check
4
+ description: >
5
+ Compares the POS system's expected cash-drawer total against what was
6
+ actually counted at close and flags any shift over the acceptable
7
+ variance. Use this if a drawer has ever come up short (or suspiciously
8
+ over) and nobody traced it back to which shift it happened on.
9
+ category: restaurant
10
+ tags: [restaurant, pos, cash-handling, reconciliation]
11
+ schedule: "0 6 * * *"
12
+ timezone: "America/New_York"
13
+ runner: shell
14
+ command: >
15
+ awk -F',' -v tolerance="{{variance_tolerance_usd}}" '
16
+ NR==1 {next}
17
+ {
18
+ diff = $4 - $3;
19
+ absdiff = (diff < 0) ? -diff : diff;
20
+ if (absdiff > tolerance) printf "VARIANCE: %s shift %s — expected $%.2f, counted $%.2f (diff $%.2f)\n", $1, $2, $3, $4, diff;
21
+ }
22
+ ' "{{eod_close_csv}}"
23
+ variables:
24
+ eod_close_csv:
25
+ default: "./eod-close-log.csv"
26
+ description: "CSV with header row, columns: close_date,shift_name,pos_expected_usd,counted_usd — one row per drawer close."
27
+ variance_tolerance_usd:
28
+ default: 10
29
+ description: Dollar variance (either direction) allowed before a shift close is flagged.
30
+ compatible_agents: [generic, claude, codex]
31
+ notes: Export the close log from your POS's end-of-day/drawer-count report — this only compares totals, it doesn't investigate the cause of a variance.
@@ -0,0 +1,36 @@
1
+ id: table-turnover-rate-tracker
2
+ version: 1
3
+ name: Table Turnover Rate Tracker
4
+ description: >
5
+ Analyzes seating and table-clear timestamps to calculate average
6
+ table turnover time by section, day, and shift, and flags where
7
+ tables are sitting occupied well past the typical dining window. Use
8
+ this if you suspect one section or server is quietly slowing down
9
+ the whole dining room's throughput on busy nights.
10
+ category: restaurant
11
+ tags: [restaurant, front-of-house, tables, throughput]
12
+ schedule: "0 10 * * 1"
13
+ timezone: "America/New_York"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Pull seated and table-cleared timestamps from {{pos_or_reservation_system}}
17
+ for the past {{lookback_days}} days.
18
+ 1. Calculate average table turnover time (seated to cleared) overall,
19
+ then broken down by section, day of week, and shift (lunch/dinner).
20
+ 2. Flag any section or shift where average turnover time is
21
+ meaningfully above the overall average, and estimate the covers
22
+ lost to the slowdown based on typical table demand at that time.
23
+ 3. Note any pattern tied to a specific server or table size, if that
24
+ data is available, without naming individuals punitively — this is
25
+ for staffing/floor-plan decisions, not performance write-ups.
26
+ 4. Recommend one concrete adjustment (seating flow, bussing staffing,
27
+ course pacing) for the slowest-flagged segment.
28
+ variables:
29
+ pos_or_reservation_system:
30
+ default: "your POS or table-management system"
31
+ description: System that logs seat and clear timestamps (e.g. "Toast", "OpenTable", "SevenRooms").
32
+ lookback_days:
33
+ default: 14
34
+ description: Window of turnover data to analyze.
35
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
36
+ notes: Read-only analysis for floor-plan and staffing decisions — do not use this to single out individual servers without corroborating context.
@@ -0,0 +1,37 @@
1
+ id: waitlist-conversion-check
2
+ version: 1
3
+ name: Waitlist-to-Seated Conversion Check
4
+ description: >
5
+ Analyzes waitlist app data to see what share of people who joined the
6
+ waitlist actually got seated versus walked away, and whether quoted
7
+ wait times matched reality. Use this if you suspect an overly
8
+ optimistic quoted wait time is quietly driving guests to leave before
9
+ their table is ready.
10
+ category: restaurant
11
+ tags: [restaurant, front-of-house, waitlist, guest-experience]
12
+ schedule: "0 11 * * 1"
13
+ timezone: "America/New_York"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Pull waitlist entries from {{waitlist_app}} for the past
17
+ {{lookback_days}} days, including join time, quoted wait, actual seated
18
+ time (or abandoned/no-show status), and party size.
19
+ 1. Calculate overall waitlist-to-seated conversion rate and the
20
+ abandonment rate (left before being seated).
21
+ 2. Compare quoted wait time to actual wait time — flag any pattern
22
+ where actual wait consistently runs longer than quoted, which
23
+ likely drives abandonment.
24
+ 3. Break down conversion rate by day of week, time slot, and party
25
+ size — flag the weakest-converting segments.
26
+ 4. Recommend whether quoted wait times need adjusting for the
27
+ flagged segments, or whether a text-notification/callback flow
28
+ would reduce walk-aways.
29
+ variables:
30
+ waitlist_app:
31
+ default: "your waitlist/reservation app"
32
+ description: Name of the waitlist system (e.g. "Yelp Waitlist", "NoWait", "Toast Tables").
33
+ lookback_days:
34
+ default: 30
35
+ description: Window of waitlist history to analyze.
36
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
37
+ notes: Read-only analysis — any change to quoted-wait logic or staffing is a floor-management decision for a human to make.
@@ -0,0 +1,34 @@
1
+ id: cash-office-deposit-variance-check
2
+ version: 1
3
+ name: Cash Office Deposit Variance Check
4
+ description: >
5
+ Compares the bank deposit slip amount against the store's total
6
+ reported cash sales for the day and flags a mismatch. Use this if a
7
+ bank deposit has ever come up short of what the registers reported for
8
+ days before anyone in accounting reconciled it back to a specific
9
+ store.
10
+ category: retail
11
+ tags: [retail, cash, deposit, reconciliation]
12
+ schedule: "0 10 * * *"
13
+ timezone: "America/New_York"
14
+ runner: shell
15
+ command: >
16
+ awk -F',' -v tolerance="{{tolerance_usd}}" '
17
+ NR==1 {next}
18
+ {
19
+ diff = $2 - $3;
20
+ abs_diff = (diff < 0) ? -diff : diff;
21
+ if (abs_diff > tolerance) {
22
+ printf "DEPOSIT VARIANCE: store %s — reported cash $%.2f, bank deposit $%.2f (diff $%.2f)\n", $1, $2, $3, diff;
23
+ }
24
+ }
25
+ ' "{{deposit_log_csv}}"
26
+ variables:
27
+ deposit_log_csv:
28
+ default: "./cash-deposit-log.csv"
29
+ description: "CSV with header row, columns: store_id,pos_reported_cash_total,bank_deposit_amount — one row per store per deposit day."
30
+ tolerance_usd:
31
+ default: 10.00
32
+ description: Acceptable variance in dollars between reported cash and the actual bank deposit before flagging.
33
+ compatible_agents: [generic, claude, codex]
34
+ notes: Distinct from `pos-till-reconciliation-check` (per-register count at close) — this checks the far end of the process, the actual bank deposit against total reported store cash.
@@ -0,0 +1,42 @@
1
+ id: competitor-price-monitoring-check
2
+ version: 1
3
+ name: Competitor Price Monitoring Check
4
+ description: >
5
+ Reviews a nearby competitor's weekly ad/flyer or in-store price shots
6
+ against your own shelf prices for a shortlist of high-traffic items.
7
+ Use this if you've ever found out you were losing foot traffic to a
8
+ competitor's price on a staple item only because a customer mentioned
9
+ it at the register.
10
+ category: retail
11
+ tags: [retail, pricing, competitor, monitoring]
12
+ schedule: "0 9 * * 5"
13
+ timezone: "America/New_York"
14
+ runner: agent-prompt
15
+ prompt: |
16
+ Compare the competitor's current weekly ad/flyer or in-store price
17
+ photos ({{competitor_source_path}}) against our own shelf prices
18
+ ({{our_price_list_csv}}) for the tracked item list.
19
+ 1. For each tracked item, find the competitor's current price if it
20
+ appears in the source material.
21
+ 2. Flag any item where the competitor's price is at least
22
+ ${{diff_threshold_usd}} cheaper than ours.
23
+ 3. Note any item the competitor doesn't appear to be carrying anymore
24
+ versus one you simply couldn't find a price for.
25
+ 4. Summarize as a short list ranked by dollar gap, for the store
26
+ manager to decide on a price-match or promo response this week.
27
+ variables:
28
+ competitor_source_path:
29
+ default: "./competitor-flyers/"
30
+ description: Folder of this week's competitor flyer scans or in-store price photos.
31
+ our_price_list_csv:
32
+ default: "./tracked-items-price-list.csv"
33
+ description: "CSV with columns: sku,item_name,our_price — the shortlist of high-traffic items being watched."
34
+ diff_threshold_usd:
35
+ default: 1.00
36
+ description: Minimum price gap in dollars worth flagging.
37
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
38
+ notes: >
39
+ Physical-store competitor price checks off flyers/photos, distinct from
40
+ ecommerce's `competitor-price-watch`, which scrapes a competitor's live
41
+ product page URL per SKU — there's no comparable URL for a
42
+ brick-and-mortar competitor's shelf price. See duplicates-allowlist.js.
@@ -0,0 +1,41 @@
1
+ id: damaged-merchandise-writeoff-tracker
2
+ version: 1
3
+ name: Damaged Merchandise Write-Off Tracker
4
+ description: >
5
+ Reviews logged damaged/defective merchandise write-offs for patterns
6
+ worth a closer look — a single SKU with a recurring damage reason, or
7
+ one store writing off well above the chain average. Use this if
8
+ write-offs have ever just gotten rubber-stamped monthly instead of
9
+ getting checked for a root cause (bad packaging, a rough receiving
10
+ process, or something less innocent).
11
+ category: retail
12
+ tags: [retail, damage, write-off, loss-prevention]
13
+ schedule: "0 8 1 * *"
14
+ timezone: "UTC"
15
+ runner: agent-prompt
16
+ prompt: |
17
+ Review this period's damaged merchandise write-off log
18
+ ({{writeoff_log_path}}) across stores.
19
+ 1. Identify any SKU that recurs as a write-off reason more than
20
+ {{recurring_sku_threshold}} times — that points at a packaging or
21
+ handling issue worth escalating to the vendor or receiving process,
22
+ not just re-approving the write-off.
23
+ 2. Flag any store whose total write-off dollar amount is more than
24
+ {{store_outlier_multiplier}}x the average store in the file.
25
+ 3. Separate write-offs with a documented cause (damaged in transit,
26
+ customer damage, expired) from those marked "unknown" — a high rate
27
+ of "unknown" is itself worth flagging.
28
+ 4. Summarize findings in a short list a loss-prevention or merchandising
29
+ manager could act on.
30
+ variables:
31
+ writeoff_log_path:
32
+ default: "./damaged-merchandise-writeoffs.csv"
33
+ description: "CSV with columns: store_id,sku,writeoff_amount,reason — one row per write-off in the period."
34
+ recurring_sku_threshold:
35
+ default: 3
36
+ description: Number of times a SKU must recur as a write-off before flagging a possible systemic cause.
37
+ store_outlier_multiplier:
38
+ default: 2
39
+ description: How many times the average store's write-off total counts as an outlier worth flagging.
40
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
41
+ notes: Judging what counts as a meaningful pattern versus normal variance across stores and reasons needs an agent, not a fixed threshold script.
@@ -0,0 +1,39 @@
1
+ id: employee-discount-abuse-check
2
+ version: 1
3
+ name: Employee Discount Abuse Check
4
+ description: >
5
+ Reviews employee discount usage for patterns that look like abuse —
6
+ unusually high dollar volume, discounts applied to gift cards, or
7
+ discounts rung up under an employee's number when they weren't
8
+ scheduled to work. Use this if employee-discount abuse has ever quietly
9
+ eaten margin for months because each transaction looked fine in
10
+ isolation.
11
+ category: retail
12
+ tags: [retail, employee-discount, fraud, loss-prevention]
13
+ schedule: "0 7 1 * *"
14
+ timezone: "UTC"
15
+ runner: agent-prompt
16
+ prompt: |
17
+ Review this period's employee discount transaction log
18
+ ({{discount_log_path}}) against the shift schedule
19
+ ({{schedule_csv_path}}).
20
+ 1. Flag any employee whose total discounted purchase volume for the
21
+ period exceeds ${{monthly_volume_threshold_usd}}.
22
+ 2. Flag any discount applied to a gift card purchase — most policies
23
+ disallow this.
24
+ 3. Cross-reference discount timestamps against the schedule and flag
25
+ any discount rung up on a day the employee wasn't scheduled to work
26
+ (a common sign of a shared or misused employee number).
27
+ 4. Summarize flagged employees with the specific reason for each flag.
28
+ variables:
29
+ discount_log_path:
30
+ default: "./employee-discount-log.csv"
31
+ description: "CSV with columns: employee_id,transaction_date,amount,item_type,discount_pct."
32
+ schedule_csv_path:
33
+ default: "./employee-schedule.csv"
34
+ description: CSV of scheduled shifts to cross-reference against discount timestamps.
35
+ monthly_volume_threshold_usd:
36
+ default: 500
37
+ description: Total discounted purchase volume per employee in the period that triggers a flag.
38
+ compatible_agents: [claude, codex, hermes, openclaw, generic]
39
+ notes: A flag is a prompt for HR/loss prevention review, not an accusation — cross-referencing two data sources and judging intent needs an agent, not a fixed script.
@@ -0,0 +1,33 @@
1
+ id: layaway-special-order-pickup-tracker
2
+ version: 1
3
+ name: Layaway & Special Order Pickup Tracker
4
+ description: >
5
+ Flags layaway and special-order items that have been ready for pickup
6
+ past a set number of days. Use this if a paid-for special order has
7
+ ever sat in the back room for weeks because nobody was tracking pickup
8
+ age, only whether the item had arrived.
9
+ category: retail
10
+ tags: [retail, layaway, special-order, customer-service]
11
+ schedule: "0 9 * * 2"
12
+ timezone: "America/New_York"
13
+ runner: shell
14
+ command: >
15
+ today=$(date +%s);
16
+ awk -F',' -v today="$today" -v warn={{overdue_days_threshold}} '
17
+ NR==1 {next}
18
+ $4 == "ready" {
19
+ cmd="date -d \"" $3 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $3 "\" +%s";
20
+ cmd | getline ready_ts; close(cmd);
21
+ days_waiting = int((today - ready_ts) / 86400);
22
+ if (days_waiting >= warn) printf "OVERDUE PICKUP: order %s for %s ready %d days (since %s)\n", $1, $2, days_waiting, $3;
23
+ }
24
+ ' "{{orders_csv}}"
25
+ variables:
26
+ orders_csv:
27
+ default: "./layaway-special-orders.csv"
28
+ description: "CSV with header row, columns: order_id,customer_name,ready_date(YYYY-MM-DD),status(pending/ready/picked-up)."
29
+ overdue_days_threshold:
30
+ default: 14
31
+ description: Days an order can sit marked "ready" before it counts as overdue for pickup.
32
+ compatible_agents: [generic, claude, codex]
33
+ notes: A long-overdue pickup is worth a courtesy call before it becomes a restocking/refund headache or a customer dispute.