Install
openclaw skills install @voronindenis5/furniture-fit-checkerCheck if furniture fits a room and the delivery path before buying or moving: computes doorway/hallway/stair clearance with diagonal-tilt geometry (the moving-industry standard), room layout fit with walkway widths, and draws an ASCII floorplan preview. Use when the user asks if a sofa/desk/bed/mattress will fit through a door, up stairs, around a corner, or in a room — preventing the classic bought-it-can't-move-it disaster.
openclaw skills install @voronindenis5/furniture-fit-checkerThe classic disaster: sofa bought online, delivery guys arrive, it doesn't make the corner at the top of the stairs — now you own a return-shipping nightmare. Or: desk fits the wall but blocks the door swing. This skill runs the geometry before money changes hands.
Three checks, one tool (scripts/fit_checker.py):
Everything in metric or imperial (auto-detected per value with explicit unit suffixes).
Don't use for: architectural planning (load bearing, code compliance), non-rectangular complex items (L-shaped sectionals — approximate as their bounding boxes per section), or piano moving (hire pros, seriously).
python3 scripts/fit_checker.py path --item 86x37x35in --door 32x80in
python3 scripts/fit_checker.py corner --item 86x37x35in --hall-a 36in --hall-b 36in
python3 scripts/fit_checker.py stairs --item 76x16x12in --width 36in --landing
python3 scripts/fit_checker.py room --item 86x37in --room 14x11ft \
--other 60x30in --floorplan
item diagonal √(W²+D²) ≤ door width AND
item min(W,D,H) ≤ door height (tilt through). Sofas: use arm-to-arm
width and seat depth; add nothing — but if legs/arms removable, measure
without them.inner diagonal check: for item length L and widths, at the critical
angle θ where it simultaneously touches both outer walls and the inner
corner: passes iff (L·sinθ + W·cosθ) ≤ min hall width for no θ...
computed numerically over θ ∈ [0°, 90°] in 0.5° steps (exact for
practical purposes).landing depth ≥ item diagonal × 0.75 (empirical moving rule; tight pivots need pros' experience).Sofa 86×37×35in, door 32×80in:
diagonal = √(86²+37²) = 93.6in > 32in → cannot pass flat
BUT min(86,37,35)=35in... height check: 35in ≤ 80in ✓
tilt geometry: sofa tilted on end, needs √(86²+35²)=92.9in vertical —
exceeds 80in door height → FAIL flat-on-end
workaround: angle-entry (two-person tilt) marginally possible —
tool says TIGHT, remove door if hinge-pinned, or sofa legs off.
Online sofa listing sanity check:
python3 scripts/fit_checker.py path --item 213x94x89cm --door 81x203cm --report
Full route audit (door → hall → corner → stairs):
python3 scripts/fit_checker.py path --item 86x37x35in --door 32x80in
python3 scripts/fit_checker.py corner --item 86x37x35in --hall-a 40in --hall-b 36in
python3 scripts/fit_checker.py stairs --item 86x37x35in --width 36in --landing 36in
Will the bed + desk both fit?
python3 scripts/fit_checker.py room --item 60x80in --room 12x11ft \
--other 48x24in --floorplan