@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.
- package/README.md +31 -44
- package/catalog.json +8862 -1873
- package/jobs/automotive/ase-certification-expiry-check.yaml +36 -0
- package/jobs/automotive/csi-score-monitor.yaml +33 -0
- package/jobs/automotive/customer-pay-warranty-pay-mix-tracker.yaml +47 -0
- package/jobs/automotive/fi-product-attachment-rate-tracker.yaml +39 -0
- package/jobs/automotive/loaner-fleet-availability-check.yaml +40 -0
- package/jobs/automotive/manufacturer-recall-notice-check.yaml +39 -0
- package/jobs/automotive/parts-reorder-point-check.yaml +36 -0
- package/jobs/automotive/repair-cycle-time-trend-monitor.yaml +42 -0
- package/jobs/automotive/service-appointment-no-show-tracker.yaml +38 -0
- package/jobs/automotive/service-bay-utilization-check.yaml +38 -0
- package/jobs/automotive/shop-supply-reorder-check.yaml +31 -0
- package/jobs/automotive/trade-in-appraisal-variance-check.yaml +39 -0
- package/jobs/automotive/used-vehicle-inventory-aging-check.yaml +35 -0
- package/jobs/construction/critical-path-material-lead-time-review.yaml +43 -0
- package/jobs/construction/daily-jobsite-log-compliance-check.yaml +34 -0
- package/jobs/construction/equipment-utilization-cost-check.yaml +35 -0
- package/jobs/construction/heavy-equipment-inspection-compliance-check.yaml +34 -0
- package/jobs/construction/jobsite-safety-incident-near-miss-tracker.yaml +35 -0
- package/jobs/construction/lien-waiver-collection-tracker.yaml +27 -0
- package/jobs/construction/permit-application-approval-backlog-check.yaml +33 -0
- package/jobs/construction/project-budget-variance-check.yaml +34 -0
- package/jobs/construction/punch-list-completion-tracker.yaml +36 -0
- package/jobs/construction/retainage-holdback-release-tracker.yaml +33 -0
- package/jobs/construction/rfi-response-time-tracker.yaml +33 -0
- package/jobs/construction/subcontractor-pay-application-approval-tracker.yaml +35 -0
- package/jobs/construction/submittal-shop-drawing-review-check.yaml +45 -0
- package/jobs/construction/weather-delay-impact-log.yaml +44 -0
- package/jobs/ecommerce/affiliate-commission-payout-check.yaml +38 -0
- package/jobs/ecommerce/back-in-stock-notification-backlog-check.yaml +30 -0
- package/jobs/ecommerce/bundle-component-stock-mismatch-check.yaml +37 -0
- package/jobs/ecommerce/chargeback-fraud-risk-order-review.yaml +43 -0
- package/jobs/ecommerce/competitor-price-watch.yaml +60 -0
- package/jobs/ecommerce/economic-nexus-threshold-check.yaml +43 -0
- package/jobs/ecommerce/failed-payment-dunning-check.yaml +35 -0
- package/jobs/ecommerce/marketplace-listing-sync-drift-check.yaml +48 -0
- package/jobs/ecommerce/product-feed-health-check.yaml +35 -0
- package/jobs/ecommerce/purchase-order-overdue-check.yaml +32 -0
- package/jobs/ecommerce/storefront-ssl-domain-expiry-check.yaml +46 -0
- package/jobs/ecommerce/vip-tier-reclassification-check.yaml +55 -0
- package/jobs/ecommerce/wishlist-abandonment-check.yaml +37 -0
- package/jobs/education/chronic-absenteeism-tracker.yaml +34 -0
- package/jobs/education/department-budget-variance-check.yaml +37 -0
- package/jobs/education/enrollment-withdrawal-trend-tracker.yaml +39 -0
- package/jobs/education/facility-work-order-backlog-check.yaml +34 -0
- package/jobs/education/free-reduced-lunch-eligibility-renewal-check.yaml +36 -0
- package/jobs/education/iep-504-review-deadline-tracker.yaml +35 -0
- package/jobs/education/parent-teacher-conference-noshow-tracker.yaml +29 -0
- package/jobs/education/school-bus-route-ontime-check.yaml +40 -0
- package/jobs/education/standardized-test-registration-deadline-check.yaml +35 -0
- package/jobs/education/substitute-teacher-fill-rate-tracker.yaml +35 -0
- package/jobs/education/teacher-certification-expiry-tracker.yaml +35 -0
- package/jobs/education/textbook-inventory-shortage-check.yaml +32 -0
- package/jobs/finance/accounts-payable-aging-check.yaml +40 -0
- package/jobs/finance/bank-statement-reconciliation-check.yaml +40 -0
- package/jobs/finance/budget-vs-actual-variance-report.yaml +38 -0
- package/jobs/finance/contractor-1099-threshold-tracker.yaml +43 -0
- package/jobs/finance/credit-utilization-watch.yaml +40 -0
- package/jobs/finance/duplicate-payment-detection.yaml +43 -0
- package/jobs/finance/expense-report-compliance-check.yaml +46 -0
- package/jobs/finance/late-fee-interest-risk-check.yaml +43 -0
- package/jobs/finance/loan-covenant-compliance-check.yaml +37 -0
- package/jobs/finance/month-end-close-checklist-tracker.yaml +39 -0
- package/jobs/finance/multi-account-cash-position-rollup.yaml +45 -0
- package/jobs/finance/petty-cash-float-reconciliation.yaml +43 -0
- package/jobs/finance/quarterly-estimated-tax-calculator.yaml +66 -0
- package/jobs/finance/vendor-early-pay-discount-tracker.yaml +45 -0
- package/jobs/fleet/accident-incident-report-tracker.yaml +34 -0
- package/jobs/fleet/driver-mvr-review-tracker.yaml +34 -0
- package/jobs/fleet/driver-safety-score-monitor.yaml +39 -0
- package/jobs/fleet/ev-battery-health-check.yaml +36 -0
- package/jobs/fleet/fuel-efficiency-trend-monitor.yaml +33 -0
- package/jobs/fleet/geofence-violation-check.yaml +37 -0
- package/jobs/fleet/lease-return-condition-check.yaml +33 -0
- package/jobs/fleet/tire-wear-replacement-check.yaml +30 -0
- package/jobs/fleet/toll-violation-tracker.yaml +34 -0
- package/jobs/fleet/vehicle-pool-scheduling-conflict-check.yaml +37 -0
- package/jobs/fleet/vehicle-tco-tracker.yaml +41 -0
- package/jobs/fleet/vehicle-utilization-rate-check.yaml +37 -0
- package/jobs/growth/cohort-retention-curve-monitor.yaml +39 -0
- package/jobs/growth/customer-health-score-monitor.yaml +37 -0
- package/jobs/growth/dau-mau-engagement-ratio-check.yaml +39 -0
- package/jobs/growth/dormant-account-reactivation-check.yaml +39 -0
- package/jobs/growth/expansion-revenue-opportunity-tracker.yaml +44 -0
- package/jobs/growth/feature-adoption-rate-tracker.yaml +44 -0
- package/jobs/growth/nps-trend-tracker.yaml +40 -0
- package/jobs/growth/onboarding-funnel-dropoff-check.yaml +39 -0
- package/jobs/growth/paywall-upgrade-prompt-conversion-check.yaml +40 -0
- package/jobs/growth/product-qualified-lead-tracker.yaml +42 -0
- package/jobs/growth/referral-program-performance-tracker.yaml +35 -0
- package/jobs/growth/trial-to-paid-conversion-rate-tracker.yaml +48 -0
- package/jobs/growth/winback-reactivation-campaign-tracker.yaml +46 -0
- package/jobs/healthcare/appointment-slot-utilization-check.yaml +56 -0
- package/jobs/healthcare/claims-denial-resubmission-check.yaml +43 -0
- package/jobs/healthcare/clinical-supply-low-stock-check.yaml +30 -0
- package/jobs/healthcare/controlled-substance-inventory-reconciliation.yaml +42 -0
- package/jobs/healthcare/hipaa-access-log-audit.yaml +74 -0
- package/jobs/healthcare/patient-balance-collections-aging-check.yaml +41 -0
- package/jobs/healthcare/patient-immunization-schedule-check.yaml +41 -0
- package/jobs/healthcare/patient-portal-message-backlog-check.yaml +39 -0
- package/jobs/healthcare/patient-satisfaction-survey-tracking.yaml +59 -0
- package/jobs/healthcare/prescription-refill-request-backlog-check.yaml +38 -0
- package/jobs/healthcare/prior-authorization-expiry-check.yaml +53 -0
- package/jobs/healthcare/staff-cme-credit-tracking.yaml +41 -0
- package/jobs/healthcare/telehealth-session-issue-check.yaml +51 -0
- package/jobs/hospitality/adr-revpar-tracker.yaml +43 -0
- package/jobs/hospitality/cancellation-rate-spike-check.yaml +21 -0
- package/jobs/hospitality/group-booking-space-utilization-check.yaml +40 -0
- package/jobs/hospitality/guest-complaint-sla-tracker.yaml +34 -0
- package/jobs/hospitality/guest-satisfaction-score-monitor.yaml +41 -0
- package/jobs/hospitality/linen-inventory-turnover-check.yaml +35 -0
- package/jobs/hospitality/loyalty-points-reconciliation-check.yaml +33 -0
- package/jobs/hospitality/minibar-charge-reconciliation-check.yaml +38 -0
- package/jobs/hospitality/occupancy-forecast-variance-check.yaml +33 -0
- package/jobs/hospitality/ota-rate-parity-check.yaml +36 -0
- package/jobs/hospitality/overbooking-risk-alert.yaml +38 -0
- package/jobs/hospitality/room-maintenance-work-order-tracker.yaml +31 -0
- package/jobs/hospitality/upsell-upgrade-conversion-tracker.yaml +37 -0
- package/jobs/hr/aca-fte-threshold-monitor.yaml +44 -0
- package/jobs/hr/cobra-notification-deadline-tracker.yaml +47 -0
- package/jobs/hr/compliance-training-completion-check.yaml +41 -0
- package/jobs/hr/eeo1-filing-deadline-reminder.yaml +37 -0
- package/jobs/hr/handbook-acknowledgment-tracking.yaml +34 -0
- package/jobs/hr/headcount-budget-variance-check.yaml +37 -0
- package/jobs/hr/leave-of-absence-return-tracker.yaml +42 -0
- package/jobs/hr/org-chart-manager-drift-check.yaml +40 -0
- package/jobs/hr/pay-equity-band-outlier-check.yaml +58 -0
- package/jobs/hr/pto-year-end-use-it-or-lose-it-check.yaml +49 -0
- package/jobs/hr/retirement-plan-enrollment-deadline-check.yaml +40 -0
- package/jobs/hr/workers-comp-claim-status-check.yaml +42 -0
- package/jobs/insurance/adjuster-caseload-balance-check.yaml +45 -0
- package/jobs/insurance/agent-broker-license-expiry-tracker.yaml +40 -0
- package/jobs/insurance/cat-event-exposure-monitor.yaml +37 -0
- package/jobs/insurance/claims-aging-backlog-tracker.yaml +48 -0
- package/jobs/insurance/doi-filing-deadline-tracker.yaml +42 -0
- package/jobs/insurance/loss-ratio-by-line-monitor.yaml +43 -0
- package/jobs/insurance/policy-lapse-rate-monitor.yaml +41 -0
- package/jobs/insurance/premium-payment-delinquency-tracker.yaml +42 -0
- package/jobs/insurance/quote-to-bind-conversion-tracker.yaml +41 -0
- package/jobs/insurance/reinsurance-treaty-renewal-tracker.yaml +38 -0
- package/jobs/insurance/siu-fraud-referral-tracker.yaml +36 -0
- package/jobs/insurance/subrogation-recovery-tracker.yaml +41 -0
- package/jobs/insurance/underwriting-queue-sla-monitor.yaml +45 -0
- package/jobs/legal/conflict-of-interest-check-tracker.yaml +38 -0
- package/jobs/legal/corporate-minute-book-completeness-check.yaml +31 -0
- package/jobs/legal/data-privacy-request-deadline-tracker.yaml +61 -0
- package/jobs/legal/entity-authority-document-expiry-check.yaml +37 -0
- package/jobs/legal/legal-document-retention-purge-review.yaml +39 -0
- package/jobs/legal/litigation-hold-acknowledgment-tracker.yaml +40 -0
- package/jobs/legal/non-compete-expiry-tracker.yaml +37 -0
- package/jobs/legal/outside-counsel-invoice-budget-check.yaml +37 -0
- package/jobs/legal/settlement-payment-schedule-tracker.yaml +34 -0
- package/jobs/legal/timekeeper-billable-hours-compliance-check.yaml +39 -0
- package/jobs/legal/trademark-infringement-watch.yaml +43 -0
- package/jobs/legal/vendor-coi-expiry-tracker.yaml +37 -0
- package/jobs/logistics/3pl-performance-scorecard.yaml +45 -0
- package/jobs/logistics/bol-freight-class-accuracy-audit.yaml +33 -0
- package/jobs/logistics/cargo-insurance-claim-status-check.yaml +39 -0
- package/jobs/logistics/carrier-load-tender-acceptance-check.yaml +34 -0
- package/jobs/logistics/carrier-otd-performance-scorecard.yaml +41 -0
- package/jobs/logistics/carrier-rate-contract-renewal-check.yaml +35 -0
- package/jobs/logistics/cross-dock-dwell-time-watch.yaml +43 -0
- package/jobs/logistics/freight-invoice-rate-audit.yaml +38 -0
- package/jobs/logistics/fuel-surcharge-rate-monitor.yaml +40 -0
- package/jobs/logistics/international-shipment-documentation-check.yaml +36 -0
- package/jobs/logistics/linehaul-transit-time-variance-check.yaml +43 -0
- package/jobs/logistics/proof-of-delivery-reconciliation-check.yaml +38 -0
- package/jobs/logistics/route-load-optimization-check.yaml +32 -0
- package/jobs/manufacturing/changeover-time-tracker.yaml +29 -0
- package/jobs/manufacturing/critical-spare-parts-stock-check.yaml +29 -0
- package/jobs/manufacturing/first-pass-yield-report.yaml +37 -0
- package/jobs/manufacturing/lot-traceability-audit.yaml +37 -0
- package/jobs/manufacturing/non-conformance-report-backlog-check.yaml +34 -0
- package/jobs/manufacturing/oee-efficiency-check.yaml +37 -0
- package/jobs/manufacturing/osha-recordable-incident-audit.yaml +37 -0
- package/jobs/manufacturing/production-schedule-adherence-check.yaml +35 -0
- package/jobs/manufacturing/safety-certification-expiry-check.yaml +37 -0
- package/jobs/manufacturing/scrap-waste-rate-watch.yaml +33 -0
- package/jobs/manufacturing/shift-handoff-report.yaml +37 -0
- package/jobs/manufacturing/supplier-quality-ppm-watch.yaml +38 -0
- package/jobs/manufacturing/tooling-die-wear-check.yaml +31 -0
- package/jobs/manufacturing/work-order-backlog-check.yaml +37 -0
- package/jobs/marketing/ad-creative-fatigue-check.yaml +44 -0
- package/jobs/marketing/affiliate-partner-performance-check.yaml +38 -0
- package/jobs/marketing/attribution-discrepancy-check.yaml +42 -0
- package/jobs/marketing/brand-share-of-voice-check.yaml +43 -0
- package/jobs/marketing/campaign-roas-cpa-anomaly-check.yaml +41 -0
- package/jobs/marketing/competitor-ad-creative-watch.yaml +40 -0
- package/jobs/marketing/email-list-growth-rate-check.yaml +43 -0
- package/jobs/marketing/landing-page-conversion-drop-check.yaml +44 -0
- package/jobs/marketing/mql-to-sql-handoff-sla-check.yaml +29 -0
- package/jobs/marketing/mql-volume-pace-check.yaml +34 -0
- package/jobs/marketing/paid-search-negative-keyword-waste-check.yaml +37 -0
- package/jobs/marketing/press-release-pickup-tracking.yaml +32 -0
- package/jobs/marketing/webinar-registration-attendance-check.yaml +38 -0
- package/jobs/realestate/capital-reserve-fund-threshold-check.yaml +32 -0
- package/jobs/realestate/eviction-notice-deadline-tracker.yaml +37 -0
- package/jobs/realestate/landlord-insurance-claim-status-check.yaml +35 -0
- package/jobs/realestate/lease-renewal-offer-window-check.yaml +35 -0
- package/jobs/realestate/maintenance-request-sla-check.yaml +39 -0
- package/jobs/realestate/move-in-move-out-inspection-tracker.yaml +35 -0
- package/jobs/realestate/rent-increase-notice-deadline-check.yaml +54 -0
- package/jobs/realestate/rent-roll-vacancy-loss-report.yaml +32 -0
- package/jobs/realestate/rental-license-renewal-check.yaml +35 -0
- package/jobs/realestate/security-deposit-return-deadline-check.yaml +38 -0
- package/jobs/realestate/tenant-application-review-backlog-check.yaml +35 -0
- package/jobs/realestate/tenant-renters-insurance-compliance-check.yaml +35 -0
- package/jobs/realestate/utility-billback-reconciliation-check.yaml +41 -0
- package/jobs/restaurant/comp-void-anomaly-tracker.yaml +39 -0
- package/jobs/restaurant/daily-sales-flash-report.yaml +36 -0
- package/jobs/restaurant/delivery-platform-commission-reconciliation.yaml +33 -0
- package/jobs/restaurant/delivery-receiving-discrepancy-check.yaml +33 -0
- package/jobs/restaurant/food-handler-permit-expiry-tracker.yaml +33 -0
- package/jobs/restaurant/gift-card-liability-check.yaml +45 -0
- package/jobs/restaurant/kitchen-ticket-time-watch.yaml +38 -0
- package/jobs/restaurant/liquor-pour-cost-variance-check.yaml +34 -0
- package/jobs/restaurant/menu-86-frequency-tracker.yaml +39 -0
- package/jobs/restaurant/menu-item-profitability-check.yaml +33 -0
- package/jobs/restaurant/pos-end-of-day-reconciliation-check.yaml +31 -0
- package/jobs/restaurant/table-turnover-rate-tracker.yaml +36 -0
- package/jobs/restaurant/waitlist-conversion-check.yaml +37 -0
- package/jobs/retail/cash-office-deposit-variance-check.yaml +34 -0
- package/jobs/retail/competitor-price-monitoring-check.yaml +42 -0
- package/jobs/retail/damaged-merchandise-writeoff-tracker.yaml +41 -0
- package/jobs/retail/employee-discount-abuse-check.yaml +39 -0
- package/jobs/retail/layaway-special-order-pickup-tracker.yaml +33 -0
- package/jobs/retail/loyalty-enrollment-redemption-rate-tracker.yaml +37 -0
- package/jobs/retail/markdown-execution-audit-check.yaml +29 -0
- package/jobs/retail/planogram-compliance-audit-check.yaml +36 -0
- package/jobs/retail/pos-void-refund-anomaly-tracker.yaml +42 -0
- package/jobs/retail/price-tag-audit-accuracy-check.yaml +37 -0
- package/jobs/retail/sales-per-square-foot-tracker.yaml +36 -0
- package/jobs/retail/seasonal-staffing-coverage-check.yaml +35 -0
- package/jobs/retail/store-closing-checklist-compliance-check.yaml +32 -0
- package/jobs/retail/visual-merchandising-compliance-check.yaml +40 -0
- package/jobs/sales/champion-departure-watch.yaml +44 -0
- package/jobs/sales/closed-lost-reason-audit.yaml +42 -0
- package/jobs/sales/commission-payout-tracker.yaml +32 -0
- package/jobs/sales/contract-renewal-opportunity-tracker.yaml +28 -0
- package/jobs/sales/discount-approval-pending-check.yaml +31 -0
- package/jobs/sales/forecast-submission-compliance-check.yaml +42 -0
- package/jobs/sales/multi-year-renewal-escalation-tracker.yaml +31 -0
- package/jobs/sales/pipeline-hygiene-audit.yaml +26 -0
- package/jobs/sales/poc-trial-conversion-tracker.yaml +29 -0
- package/jobs/sales/referral-followup-tracker.yaml +40 -0
- package/jobs/sales/territory-coverage-gap-check.yaml +43 -0
- package/jobs/veterinary/appointment-no-show-rate-tracker.yaml +49 -0
- package/jobs/veterinary/boarding-kennel-capacity-utilization-check.yaml +39 -0
- package/jobs/veterinary/client-payment-plan-delinquency-check.yaml +36 -0
- package/jobs/veterinary/dvm-license-dea-registration-expiry-check.yaml +41 -0
- package/jobs/veterinary/microchip-registration-verification-check.yaml +40 -0
- package/jobs/veterinary/patient-record-completeness-audit.yaml +41 -0
- package/jobs/veterinary/pet-medication-refill-backlog-check.yaml +36 -0
- package/jobs/veterinary/puppy-kitten-vaccine-series-compliance-check.yaml +39 -0
- package/jobs/veterinary/senior-pet-wellness-recall-tracker.yaml +43 -0
- package/jobs/veterinary/spay-neuter-followup-compliance-check.yaml +35 -0
- package/jobs/veterinary/specialist-referral-followup-check.yaml +38 -0
- package/jobs/veterinary/surgical-schedule-utilization-check.yaml +36 -0
- package/jobs/veterinary/vet-staff-ce-credit-tracking.yaml +36 -0
- package/jobs/warehousing/conveyor-sortation-downtime-watch.yaml +48 -0
- package/jobs/warehousing/labor-productivity-rate-check.yaml +33 -0
- package/jobs/warehousing/mhe-preventive-maintenance-check.yaml +38 -0
- package/jobs/warehousing/order-fulfillment-sla-watch.yaml +42 -0
- package/jobs/warehousing/shift-headcount-coverage-check.yaml +33 -0
- package/jobs/warehousing/slotting-velocity-review-check.yaml +44 -0
- package/jobs/warehousing/warehouse-damage-writeoff-review.yaml +41 -0
- package/jobs/warehousing/warehouse-near-miss-incident-rate-watch.yaml +47 -0
- package/jobs/warehousing/warehouse-space-utilization-check.yaml +39 -0
- package/jobs/warehousing/wave-pick-batch-efficiency-check.yaml +33 -0
- package/jobs/warehousing/wms-integration-error-check.yaml +36 -0
- package/jobs/warehousing/yard-trailer-detention-watch.yaml +41 -0
- package/lib/category-descriptions.js +12 -12
- package/lib/duplicates-allowlist.js +15 -0
- 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.
|