architect-calculator
Skill291 starsChanged 7 months agoMITView on GitHub
Seven Python-based architectural calculators for common design computations: area and density calculations (GFA, NGA, unit count, population, parking), thermal U-value analysis for multi-layer constructions, daylight factor estimation using BRE methodology, egress compliance checking (occupant load, exit width, travel distance), structural gravity load and tributary area calculations, annual energy demand estimation via degree-day method, and construction cost estimation by building type, quality, and region.
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
All scripts are located in the scripts/ directory and can be run with:
- Very specific: line 26
Add --json to any command for structured JSON output suitable for piping into other tools or automation workflows.
- Distinctive: line 363
All calculators validate inputs and provide clear error messages:
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Architect Calculator
A suite of seven command-line Python calculators for rapid architectural design computations. Each calculator accepts parameters via command-line arguments, validates inputs, and produces either human-readable or JSON-structured output.
All scripts are located in the scripts/ directory and can be run with:
python scripts/<calculator_name>.py [arguments]Add --json to any command for structured JSON output suitable for
piping into other tools or automation workflows.
1. Area Calculator (area_calculator.py)
Calculates development density metrics from site area and floor area ratio (FAR), including gross floor area, net usable area, residential unit count, estimated population, and parking requirement.
Parameters
| Parameter | Flag | Default | Unit | Description |
| Site Area | --site-area | Required | m2 | Total site/plot area |
| Floor Area Ratio | --far | Required | ratio | Permitted FAR / plot ratio |
| Net-to-Gross Ratio | --ntg-ratio | 0.80 | ratio | NGA as fraction of GFA (0.0-1.0) |
| Avg Unit Size | --avg-unit-size | 85 | m2 | Average residential unit area |
| Persons per Unit | --persons-per-unit | 2.5 | persons | Average household size |
| Parking Ratio | --parking-ratio | 1.0 | spaces | Parking spaces per dwelling unit |
Example
python scripts/area_calculator.py --site-area 5000 --far 2.5 --ntg-ratio 0.82Sample Output
=== Area & Density Calculator ===
Site Area: 5,000.00 m2
Floor Area Ratio: 2.50
---------------------------------------
Gross Floor Area: 12,500.00 m2
Net-to-Gross Ratio: 0.82
Net Gross Area: 10,250.00 m2
---------------------------------------
Average Unit Size: 85.00 m2
Estimated Units: 120
Persons per Unit: 2.50
Estimated Population: 300
---------------------------------------
Parking Ratio: 1.00 spaces/unit
Parking Spaces: 1202. U-Value Calculator (uvalue_calculator.py)
Calculates the thermal transmittance (U-value) of a multi-layer wall, roof, or floor construction by summing thermal resistances of each layer plus surface resistances.
Parameters
| Parameter | Flag | Default | Unit | Description |
| Layers | --layers | Required | JSON string | Array of layer objects |
| Rsi Internal | --rsi-internal | 0.13 | m2K/W | Internal surface resistance |
| Rsi External | --rsi-external | 0.04 | m2K/W | External surface resistance |
Each layer object: {"name": "...", "thickness_mm": N, "conductivity": N}
Example
python scripts/uvalue_calculator.py --layers '[
{"name": "Brick", "thickness_mm": 102, "conductivity": 0.77},
{"name": "Cavity air gap", "thickness_mm": 50, "conductivity": 0.18},
{"name": "Mineral wool", "thickness_mm": 100, "conductivity": 0.035},
{"name": "Concrete block", "thickness_mm": 140, "conductivity": 1.13},
{"name": "Plaster", "thickness_mm": 13, "conductivity": 0.16}
]'Sample Output
=== U-Value Calculator ===
Layer Thickness(mm) Conductivity(W/mK) R-value(m2K/W)
---------------------------------------------------------------------------
Rsi (internal) -- -- 0.1300
Brick 102 0.770 0.1325
Cavity air gap 50 0.180 0.2778
Mineral wool 100 0.035 2.8571
Concrete block 140 1.130 0.1239
Plaster 13 0.160 0.0813
Rse (external) -- -- 0.0400
---------------------------------------------------------------------------
Total R-value: 3.6425 m2K/W
U-value: 0.2745 W/m2K
Passive House target (wall): 0.15 W/m2K -- DOES NOT MEET
Typical code target (wall): 0.30 W/m2K -- MEETS TARGET3. Daylight Calculator (daylight_calculator.py)
Estimates average daylight factor for a side-lit room using the BRE simplified formula.
Parameters
| Parameter | Flag | Default | Unit |
| Room Width | --room-width | Required | m |
| Room Depth | --room-depth | Required | m |
| Room Height | --room-height | Required | m |
| Window Width | --window-width | Required | m |
| Window Height | --window-height | Required | m |
| Window Sill Height | --window-sill-height | Required | m |
| Glazing Transmittance | --glazing-transmittance | 0.65 | ratio |
| Average Reflectance | --average-reflectance | 0.50 | ratio |
Example
python scripts/daylight_calculator.py \
--room-width 4.0 --room-depth 6.0 --room-height 3.0 \
--window-width 2.5 --window-height 1.8 --window-sill-height 0.9Sample Output
=== Daylight Factor Calculator ===
Room: 4.00m W x 6.00m D x 3.00m H
Window: 2.50m W x 1.80m H (sill at 0.90m)
---------------------------------------
Window Area: 4.50 m2
Total Room Surface Area: 96.00 m2
Window-to-Floor Ratio: 18.75%
Glazing Transmittance: 0.65
Average Reflectance: 0.50
Visible Sky Angle: 60.1 deg
---------------------------------------
Average Daylight Factor: 2.34%
Assessment: ADEQUATE (target >= 2.0% for habitable rooms)4. Egress Calculator (egress_calculator.py)
Calculates occupant load, required number of exits, minimum exit widths, and travel distance compliance per IBC.
Parameters
| Parameter | Flag | Default | Description |
| Floor Area | --floor-area | Required | Net floor area in m2 |
| Occupancy Type | --occupancy-type | Required | IBC occupancy (A-1 to U) |
| Sprinklered | --sprinklered | False | Flag: building is sprinklered |
| Num Stories | --num-stories | 1 | Number of stories |
Example
python scripts/egress_calculator.py --floor-area 800 --occupancy-type B --sprinklered --num-stories 4Sample Output
=== Egress Calculator ===
Floor Area: 800.00 m2
Occupancy Type: B (Business)
Sprinklered: Yes
Number of Stories: 4
---------------------------------------
Occupant Load Factor: 9.3 m2/person
Occupant Load: 86 persons
---------------------------------------
Required Exits: 2
Min Exit Width (total): 1,376 mm
Width per Exit: 688 mm
Min Door Width: 813 mm (32 inches)
---------------------------------------
Max Travel Distance: 91.0 m (300 ft) [sprinklered]
Max Common Path: 23.0 m (75 ft)
Max Dead End: 15.0 m (50 ft)
COMPLIANCE: Review travel distances on plans.5. Structural Load Calculator (structural_load_calculator.py)
Calculates tributary area gravity loads for preliminary structural sizing.
Parameters
| Parameter | Flag | Default | Unit | Description |
| Tributary Area | --tributary-area | Required | m2 | Column tributary area |
| Num Floors | --num-floors | Required | integer | Number of supported floors |
| Dead Load | --dead-load | 4.5 | kN/m2 | Dead load per floor |
| Live Load | --live-load | auto | kN/m2 | Live load (auto per occ.) |
| Occupancy Type | --occupancy-type | office | string | For auto live load selection |
Example
python scripts/structural_load_calculator.py --tributary-area 36 --num-floors 8 --occupancy-type officeSample Output
=== Structural Load Calculator ===
Tributary Area: 36.00 m2
Number of Floors: 8
---------------------------------------
Dead Load: 4.50 kN/m2 per floor
Live Load: 2.50 kN/m2 per floor (office)
Total per Floor: 7.00 kN/m2
---------------------------------------
Load per Floor: 252.00 kN
Total Column Load: 2,016.00 kN (8 floors)
Factored Load: 2,822.40 kN (1.2D + 1.6L)
---------------------------------------
Preliminary Column: ~400x400 mm RC (fc'=35 MPa)6. Energy Calculator (energy_calculator.py)
Estimates annual heating and cooling energy demand using the degree-day method.
Parameters
| Parameter | Flag | Default | Unit | Description |
| Floor Area | --floor-area | Required | m2 | Conditioned floor area |
| Envelope Area | --envelope-area | Required | m2 | Total envelope area |
| Average U-value | --average-u-value | Required | W/m2K | Area-weighted average U |
| Heating Degree Days | --heating-degree-days | Required | Kd | Annual HDD (base 18C) |
| Cooling Degree Days | --cooling-degree-days | Required | Kd | Annual CDD (base 24C) |
| Ventilation Rate | --ventilation-rate | 0.5 | ACH | Air changes per hour |
| Internal Gains | --internal-gains | 5.0 | W/m2 | Internal heat gains |
Example
python scripts/energy_calculator.py \
--floor-area 500 --envelope-area 800 --average-u-value 0.35 \
--heating-degree-days 3000 --cooling-degree-days 500Sample Output
=== Energy Calculator ===
Floor Area: 500.00 m2
Envelope Area: 800.00 m2
Average U-value: 0.35 W/m2K
---------------------------------------
Heating Degree Days: 3,000 Kd
Cooling Degree Days: 500 Kd
Ventilation Rate: 0.50 ACH
Internal Gains: 5.00 W/m2
---------------------------------------
Transmission Loss: 6,720.00 kWh/yr
Ventilation Loss: 4,050.00 kWh/yr
Internal Gains: -2,190.00 kWh/yr
Heating Demand: 8,580.00 kWh/yr
---------------------------------------
Cooling Demand: 2,356.00 kWh/yr
---------------------------------------
Total Demand: 10,936.00 kWh/yr
EUI: 21.87 kWh/m2/yr
Passive House target: 15 kWh/m2/yr -- DOES NOT MEET7. Cost Calculator (cost_calculator.py)
Estimates construction cost based on building type, quality level, and geographic region.
Parameters
| Parameter | Flag | Default | Description |
| GFA | --gfa | Required | Gross floor area in m2 |
| Building Type | --building-type | Required | residential/office/retail/hospital/school/hotel |
| Quality | --quality | standard | basic/standard/premium |
| Region | --region | north-america | north-america/europe/middle-east/asia/australia |
| Include External | --include-external | False | Flag: include site works |
Example
python scripts/cost_calculator.py --gfa 5000 --building-type office --quality premium --region europeSample Output
=== Construction Cost Calculator ===
Gross Floor Area: 5,000.00 m2
Building Type: Office
Quality Level: Premium
Region: Europe
---------------------------------------
Base Cost Rate: 2,800.00 USD/m2
Construction Cost: 14,000,000 USD
---------------------------------------
Professional Fees (12%): 1,680,000 USD
Contingency (7.5%): 1,050,000 USD
External Works: --
---------------------------------------
Total Development Cost: 16,730,000 USD
Cost per m2 (total): 3,346.00 USD/m2Methodology Reference
Detailed formulas and methodology for each calculator are documented in
references/calculator-reference.md.
Error Handling
All calculators validate inputs and provide clear error messages:
- Missing required parameters display usage help
- Out-of-range values are rejected with explanatory messages
- Invalid occupancy types list accepted values
- Malformed JSON input shows expected format
Integration
JSON output (--json flag) enables integration with:
- Other scripts in the pipeline
- Spreadsheet tools (parse JSON)
- Web dashboards
- Automated reporting systems
- BIM parameter injection
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- veschin/skilliosis★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository28 other files it gives its agents.
- accessibility-designSkill
- acoustic-designSkill
- architect-foundationsSkill
- building-codesSkill
- building-envelopeSkill
- building-programmingSkill
- building-servicesSkill
- building-sustainabilitySkill
- building-typologySkill
- concept-designSkill
- construction-documentationSkill
- country-australiaSkill
- country-chinaSkill
- country-germanySkill
- country-indiaSkill
- country-japanSkill
- country-saudi-arabiaSkill
- country-singaporeSkill
- country-uaeSkill
- country-ukSkill
- country-usaSkill
- daylighting-designSkill
- design-theorySkill
- fire-life-safetySkill
- geographic-foundationsSkill
- material-selectionSkill
- spatial-planningSkill
- structural-systemsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

