Install
openclaw skills install @voronindenis5/hazmat-disposal-routerUse when you have household items you can't just trash (old paint, car batteries, lithium cells, motor oil, pesticides, needles, propane tanks, CFL/LED bulbs, electronics, expired meds) — item-by-item verdicts (trash / HHW facility / take-back / retailer drop-off / never-drain warnings) with WHY in one line, the never-do list (paint thinner down the drain, lithium in trash, needles in plastic bottles), multi-item garage-cleanout audit mode that groups everything into one facility trip, storage rules until drop-off (lithium terminals, oil containers, original labels), and US/EU/UK take-back channel finders.
openclaw skills install @voronindenis5/hazmat-disposal-routerDon't guess. Don't drain. Route it. Every garage and under-sink cabinet holds 5-15 items that are illegal or dangerous to trash — and most people guess. Wrong guesses start garbage trucks fires (lithium), poison waterways (oil, paint), or endanger workers (needles in plastic bottles).
Pure stdlib, offline. Regulations vary by locality — verdicts are the consensus safe default; verify local rules for your address.
Don't use for: active spills, unknown mixed chemicals reacting, asbestos already crumbling (airborne = professional abatement), or commercial quantities (different law).
python3 scripts/hazmat_router.py dispose --item "latex paint"
python3 scripts/hazmat_router.py dispose --item "li-ion battery"
python3 scripts/hazmat_router.py dispose --item "motor oil"
python3 scripts/hazmat_router.py audit --items "latex paint,oil paint,car battery,li-ion packs,CFL bulbs,old gasoline,weed killer"
python3 scripts/hazmat_router.py storage
python3 scripts/hazmat_router.py channels --region US
python3 scripts/hazmat_router.py channels --region EU
python3 scripts/hazmat_router.py never
| Item | Verdict | Why |
|---|---|---|
| Latex paint (dried solid) | trash | Inert once fully dry — air-dry or mix with cat litter |
| Oil paint / solvents | HHW facility | VOC + heavy metals; never drain/trash liquid |
| Car battery (lead-acid) | Retailer drop-off | Retailers must take core; ~$10 core credit |
| Li-ion packs / power tool / e-bike | HHW / battery bin | #1 cause of garbage truck fires; tape terminals |
| Alkaline (modern, US) | trash (or recycle) | No mercury since ~1996; EU: battery bin |
| Motor oil | Any auto parts store | 1 L oil contaminates ~1M L water; stores resell it |
| Gasoline (old) | HHW facility | Never pour in grass/drains; degrades but ignitable |
| Propane tank (BBQ) | Retailer exchange / HHW | Pressurized + explosive in compactors |
| CFL bulbs | HHW / retail bin | Mercury vapor — never break in trash |
| LED / incandescent | trash | No mercury; no special handling |
| Meds (expired) | Pharmacy take-back | Never flush (water supply); DEA take-back days US |
| Needles / lancets | Sharps program | Never loose or in plastic bottles (workers) |
| Smoke alarm (ionization) | Mail-back mfr program | Americium-241 — tiny but regulated |
| Fire extinguisher | HHW / fire dept | Pressurized; discharge completely first if allowed |
| Weed killer / pesticides | HHW facility | Herbicides persist; never dilute-down-drain |
$ hazmat_router.py dispose --item "car battery"
CAR BATTERY (lead-acid):
VERDICT: retailer drop-off — any auto parts store; core credit
(~$10 on new battery). Scrap yards pay by weight.
WHY: 8+ kg lead + sulfuric acid; landfill = groundwater.
WARN: keep upright, terminals not shorting (no tools across posts).
$ hazmat_router.py audit --items "latex paint,oil paint,car battery,li-ion packs,CFL bulbs,old gasoline"
CLEANOUT MANIFEST — 6 items, 2 channels:
HHW FACILITY RUN: oil paint, CFL bulbs, old gasoline, li-ion packs*
RETAILER DROP-OFF: car battery (auto parts store, ~$10 credit)
TRASH (prepared): latex paint — dry with cat litter first
*tape/bag lithium terminals before transport
TRIP PLAN: battery to parts store today (credit), rest to HHW
Saturday. Check facility hours — many are weekly-only.