Scan reagent bottle barcodes or IDs, log expiration dates, and alert before expiry to support safe laboratory inventory management.
bash
python -m py_compile scripts/main.py
python scripts/main.py --help
--expiry is provided, validate that it is a valid YYYY-MM-DD date. If the date is in the past, emit a warning: "This reagent is already expired as of [date]. It will be logged with an Expired alert status."text
# Log a new reagent
python scripts/main.py --scan "REAGENT-001" --name "Tris Buffer" --expiry 2025-12-31 --location "Shelf A"
# Check for upcoming expirations
python scripts/main.py --check-alerts --alert-days 30
# Check with custom alert window
python scripts/main.py --check-alerts --alert-days 60
ParameterTypeRequiredDefaultDescription--scanstringNo—Reagent barcode or ID--namestringNo—Reagent name--expirydateNo—Expiration date (YYYY-MM-DD)--locationstringNo—Storage location--quantitystringNo—Quantity on hand--check-alertsflagNo—Check for upcoming expirations--alert-daysintegerNo30Days before expiry to alert
For complex multi-constraint requests, always include these explicit blocks:
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.This skill accepts: reagent barcode/ID and expiry date for logging, or a check-alerts request for inventory review.
If the request does not involve reagent expiry tracking — for example, asking for chemical hazard assessment, waste disposal guidance, or controlled substance management — do not proceed with the workflow. Instead respond:
"reagent-expiry-alert is designed to log reagent expiry dates and generate alerts before expiration. Your request appears to be outside this scope. Please provide a reagent ID and expiry date, or use a more appropriate tool."
Use the following fixed structure for non-trivial requests:
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.