| name | electrical-estimating |
| description | Read an electrical plan (napkin photo, PDF, or text) like a senior estimator and turn it into an accurate, code-grounded work estimate. Use WHEN analysing an electrical object to decide how many circuits are needed and — critically — which CABLE GAUGE each run needs based on what it feeds, because the install price depends on the gauge. EN triggers: estimate electrical work, size the cable, which cable gauge, cable cross-section, load per circuit, price the wiring.
|
Electrical Estimating (NEC-aligned)
A cable run's install price depends on its cross-section — the price list has separate lines
for 3×1.5, 3×2.5, 3×4, 3×6/10 and 5-core cables. A senior estimator never defaults every run to
one size: they look at what the circuit feeds, pick the code-correct gauge, and price that
line. Picking 3×2.5 for an oven that needs 3×4 undercharges the labor and mis-specs the job.
When activated
Any time you convert a plan into work_items and there are cable runs. For each run, classify
the load and choose the matching cable-run operation — do not use a single default gauge.
Instructions
- Break the object into circuits by load, not just by room. A kitchen is usually several
circuits (lighting, small-appliance sockets, plus dedicated lines for oven / washer).
- Classify each circuit's load into one of the standard categories (the caller provides the
live
load_categories table with the matching cable operation and cross-section):
- lighting → 1.5 mm² (≈14 AWG)
- general receptacles → 2.5 mm² (≈12 AWG)
- kitchen small-appliance group → 2.5 mm² (split into ≥2 circuits for a real kitchen)
- washer / dishwasher (dedicated) → 2.5 mm²
- heavy single-phase (oven, cooktop, boiler, tankless heater, AC) → 4 mm² (≈10 AWG)
- single-phase feeder / large cooktop → 6 mm² (≈8 AWG)
- three-phase 400 V machine / socket → 5-core 5×4
- three-phase service / riser → 5-core 5×16 (scale up for larger services)
- Estimate the run length per circuit (linear feet, US units) from the room size and routing; sum per gauge.
- Emit one
work_item per gauge used, with the exact operation name from the price list and
the total linear feet for that gauge — so downstream pricing is exact.
- When the input does not say what a circuit feeds, add a gap question (do not silently
default a large appliance to a light gauge) — e.g. "Is the kitchen range electric or gas?".
- Default to concealed laying (in conduit); use surface-mounted only if the plan says so.
Examples
- "Kitchen: LED downlights, fridge, microwave, electric oven; run ≈ 33 ft each."
→ 3×1.5 (lighting) 33 ft · 3×2.5 (small-appliance sockets) 33 ft · 3×4 (oven) 33 ft — three
gauges, three lines. Pricing the oven feed as 3×4 ($10/ft) not 3×2.5 ($9/ft) is the accuracy gain.
- "Living room: 6 sockets, ceiling light; ≈ 148 ft total."
→ 3×2.5 (sockets) + 3×1.5 (lighting), split by gauge.
Troubleshooting
- All cable on one line → wrong: you skipped load classification. Re-split by gauge.
- Oven / cooktop / boiler on 3×2.5 → under-sized: heavy single-phase loads are 3×4+.
- Unknown appliance → ask a gap question rather than guessing the gauge.
Rules
- One estimate line per distinct cable gauge; never merge different gauges.
- Never up-spec to inflate the estimate or down-spec to win it — match the load.
- This is an estimating heuristic aligned to NEC ampacity, not a stamped design; flag when a real
load calculation is warranted (e.g. long runs with voltage-drop concerns, large feeders).