@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,33 @@
|
|
|
1
|
+
id: labor-productivity-rate-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Warehouse Labor Productivity Rate Check
|
|
4
|
+
description: >
|
|
5
|
+
Compares units processed per labor hour against a target rate, by
|
|
6
|
+
shift or work area. Use this if a shift's productivity has ever
|
|
7
|
+
quietly drifted below what staffing was planned around, without
|
|
8
|
+
anyone noticing until the labor budget was already blown for the
|
|
9
|
+
month.
|
|
10
|
+
category: warehousing
|
|
11
|
+
tags: [warehousing, labor, productivity, staffing]
|
|
12
|
+
schedule: "0 22 * * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
awk -F',' -v target="{{target_units_per_hour}}" '
|
|
17
|
+
NR==1 {next}
|
|
18
|
+
{
|
|
19
|
+
area=$1; units=$2; hours=$3;
|
|
20
|
+
rate = (hours > 0) ? units / hours : 0;
|
|
21
|
+
status = (rate < target) ? "BELOW TARGET" : "OK";
|
|
22
|
+
printf "%s: %s — %.1f units/hour (%d units / %.1f hours), target %.1f\n", status, area, rate, units, hours, target;
|
|
23
|
+
}
|
|
24
|
+
' "{{shift_productivity_csv_path}}"
|
|
25
|
+
variables:
|
|
26
|
+
shift_productivity_csv_path:
|
|
27
|
+
default: "./shift-productivity-log.csv"
|
|
28
|
+
description: "Path to a CSV with columns: work_area,units_processed,labor_hours — one row per work area per shift."
|
|
29
|
+
target_units_per_hour:
|
|
30
|
+
default: 40
|
|
31
|
+
description: Target minimum units processed per labor hour.
|
|
32
|
+
compatible_agents: [generic, claude, codex]
|
|
33
|
+
notes: Aggregate throughput rate only — pair with pick-pack-error-rate-watch so a "fast" shift isn't just a sloppy one.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
id: mhe-preventive-maintenance-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Material Handling Equipment Preventive Maintenance Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks scheduled preventive maintenance due dates for material
|
|
6
|
+
handling equipment other than forklifts — pallet jacks, order pickers,
|
|
7
|
+
conveyor drive units — and flags anything overdue. Use this if a
|
|
8
|
+
piece of MHE has ever broken down mid-shift for a service item that
|
|
9
|
+
was actually due weeks earlier and nobody was tracking anything but
|
|
10
|
+
the forklifts.
|
|
11
|
+
category: warehousing
|
|
12
|
+
tags: [warehousing, mhe, maintenance, equipment]
|
|
13
|
+
schedule: "0 6 * * 1"
|
|
14
|
+
timezone: "UTC"
|
|
15
|
+
runner: shell
|
|
16
|
+
command: >
|
|
17
|
+
today=$(date +%s);
|
|
18
|
+
awk -F',' -v today="$today" '
|
|
19
|
+
NR==1 {next}
|
|
20
|
+
{
|
|
21
|
+
cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
|
|
22
|
+
cmd | getline due_epoch; close(cmd);
|
|
23
|
+
if (due_epoch < today) {
|
|
24
|
+
days_over = int((today - due_epoch) / 86400);
|
|
25
|
+
printf "OVERDUE: %s (%s) — PM was due %s, %d day(s) overdue\n", $1, $2, $3, days_over;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
' "{{mhe_pm_schedule_csv_path}}"
|
|
29
|
+
variables:
|
|
30
|
+
mhe_pm_schedule_csv_path:
|
|
31
|
+
default: "./mhe-pm-schedule.csv"
|
|
32
|
+
description: "Path to a CSV with columns: equipment_id,equipment_type,next_pm_due_date (YYYY-MM-DD) — one row per unit of MHE, excluding forklifts."
|
|
33
|
+
compatible_agents: [generic, claude, codex]
|
|
34
|
+
notes: >
|
|
35
|
+
Covers non-forklift MHE preventive maintenance schedules. Forklifts
|
|
36
|
+
have their own daily pre-use inspection check
|
|
37
|
+
(forklift-inspection-check); this job tracks scheduled service
|
|
38
|
+
intervals for the rest of the equipment fleet, not daily inspections.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
id: order-fulfillment-sla-watch
|
|
2
|
+
version: 1
|
|
3
|
+
name: Order Fulfillment On-Time-Ship SLA Watch
|
|
4
|
+
description: >
|
|
5
|
+
Checks yesterday's order log for orders that missed their promised
|
|
6
|
+
ship-by date/time and flags the on-time-ship rate against target. Use
|
|
7
|
+
this if an on-time-ship rate has ever slipped for a week before anyone
|
|
8
|
+
outside the warehouse noticed, because nobody was tallying misses
|
|
9
|
+
against the SLA daily.
|
|
10
|
+
category: warehousing
|
|
11
|
+
tags: [warehousing, fulfillment, sla, on-time-ship]
|
|
12
|
+
schedule: "0 6 * * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
awk -F',' -v target="{{on_time_target_pct}}" '
|
|
17
|
+
NR==1 {next}
|
|
18
|
+
{
|
|
19
|
+
total++;
|
|
20
|
+
if ($3 == "late") { late++; print "LATE: order " $1 " — shipped " $2 ", missed ship-by date" }
|
|
21
|
+
}
|
|
22
|
+
END {
|
|
23
|
+
pct = (total > 0) ? ((total - late) / total) * 100 : 0;
|
|
24
|
+
if (pct < target) {
|
|
25
|
+
printf "BELOW TARGET: %.2f%% on-time-ship (%d of %d orders), target %.2f%%\n", pct, total-late, total, target;
|
|
26
|
+
} else {
|
|
27
|
+
printf "OK: %.2f%% on-time-ship (%d of %d orders)\n", pct, total-late, total;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
' "{{orders_csv_path}}"
|
|
31
|
+
variables:
|
|
32
|
+
orders_csv_path:
|
|
33
|
+
default: "./fulfillment-sla-log.csv"
|
|
34
|
+
description: "Path to a CSV with columns: order_id,shipped_at,sla_status (on_time/late) — one row per order shipped in the period."
|
|
35
|
+
on_time_target_pct:
|
|
36
|
+
default: 97.0
|
|
37
|
+
description: Target minimum on-time-ship rate as a percentage.
|
|
38
|
+
compatible_agents: [generic, claude, codex]
|
|
39
|
+
notes: >
|
|
40
|
+
Tracks whether orders shipped by their promised date, distinct from
|
|
41
|
+
pick-pack-error-rate-watch (which tracks fulfillment accuracy — right
|
|
42
|
+
item/quantity — not shipping timeliness).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
id: shift-headcount-coverage-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Warehouse Shift Headcount Coverage Check
|
|
4
|
+
description: >
|
|
5
|
+
Compares scheduled headcount against required headcount per shift and
|
|
6
|
+
flags gaps before the shift starts. Use this if a shift has ever
|
|
7
|
+
started three people short with no time left to call in coverage,
|
|
8
|
+
because the staffing gap wasn't checked until people were already
|
|
9
|
+
clocking in.
|
|
10
|
+
category: warehousing
|
|
11
|
+
tags: [warehousing, labor, staffing, scheduling]
|
|
12
|
+
schedule: "0 5,13 * * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
awk -F',' '
|
|
17
|
+
NR==1 {next}
|
|
18
|
+
{
|
|
19
|
+
shift=$1; required=$2; scheduled=$3;
|
|
20
|
+
gap = required - scheduled;
|
|
21
|
+
if (gap > 0) {
|
|
22
|
+
printf "SHORT: %s shift — scheduled %d of %d required (%d short)\n", shift, scheduled, required, gap;
|
|
23
|
+
} else {
|
|
24
|
+
printf "OK: %s shift — scheduled %d of %d required\n", shift, scheduled, required;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
' "{{shift_staffing_csv_path}}"
|
|
28
|
+
variables:
|
|
29
|
+
shift_staffing_csv_path:
|
|
30
|
+
default: "./shift-staffing-plan.csv"
|
|
31
|
+
description: "Path to a CSV with columns: shift_name,required_headcount,scheduled_headcount — one row per upcoming shift."
|
|
32
|
+
compatible_agents: [generic, claude, codex]
|
|
33
|
+
notes: Checks planned coverage before a shift starts — pair with labor-productivity-rate-check for whether the headcount that did show up actually kept pace.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
id: slotting-velocity-review-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Slotting Velocity Review Check
|
|
4
|
+
description: >
|
|
5
|
+
Reviews SKU pick-frequency data against current storage locations and
|
|
6
|
+
flags fast-movers stuck in slow-to-reach slots (or slow-movers hogging
|
|
7
|
+
prime golden-zone real estate). Use this if pickers have ever walked
|
|
8
|
+
past empty golden-zone slots to reach a high-velocity SKU stashed in
|
|
9
|
+
the back corner because the slotting plan was never revisited after
|
|
10
|
+
demand shifted.
|
|
11
|
+
category: warehousing
|
|
12
|
+
tags: [warehousing, slotting, velocity, layout-optimization]
|
|
13
|
+
schedule: "0 9 1 * *"
|
|
14
|
+
timezone: "UTC"
|
|
15
|
+
runner: agent-prompt
|
|
16
|
+
prompt: |
|
|
17
|
+
Pull the last {{lookback_days}} days of pick-frequency data per SKU
|
|
18
|
+
along with each SKU's current storage location from {{data_source}}.
|
|
19
|
+
1. Rank SKUs by pick frequency and identify the top
|
|
20
|
+
{{top_mover_pct}}% by volume.
|
|
21
|
+
2. Flag any top mover currently stored outside a golden-zone/easy-reach
|
|
22
|
+
location (e.g. upper reserve racking, far aisle) — these are prime
|
|
23
|
+
re-slotting candidates.
|
|
24
|
+
3. Flag any slow-mover (bottom {{top_mover_pct}}%) currently occupying
|
|
25
|
+
a golden-zone slot that a fast-mover could use instead.
|
|
26
|
+
4. Summarize the highest-impact re-slotting swaps (biggest expected
|
|
27
|
+
travel-time savings), not every mismatch found.
|
|
28
|
+
variables:
|
|
29
|
+
data_source:
|
|
30
|
+
default: "your WMS pick history and slotting/location report"
|
|
31
|
+
description: System of record for pick frequency per SKU and current slot assignment.
|
|
32
|
+
lookback_days:
|
|
33
|
+
default: 90
|
|
34
|
+
description: Days of pick history to analyze for velocity ranking.
|
|
35
|
+
top_mover_pct:
|
|
36
|
+
default: 20
|
|
37
|
+
description: Percentage cutoff (by pick volume) used to define "top movers" and "slow movers."
|
|
38
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
39
|
+
notes: >
|
|
40
|
+
This is a periodic optimization review, not a daily operational check —
|
|
41
|
+
re-slotting recommendations still need a supervisor to schedule the
|
|
42
|
+
physical moves. Distinct from pallet-putaway-delay-check, which tracks
|
|
43
|
+
how fast pallets get put away, not whether the slot they're put away
|
|
44
|
+
into is the right one.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
id: warehouse-damage-writeoff-review
|
|
2
|
+
version: 1
|
|
3
|
+
name: Warehouse Damage Write-Off Review
|
|
4
|
+
description: >
|
|
5
|
+
Reviews inventory damaged inside the facility during handling
|
|
6
|
+
(dropped in putaway, forklift contact, racking collapse) and flags
|
|
7
|
+
cases pending a write-off decision, along with any recurring cause
|
|
8
|
+
worth fixing. Use this if damaged inventory has ever sat on a "to be
|
|
9
|
+
reviewed" pallet for weeks because nobody owned the write-off
|
|
10
|
+
decision.
|
|
11
|
+
category: warehousing
|
|
12
|
+
tags: [warehousing, damage, write-off, loss-prevention]
|
|
13
|
+
schedule: "0 9 * * 1"
|
|
14
|
+
timezone: "UTC"
|
|
15
|
+
runner: agent-prompt
|
|
16
|
+
prompt: |
|
|
17
|
+
Pull the in-facility damage log for the last {{lookback_days}} days
|
|
18
|
+
from {{data_source}}.
|
|
19
|
+
1. List damage incidents still pending a write-off/disposition
|
|
20
|
+
decision, with the SKU, estimated value, and days pending.
|
|
21
|
+
2. Group incidents by likely cause (handling, equipment contact,
|
|
22
|
+
racking, storage stacking) and flag any cause responsible for more
|
|
23
|
+
than {{recurring_cause_threshold}} incidents in the period as a
|
|
24
|
+
recurring problem worth a process or equipment fix, not just a
|
|
25
|
+
write-off.
|
|
26
|
+
3. Total the estimated dollar value of pending write-offs.
|
|
27
|
+
variables:
|
|
28
|
+
data_source:
|
|
29
|
+
default: "your damage/loss-prevention log"
|
|
30
|
+
description: System of record for in-facility inventory damage incidents.
|
|
31
|
+
lookback_days:
|
|
32
|
+
default: 30
|
|
33
|
+
description: Days of damage log history to review.
|
|
34
|
+
recurring_cause_threshold:
|
|
35
|
+
default: 3
|
|
36
|
+
description: Number of incidents sharing a cause in the period before it's flagged as recurring.
|
|
37
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
38
|
+
notes: >
|
|
39
|
+
Covers damage caused inside the facility during handling/storage, not
|
|
40
|
+
customer returns — distinct from returns-processing-backlog-check,
|
|
41
|
+
which tracks turnaround time on inbound customer RMAs.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
id: warehouse-near-miss-incident-rate-watch
|
|
2
|
+
version: 1
|
|
3
|
+
name: Warehouse Near-Miss & Incident Rate Watch
|
|
4
|
+
description: >
|
|
5
|
+
Reviews the safety incident log for a trend in near-misses and minor
|
|
6
|
+
injuries on the warehouse floor against a rolling benchmark, and
|
|
7
|
+
looks for a common thread (location, shift, equipment) before it
|
|
8
|
+
becomes a serious injury. Use this if near-misses have ever piled up
|
|
9
|
+
in the log unread until a lost-time injury made someone finally go
|
|
10
|
+
looking for a pattern that was there the whole time.
|
|
11
|
+
category: warehousing
|
|
12
|
+
tags: [warehousing, safety, incidents, near-miss]
|
|
13
|
+
schedule: "0 8 * * 1"
|
|
14
|
+
timezone: "UTC"
|
|
15
|
+
runner: agent-prompt
|
|
16
|
+
prompt: |
|
|
17
|
+
Pull the last {{lookback_weeks}} weeks of safety incident and
|
|
18
|
+
near-miss reports from {{data_source}}.
|
|
19
|
+
1. Calculate the incident rate for the period and compare it to the
|
|
20
|
+
trailing {{baseline_weeks}}-week average.
|
|
21
|
+
2. If the rate is trending up by more than {{trend_threshold_pct}}%,
|
|
22
|
+
flag it and look for a common thread across the reports — same
|
|
23
|
+
zone, same shift, same equipment type, same task.
|
|
24
|
+
3. List any near-miss that involved equipment already flagged in a
|
|
25
|
+
recent MHE maintenance or forklift inspection check, since that's
|
|
26
|
+
a compounding risk worth escalating immediately.
|
|
27
|
+
4. Summarize the trend and any pattern found in plain language for a
|
|
28
|
+
safety walk the next morning.
|
|
29
|
+
variables:
|
|
30
|
+
data_source:
|
|
31
|
+
default: "your incident/near-miss reporting log"
|
|
32
|
+
description: System of record for warehouse floor incident and near-miss reports.
|
|
33
|
+
lookback_weeks:
|
|
34
|
+
default: 4
|
|
35
|
+
description: Weeks of incident data to analyze for the current period.
|
|
36
|
+
baseline_weeks:
|
|
37
|
+
default: 12
|
|
38
|
+
description: Weeks of trailing history used to compute the baseline incident rate.
|
|
39
|
+
trend_threshold_pct:
|
|
40
|
+
default: 20
|
|
41
|
+
description: Percentage increase over baseline that triggers a trend flag.
|
|
42
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
43
|
+
notes: >
|
|
44
|
+
Tracks incident rate trend and pattern-finding across the floor,
|
|
45
|
+
distinct from manufacturing's osha-recordable-incident-audit (which
|
|
46
|
+
checks whether a single recordable incident got logged on the OSHA
|
|
47
|
+
300 form within a deadline, not the rate or pattern across incidents).
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
id: warehouse-space-utilization-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Warehouse Space Utilization Check
|
|
4
|
+
description: >
|
|
5
|
+
Reviews storage location occupancy against total capacity by zone and
|
|
6
|
+
flags zones running near overflow or sitting oddly empty. Use this if
|
|
7
|
+
a zone has ever hit effective capacity without warning, forcing
|
|
8
|
+
overflow pallets into aisles because nobody was watching utilization
|
|
9
|
+
trend toward full.
|
|
10
|
+
category: warehousing
|
|
11
|
+
tags: [warehousing, space-utilization, capacity, planning]
|
|
12
|
+
schedule: "0 8 * * 1"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: agent-prompt
|
|
15
|
+
prompt: |
|
|
16
|
+
Pull current occupied-location counts and total location capacity per
|
|
17
|
+
zone from {{data_source}}.
|
|
18
|
+
1. Calculate utilization percentage per zone.
|
|
19
|
+
2. Flag any zone at or above {{high_utilization_pct}}% as at risk of
|
|
20
|
+
overflow — likely to force out-of-location or aisle storage soon.
|
|
21
|
+
3. Flag any zone at or below {{low_utilization_pct}}% as a candidate
|
|
22
|
+
for consolidation or reallocation to a busier zone.
|
|
23
|
+
4. Summarize the overall facility utilization rate and call out the
|
|
24
|
+
trend versus last week's report if history is available.
|
|
25
|
+
variables:
|
|
26
|
+
data_source:
|
|
27
|
+
default: "your WMS location/capacity report"
|
|
28
|
+
description: System of record for storage location occupancy and capacity per zone.
|
|
29
|
+
high_utilization_pct:
|
|
30
|
+
default: 90
|
|
31
|
+
description: Utilization percentage at or above which a zone is flagged as overflow risk.
|
|
32
|
+
low_utilization_pct:
|
|
33
|
+
default: 30
|
|
34
|
+
description: Utilization percentage at or below which a zone is flagged as underused.
|
|
35
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
36
|
+
notes: >
|
|
37
|
+
Facility-level capacity planning signal, distinct from
|
|
38
|
+
slotting-velocity-review-check (which is about whether the right SKU
|
|
39
|
+
is in the right slot, not how full the zone is overall).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
id: wave-pick-batch-efficiency-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Wave/Batch Picking Efficiency Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks completed picking waves against a target completion time and
|
|
6
|
+
flags waves that ran long. Use this if a wave has ever spilled past
|
|
7
|
+
its window and pushed the whole outbound schedule back before anyone
|
|
8
|
+
noticed the wave itself, not the individual pickers, was the problem.
|
|
9
|
+
category: warehousing
|
|
10
|
+
tags: [warehousing, wave-picking, batch-picking, throughput]
|
|
11
|
+
schedule: "0 20 * * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
awk -F',' -v target="{{target_wave_minutes}}" '
|
|
16
|
+
NR==1 {next}
|
|
17
|
+
{
|
|
18
|
+
wave=$1; lines=$2; minutes=$3;
|
|
19
|
+
rate = (minutes > 0) ? lines / minutes : 0;
|
|
20
|
+
if (minutes > target) {
|
|
21
|
+
printf "OVER TARGET: wave %s — %d line(s) in %d min (%.2f lines/min), target %d min\n", wave, lines, minutes, rate, target;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
' "{{wave_log_csv_path}}"
|
|
25
|
+
variables:
|
|
26
|
+
wave_log_csv_path:
|
|
27
|
+
default: "./wave-pick-log.csv"
|
|
28
|
+
description: "Path to a CSV with columns: wave_id,order_lines,completion_minutes — one row per completed picking wave."
|
|
29
|
+
target_wave_minutes:
|
|
30
|
+
default: 90
|
|
31
|
+
description: Target maximum minutes to complete a picking wave/batch.
|
|
32
|
+
compatible_agents: [generic, claude, codex]
|
|
33
|
+
notes: Measures wave-level completion time, not individual picker accuracy — pair with pick-pack-error-rate-watch for the quality side.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
id: wms-integration-error-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: WMS Integration Error Queue Check
|
|
4
|
+
description: >
|
|
5
|
+
Scans the warehouse management system's integration error queue
|
|
6
|
+
(failed order imports, ASN mismatches, inventory sync failures) and
|
|
7
|
+
flags anything sitting unresolved past a target age. Use this if a
|
|
8
|
+
failed inbound order sync has ever sat quietly in an error queue for
|
|
9
|
+
days while the warehouse floor had no idea the order even existed.
|
|
10
|
+
category: warehousing
|
|
11
|
+
tags: [warehousing, wms, integration, systems]
|
|
12
|
+
schedule: "*/30 * * * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
now=$(date +%s);
|
|
17
|
+
awk -F',' -v now="$now" -v max_minutes="{{max_unresolved_minutes}}" '
|
|
18
|
+
NR==1 {next}
|
|
19
|
+
$4 == "unresolved" {
|
|
20
|
+
cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f \"%Y-%m-%d %H:%M\" \"" $2 "\" +%s 2>/dev/null";
|
|
21
|
+
cmd | getline occurred_epoch; close(cmd);
|
|
22
|
+
age_minutes = (now - occurred_epoch) / 60;
|
|
23
|
+
if (age_minutes >= max_minutes) {
|
|
24
|
+
printf "UNRESOLVED: error %s (%s) — occurred %s, %d minute(s) old\n", $1, $3, $2, age_minutes;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
' "{{wms_error_queue_csv_path}}"
|
|
28
|
+
variables:
|
|
29
|
+
wms_error_queue_csv_path:
|
|
30
|
+
default: "./wms-error-queue.csv"
|
|
31
|
+
description: "Path to a CSV with columns: error_id,occurred_at (YYYY-MM-DD HH:MM),error_type (order_import/asn_mismatch/inventory_sync/etc),status (unresolved/resolved)."
|
|
32
|
+
max_unresolved_minutes:
|
|
33
|
+
default: 60
|
|
34
|
+
description: Minutes an integration error can sit unresolved before it's flagged.
|
|
35
|
+
compatible_agents: [generic, claude, codex]
|
|
36
|
+
notes: Zero-token systems-health check on the integration layer itself — it doesn't diagnose the underlying data mismatch, just surfaces that one is sitting unresolved.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
id: yard-trailer-detention-watch
|
|
2
|
+
version: 1
|
|
3
|
+
name: Yard Trailer Detention Watch
|
|
4
|
+
description: >
|
|
5
|
+
Checks trailers currently parked in the facility's own yard against
|
|
6
|
+
their free-time window and flags any at risk of detention charges.
|
|
7
|
+
Use this if a trailer has ever sat in the yard so long that a
|
|
8
|
+
detention invoice showed up before anyone realized it was still
|
|
9
|
+
parked out there.
|
|
10
|
+
category: warehousing
|
|
11
|
+
tags: [warehousing, yard-management, detention, trailers]
|
|
12
|
+
schedule: "0 */3 * * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
now=$(date +%s);
|
|
17
|
+
awk -F',' -v now="$now" -v free_hours="{{free_time_hours}}" '
|
|
18
|
+
NR==1 {next}
|
|
19
|
+
$4 != "departed" {
|
|
20
|
+
cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f \"%Y-%m-%d %H:%M\" \"" $2 "\" +%s 2>/dev/null";
|
|
21
|
+
cmd | getline arrived_epoch; close(cmd);
|
|
22
|
+
yard_hours = (now - arrived_epoch) / 3600;
|
|
23
|
+
if (yard_hours >= free_hours) {
|
|
24
|
+
printf "DETENTION RISK: trailer %s (carrier %s) — %.1fh in yard (arrived %s), free time %dh\n", $1, $3, yard_hours, $2, free_hours;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
' "{{yard_log_csv_path}}"
|
|
28
|
+
variables:
|
|
29
|
+
yard_log_csv_path:
|
|
30
|
+
default: "./yard-trailer-log.csv"
|
|
31
|
+
description: "Path to a CSV with columns: trailer_id,arrived_at (YYYY-MM-DD HH:MM),carrier,status (in_yard/spotted/departed)."
|
|
32
|
+
free_time_hours:
|
|
33
|
+
default: 48
|
|
34
|
+
description: Hours a trailer can sit in the yard before detention charges typically apply.
|
|
35
|
+
compatible_agents: [generic, claude, codex]
|
|
36
|
+
notes: >
|
|
37
|
+
Tracks trailer-in-yard detention risk at this facility's own yard, at
|
|
38
|
+
the destination/origin end of a move. Distinct from logistics'
|
|
39
|
+
cross-dock-dwell-time-watch, which tracks freight dwell mid-transit
|
|
40
|
+
through a third-party cross-dock, and from container-demurrage-fee-watch,
|
|
41
|
+
which covers ocean containers at a port rather than trailers at a yard.
|
|
@@ -4,44 +4,44 @@
|
|
|
4
4
|
// from scripts/build-catalog.js, not a hard failure).
|
|
5
5
|
export const CATEGORY_DESCRIPTIONS = {
|
|
6
6
|
agriculture: "Farm operations — weather risk, irrigation, equipment, market prices.",
|
|
7
|
-
automotive: "
|
|
7
|
+
automotive: "Dealership and repair shop ops — repair orders, parts, loaners, recalls, F&I, used inventory, CSI.",
|
|
8
8
|
childcare: "Daycare compliance and ops — ratios, immunizations, tuition.",
|
|
9
|
-
construction: "Job site
|
|
9
|
+
construction: "Job site ops — permits, RFIs, submittals, safety, payments, budget vs. actual.",
|
|
10
10
|
content: "Site/content health — SEO, broken links, freshness, repurposing.",
|
|
11
11
|
creator: "Influencer/creator ops — content calendar, cross-posting, sponsorships.",
|
|
12
12
|
crypto: "Wallets, gas prices, DeFi risk, and token unlock schedules.",
|
|
13
13
|
devops: "Infra health — backups, deploys, dependencies, monitoring.",
|
|
14
14
|
ecommerce: "Storefront ops — carts, stock, returns, reviews.",
|
|
15
|
-
education: "
|
|
15
|
+
education: "School/district ops — grading, attendance, IEP compliance, staffing, facilities, budget.",
|
|
16
16
|
events: "Event planning — budget, RSVPs, staffing, vendors, day-of check-in.",
|
|
17
17
|
fieldservice: "Dispatch ops — tech ETAs, parts, warranty claims, maintenance contracts.",
|
|
18
18
|
finance: "Personal/business finance — budgets, invoices, taxes, subscriptions.",
|
|
19
19
|
fitness: "Gym/studio ops — memberships, class utilization, equipment.",
|
|
20
|
-
fleet: "
|
|
20
|
+
fleet: "Company vehicle fleet ops — compliance, maintenance, safety, fuel, cost, scheduling.",
|
|
21
21
|
gaming: "Streaming and community server ops — schedules, patches, tournaments.",
|
|
22
22
|
government: "Public-sector ops — records requests, permits, constituent casework.",
|
|
23
|
-
growth: "Lifecycle marketing — churn, trials, onboarding,
|
|
23
|
+
growth: "Lifecycle marketing — churn, trials, onboarding, activation, expansion, retention, NPS.",
|
|
24
24
|
healthcare: "Clinic ops — appointments, recalls, licenses, lab results.",
|
|
25
25
|
hiring: "Recruiting pipeline — candidates, offers, interviews, reqs.",
|
|
26
26
|
home: "Household reminders — maintenance, warranties, plants, safety.",
|
|
27
|
-
hospitality: "Hotel ops —
|
|
27
|
+
hospitality: "Hotel ops — revenue management, reservations, housekeeping, guest experience, loyalty.",
|
|
28
28
|
hr: "People ops — payroll, onboarding, benefits, reviews, offboarding.",
|
|
29
|
-
insurance: "Policy
|
|
29
|
+
insurance: "Policy & carrier ops — renewals, claims, underwriting, compliance.",
|
|
30
30
|
inventory: "Stock accuracy — counts, shrinkage, expiry, overstock.",
|
|
31
31
|
investing: "Portfolio tracking — prices, dividends, rebalancing, taxes.",
|
|
32
32
|
learning: "Personal learning — certs, courses, flashcards, reading.",
|
|
33
33
|
legal: "Contracts and deadlines — NDAs, trademarks, court, compliance filings.",
|
|
34
34
|
logistics: "Shipping ops — customs, freight, delays, fees.",
|
|
35
35
|
manufacturing: "Production ops — downtime, defects, maintenance, suppliers, materials.",
|
|
36
|
-
marketing: "Campaign ops — ad spend, SEO rank, deliverability, competitors.",
|
|
36
|
+
marketing: "Campaign ops — ad spend, ROAS, SEO rank, deliverability, attribution, competitors, MQLs, PR.",
|
|
37
37
|
nonprofit: "Fundraising ops — grants, donors, volunteers, board follow-ups.",
|
|
38
38
|
personal: "Daily life reminders — bills, habits, meals, screen time.",
|
|
39
39
|
podcast: "Show ops — publish cadence, guests, sponsors, ratings.",
|
|
40
40
|
productivity: "Work habits — inbox, standups, focus, meetings, reports.",
|
|
41
41
|
publishing: "Book/print ops — manuscript deadlines, royalties, print runs, rights.",
|
|
42
42
|
realestate: "Property management — leases, rent, vacancy, inspections, tax.",
|
|
43
|
-
restaurant: "Kitchen/FOH ops — food cost, labor cost, waste, inspections.",
|
|
44
|
-
retail: "
|
|
43
|
+
restaurant: "Kitchen/FOH ops — food cost, labor cost, waste, inspections, POS, menu margins.",
|
|
44
|
+
retail: "Physical store ops — till reconciliation, checklists, scheduling, merchandising, loss prevention, pricing.",
|
|
45
45
|
sales: "Pipeline ops — leads, deals, quota, CRM sync.",
|
|
46
46
|
security: "Security posture — keys, certs, access, scans, firewalls.",
|
|
47
47
|
spa: "Salon/spa/wellness ops — no-shows, inventory, license renewals, membership churn.",
|
|
@@ -49,6 +49,6 @@ export const CATEGORY_DESCRIPTIONS = {
|
|
|
49
49
|
team: "Team ops — 1:1s, on-call, PTO, anniversaries.",
|
|
50
50
|
telecom: "ISP/telecom ops — outages, SLA uptime, circuit provisioning, churn.",
|
|
51
51
|
travel: "Trip logistics — flights, passports, visas, insurance, miles.",
|
|
52
|
-
veterinary: "Clinic ops for animals — vaccines, controlled substances, boarding.",
|
|
53
|
-
warehousing: "Warehouse ops — dock scheduling, pick/pack
|
|
52
|
+
veterinary: "Clinic ops for animals — vaccines, controlled substances, boarding, surgery scheduling, records, billing, licensing.",
|
|
53
|
+
warehousing: "Warehouse facility ops — dock scheduling, pick/pack, slotting, labor, maintenance, safety.",
|
|
54
54
|
};
|
|
@@ -16,6 +16,21 @@ export const ALLOWED_DUPLICATE_PAIRS = [
|
|
|
16
16
|
"warranty-claim-expiry-check",
|
|
17
17
|
"Same deadline-check pattern, different domains — automotive repair-order warranty claims vs. HVAC/appliance manufacturer warranty claims.",
|
|
18
18
|
],
|
|
19
|
+
[
|
|
20
|
+
"claim-status-check",
|
|
21
|
+
"landlord-insurance-claim-status-check",
|
|
22
|
+
"Same stale-claim-followup goal, different mechanism and scale — generic insurance job is agent-prompt for a single policyholder's claims; realestate job is a zero-token shell scan over a property portfolio's claims CSV.",
|
|
23
|
+
],
|
|
24
|
+
[
|
|
25
|
+
"competitor-price-watch",
|
|
26
|
+
"competitor-price-monitoring-check",
|
|
27
|
+
"Same competitor-pricing goal, different mechanism — ecommerce job scrapes a competitor's live product page URL per SKU via regex; retail job is an agent-prompt reading a brick-and-mortar competitor's weekly flyer/in-store photos, since there's no comparable URL for a physical shelf price.",
|
|
28
|
+
],
|
|
29
|
+
[
|
|
30
|
+
"prescription-refill-request-backlog-check",
|
|
31
|
+
"pet-medication-refill-backlog-check",
|
|
32
|
+
"Same stale-refill-request pattern, different domains — healthcare job tracks human patient prescription refills; veterinary job tracks pet medication/food refill requests from clinic clients. Intentionally parallel jobs, not a copy-paste duplicate.",
|
|
33
|
+
],
|
|
19
34
|
];
|
|
20
35
|
|
|
21
36
|
export function isAllowedPair(idA, idB) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wonsukchoi/crondex",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "A public directory of pre-made, agent-editable cron jobs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"lint-shell": "node scripts/lint-shell.js",
|
|
39
39
|
"check-duplicates": "node scripts/check-duplicates.js",
|
|
40
40
|
"smoke-test": "node scripts/smoke-test.js",
|
|
41
|
-
"test": "node --test"
|
|
41
|
+
"test": "node --test test/*.test.js"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"js-yaml": "^4.1.0"
|