@wonsukchoi/crondex 0.18.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -40
- package/catalog.json +1955 -58
- package/jobs/agriculture/field-soil-test-due-reminder.yaml +35 -0
- package/jobs/agriculture/grain-storage-temperature-check.yaml +34 -0
- package/jobs/automotive/fleet-inspection-expiry-check.yaml +35 -0
- package/jobs/automotive/warranty-claim-deadline-check.yaml +35 -0
- package/jobs/childcare/allergy-action-plan-expiry-check.yaml +34 -0
- package/jobs/childcare/classroom-supply-low-stock-check.yaml +28 -0
- package/jobs/construction/crew-safety-cert-expiry-check.yaml +35 -0
- package/jobs/construction/material-delivery-delay-check.yaml +32 -0
- package/jobs/creator/affiliate-link-expiry-check.yaml +35 -0
- package/jobs/creator/brand-deal-payment-followup-check.yaml +32 -0
- package/jobs/crypto/nft-floor-price-watch.yaml +37 -0
- package/jobs/crypto/stablecoin-peg-deviation-watch.yaml +33 -0
- package/jobs/ecommerce/coupon-code-expiry-check.yaml +36 -0
- package/jobs/ecommerce/shipping-delay-check.yaml +31 -0
- package/jobs/education/overdue-library-materials-check.yaml +34 -0
- package/jobs/education/tuition-payment-plan-delinquency-check.yaml +35 -0
- package/jobs/events/post-event-survey-response-rate-watch.yaml +39 -0
- package/jobs/events/speaker-confirmation-deadline-check.yaml +35 -0
- package/jobs/fitness/class-waitlist-overflow-check.yaml +31 -0
- package/jobs/fitness/locker-rental-expiry-check.yaml +35 -0
- package/jobs/fleet/fleet-insurance-expiry-check.yaml +34 -0
- package/jobs/fleet/vehicle-idle-time-check.yaml +31 -0
- package/jobs/gaming/game-server-disk-space-check.yaml +34 -0
- package/jobs/gaming/player-contract-renewal-check.yaml +35 -0
- package/jobs/government/public-comment-period-closing-check.yaml +35 -0
- package/jobs/government/public-records-retention-purge-check.yaml +32 -0
- package/jobs/growth/onboarding-completion-stall-check.yaml +38 -0
- package/jobs/growth/seat-utilization-upsell-check.yaml +34 -0
- package/jobs/healthcare/medical-equipment-calibration-check.yaml +35 -0
- package/jobs/healthcare/referral-pending-followup-check.yaml +36 -0
- package/jobs/hiring/job-posting-expiry-check.yaml +41 -0
- package/jobs/hiring/reference-check-overdue-reminder.yaml +36 -0
- package/jobs/home/gutter-cleaning-reminder.yaml +30 -0
- package/jobs/home/utility-bill-anomaly-check.yaml +36 -0
- package/jobs/hospitality/housekeeping-turnover-time-check.yaml +41 -0
- package/jobs/hospitality/lost-and-found-item-aging-check.yaml +36 -0
- package/jobs/hr/i9-reverification-deadline-check.yaml +36 -0
- package/jobs/hr/probation-period-review-reminder.yaml +36 -0
- package/jobs/insurance/beneficiary-designation-review-reminder.yaml +35 -0
- package/jobs/insurance/endorsement-request-followup-check.yaml +37 -0
- package/jobs/inventory/purchase-order-receiving-delay-check.yaml +33 -0
- package/jobs/inventory/supplier-lead-time-drift-check.yaml +34 -0
- package/jobs/investing/bond-cd-maturity-reminder.yaml +31 -0
- package/jobs/investing/dca-contribution-reminder.yaml +33 -0
- package/jobs/learning/practice-streak-check.yaml +33 -0
- package/jobs/learning/webinar-attendance-reminder.yaml +32 -0
- package/jobs/legal/business-license-renewal-check.yaml +37 -0
- package/jobs/legal/patent-maintenance-fee-reminder.yaml +35 -0
- package/jobs/logistics/driver-hos-compliance-check.yaml +38 -0
- package/jobs/logistics/port-congestion-watch.yaml +34 -0
- package/jobs/manufacturing/energy-consumption-spike-check.yaml +37 -0
- package/jobs/manufacturing/equipment-calibration-due-check.yaml +32 -0
- package/jobs/marketing/broken-campaign-link-check.yaml +31 -0
- package/jobs/marketing/newsletter-unsubscribe-spike-check.yaml +37 -0
- package/jobs/nonprofit/donation-acknowledgment-lag-check.yaml +32 -0
- package/jobs/nonprofit/event-rsvp-shortfall-check.yaml +40 -0
- package/jobs/podcast/rss-feed-health-check.yaml +25 -0
- package/jobs/podcast/transcript-publish-lag-check.yaml +31 -0
- package/jobs/realestate/hoa-fee-collection-check.yaml +35 -0
- package/jobs/realestate/insurance-policy-renewal-reminder.yaml +31 -0
- package/jobs/restaurant/supplier-price-increase-watch.yaml +36 -0
- package/jobs/restaurant/walk-in-cooler-temp-log-check.yaml +31 -0
- package/jobs/retail/loyalty-points-expiry-reminder.yaml +31 -0
- package/jobs/retail/markdown-aging-inventory-check.yaml +33 -0
- package/jobs/sales/proposal-followup-nudge.yaml +31 -0
- package/jobs/sales/quote-expiry-reminder.yaml +24 -0
- package/jobs/support/knowledge-base-article-staleness-check.yaml +39 -0
- package/jobs/support/macro-usage-staleness-check.yaml +33 -0
- package/jobs/team/expense-report-deadline-reminder.yaml +28 -0
- package/jobs/team/new-hire-onboarding-task-check.yaml +32 -0
- package/jobs/travel/flight-layover-buffer-check.yaml +35 -0
- package/jobs/travel/hotel-cancellation-deadline-reminder.yaml +32 -0
- package/jobs/veterinary/lab-result-turnaround-check.yaml +35 -0
- package/jobs/veterinary/medication-inventory-expiry-check.yaml +31 -0
- package/jobs/warehousing/pallet-putaway-delay-check.yaml +35 -0
- package/jobs/warehousing/returns-processing-backlog-check.yaml +33 -0
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
id: medication-inventory-expiry-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Medication Inventory Expiry Check
|
|
4
|
+
description: >
|
|
5
|
+
Scans the clinic's drug and vaccine inventory log for items expiring
|
|
6
|
+
soon so they can be used, returned, or discarded before they go bad.
|
|
7
|
+
Use this if expired medication has ever turned up still on the shelf
|
|
8
|
+
during an audit.
|
|
9
|
+
category: veterinary
|
|
10
|
+
tags: [veterinary, inventory, medication, expiry]
|
|
11
|
+
schedule: "0 8 * * 1"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
today_epoch=$(date +%s); warn_days={{warn_days_before_expiry}};
|
|
16
|
+
{ read -r header; while IFS=',' read -r drug lot expiry; do
|
|
17
|
+
[ -z "$drug" ] && continue;
|
|
18
|
+
exp_epoch=$(date -j -f %Y-%m-%d "$expiry" +%s 2>/dev/null || date -d "$expiry" +%s);
|
|
19
|
+
days_left=$(( (exp_epoch-today_epoch)/86400 ));
|
|
20
|
+
if [ "$days_left" -lt 0 ]; then echo "EXPIRED: $drug (lot $lot) expired on $expiry — remove from shelf.";
|
|
21
|
+
elif [ "$days_left" -le "$warn_days" ]; then echo "EXPIRING SOON: $drug (lot $lot), $days_left day(s) left ($expiry)."; fi
|
|
22
|
+
done; } < "{{inventory_csv_path}}"
|
|
23
|
+
variables:
|
|
24
|
+
inventory_csv_path:
|
|
25
|
+
default: "./medication-inventory.csv"
|
|
26
|
+
description: "Path to a CSV with columns: drug_name,lot_number,expiry_date (YYYY-MM-DD)."
|
|
27
|
+
warn_days_before_expiry:
|
|
28
|
+
default: 30
|
|
29
|
+
description: Flag items expiring within this many days.
|
|
30
|
+
compatible_agents: [generic, claude, codex]
|
|
31
|
+
notes: Zero-token. Read-only check — always visually confirm an item before discarding or returning it.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
id: pallet-putaway-delay-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Pallet Putaway Delay Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks how long received pallets have been sitting in the receiving
|
|
6
|
+
area before getting put away, and flags anything stuck too long. Use
|
|
7
|
+
this if inventory has ever gone "missing" only to turn up still
|
|
8
|
+
shrink-wrapped on a receiving pallet from three days ago.
|
|
9
|
+
category: warehousing
|
|
10
|
+
tags: [warehousing, receiving, putaway, inventory]
|
|
11
|
+
schedule: "0 */2 * * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
now=$(date +%s);
|
|
16
|
+
awk -F',' -v now="$now" -v max_hours="{{max_hours_in_receiving}}" '
|
|
17
|
+
NR==1 {next}
|
|
18
|
+
$4 == "received" {
|
|
19
|
+
cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f \"%Y-%m-%d %H:%M\" \"" $2 "\" +%s 2>/dev/null";
|
|
20
|
+
cmd | getline received_epoch; close(cmd);
|
|
21
|
+
age_hours = (now - received_epoch) / 3600;
|
|
22
|
+
if (age_hours >= max_hours) {
|
|
23
|
+
printf "STUCK: pallet %s — received %s (%d hour(s) ago), still not put away\n", $1, $2, age_hours;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
' "{{receiving_log_csv_path}}"
|
|
27
|
+
variables:
|
|
28
|
+
receiving_log_csv_path:
|
|
29
|
+
default: "./receiving-log.csv"
|
|
30
|
+
description: "Path to a CSV with columns: pallet_id,received_time (YYYY-MM-DD HH:MM),zone,status (received/put_away)."
|
|
31
|
+
max_hours_in_receiving:
|
|
32
|
+
default: 24
|
|
33
|
+
description: Hours a pallet can sit in receiving before it's flagged as a putaway delay.
|
|
34
|
+
compatible_agents: [generic, claude, codex]
|
|
35
|
+
notes: This checks time-in-receiving only — pair with `cycle-count-schedule-check` for whether the eventual putaway locations get counted on schedule.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
id: returns-processing-backlog-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Returns Processing Backlog Check
|
|
4
|
+
description: >
|
|
5
|
+
Scans the returns log for items that have sat unprocessed longer than
|
|
6
|
+
your target turnaround time. Use this if returned inventory has ever
|
|
7
|
+
piled up because nobody was tracking how long items had been waiting
|
|
8
|
+
to be inspected and restocked or disposed of.
|
|
9
|
+
category: warehousing
|
|
10
|
+
tags: [warehousing, returns, backlog, logistics]
|
|
11
|
+
schedule: "0 7 * * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
today_epoch=$(date +%s); max_days={{max_days_in_queue}};
|
|
16
|
+
{ read -r header; while IFS=',' read -r rma_id received_date status; do
|
|
17
|
+
[ -z "$rma_id" ] && continue;
|
|
18
|
+
[ "$status" = "processed" ] && continue;
|
|
19
|
+
recv_epoch=$(date -j -f %Y-%m-%d "$received_date" +%s 2>/dev/null || date -d "$received_date" +%s);
|
|
20
|
+
days_waiting=$(( (today_epoch-recv_epoch)/86400 ));
|
|
21
|
+
if [ "$days_waiting" -ge "$max_days" ]; then
|
|
22
|
+
echo "BACKLOGGED: RMA $rma_id received $received_date, $days_waiting day(s) unprocessed (status: $status).";
|
|
23
|
+
fi
|
|
24
|
+
done; } < "{{returns_log_csv_path}}"
|
|
25
|
+
variables:
|
|
26
|
+
returns_log_csv_path:
|
|
27
|
+
default: "./returns-log.csv"
|
|
28
|
+
description: "Path to a CSV with columns: rma_id,received_date (YYYY-MM-DD),status (processed/pending/etc)."
|
|
29
|
+
max_days_in_queue:
|
|
30
|
+
default: 3
|
|
31
|
+
description: Flag returns that have sat unprocessed this many days or longer.
|
|
32
|
+
compatible_agents: [generic, claude, codex]
|
|
33
|
+
notes: Zero-token. Assumes one row per return in the CSV; any status other than "processed" is treated as still in queue.
|