Install
openclaw skills install @voronindenis5/diaper-stock-optimizerUse when buying diapers in bulk, planning a Costco/Amazon stock-up run, checking how long current diaper stock will last, or deciding size transitions — size-by-size quantity math from the baby's birthday (growth-band durations + tapering changes/day), days-of-stock countdown with order verdicts, and per-size box-lifespan and cost estimates.
openclaw skills install @voronindenis5/diaper-stock-optimizerBulk diaper buying fails in two opposite ways: people either buy three boxes of size 1 right before the baby grows out of size 1 (donated, unused), or run out at 2 AM and pay convenience-store prices. The math that prevents both is boring but decisive — how many days a baby typically spends in each size, how many changes per day that age band uses, and what's actually on the shelf. This skill runs that math from a single input every parent knows exactly: the birthday.
Don't use for: cloth diaper wash schedules (different math entirely), or medical advice about rash/urine output — output-count questions go to a pediatrician.
Sizes N-7 are modeled as time bands a 50th-percentile baby passes through, each with its own changes-per-day range that tapers inside the band (a fresh size-2 baby uses ~9/day; one about to size up uses ~6/day):
| Size | Weight (kg) | Typical days in size | Changes/day |
|---|---|---|---|
| N | 0-4.5 | ~3 weeks | 8-12 |
| 1 | 4-6.5 | ~6 weeks | 7-10 |
| 2 | 6-8.5 | ~8 weeks | 6-9 |
| 3 | 8-11.5 | ~10 weeks | 5-8 |
| 4 | 10-14.5 | ~5 months | 4-7 |
| 5 | 13-18.5 | ~6 months | 4-6 |
| 6 | 16-23 | ~7 months | 4-6 |
| 7 | 20-30+ | pulls-up territory | 3-5 |
Key truth: sizes 1-3 are short stops (a big box often outlives the size), while size 4 is where babies park for months — that's the size to overstock, not size 1.
python3 scripts/diaper_stock_calculator.py plan \
--from 2026-10-20 --to 2027-01-20 --birthday 2026-08-15
scripts/data/.python3 scripts/diaper_stock_calculator.py usage \
--file scripts/data/plan_2026-10-20.json --stock 140
ORDER NOW (<7 days), order within a few days (<14),
stocked (with days until next order).burn --size 3 --lbs --tier premium → weight band, box
lifespans, cost.The model is calibrated to the 50th percentile. Adjust by observed
weight, not age: if the pediatrician says 90th percentile, expect size
transitions earlier than the day math says (buy one box less of
each small size); 10th percentile means longer stays. The burn mode
weight bands are the cross-check — size is chosen by weight, never by
age alone.
need vs buy columns
expose exactly this gap.usagepython3 scripts/diaper_stock_calculator.py plan \
--from 2026-11-01 --to 2027-05-01 --birthday 2026-11-01
Take the buy column as the registry ceiling per size, then halve
sizes N-1 (guests oversupply small sizes) and keep size 4 whole. Add
one wipe pack per 100 diapers — wipes don't expire or size out.