/office-bom-planner
Headcount + budget in. Bill of materials out.
Programming a workplace from scratch is a known shape: density per typology, zone-type unit dimensions, default primitives per zone. This skill encodes the math: tell it 28 people in 4,000 sqft with a $180k FF&E budget for a creative-agency office, get back a sized BOM with workstations, meeting rooms, focus rooms, lounge — counts and area allocation that fit.
Why this exists
The math is well-defined (zone capacity × headcount, default primitives, density bands by typology) but designers redo it from scratch each project. Canoa has the zone taxonomy and program densities already; the Sheets-as-engine pattern from the old kernel is the right shape. This skill ships the encoded version.
Pipeline
- Pick a programme (density per person by typology).
- Allocate zones (workstation, meeting, focus, lounge, storage) per zone-type capacity + headcount.
- Resolve each zone’s default_primitive to a real product via Catalog Search (under budget, in stock).
- Sum to a BOM with unit area, total area, and total cost.
Distribution
- Claude skill — interactive (“size for 40 people, hybrid, $250k”).
- Sheet template — typologies + zone tables seeded; formulas size and resolve.
Status
Planned — db/data/programs.csv and db/data/zonetypes.csv already exist; the math in kernel/programming/factories.py is ~50 lines. Cleanly extracts from the dead canvas. Office-only initially; residential/hospitality require their own typology data.
Install
/office-bom-planner is part of
the Canoa agent.
Copy the install prompt below and paste it into Claude — it walks you through install,
sets up the master schedule Sheet, and brings the rest of the toolkit with it.
Related skills