alpacalabsllc/epd-compare
Compare EPD products on normalized GWP and other impacts while checking declared units, system boundaries, and LEED eligibility. Use for side-by-side EPD comparison.
npx skills add https://github.com/AlpacaLabsLLC/skills-for-architects --skill epd-compare
Compare 2 or more products side-by-side on environmental impact metrics. Validates comparability (declared units, system boundaries, PCR alignment), generates comparison tables with percentage deltas, and checks LEED v4.1 MRc2 eligibility.
This skill reads EPD records but does not persist or modify them. Fields follow schema/epd-schema.md, which is distinct from the FF&E product schema. Output is a markdown comparison report.
The user provides EPD data in one of these ways:
epd-library.csv or markdown file with EPD dataIf the user doesn't specify a source, first use structured EPD data from the current conversation. Otherwise ask for pasted values or an EPD CSV path. When reading epd-library.csv, validate it with python3 "${CLAUDE_PLUGIN_ROOT}/skills/master-schedule/scripts/csv-library.py" validate epd; reject FF&E-shaped or malformed files. Validation is read-only; never invoke init, import, append, or update.
Gather EPD data from the specified source. For each product, you need at minimum:
Additional fields improve the comparison: ODP, AP, EP, POCP, energy use, water use, system boundary, PCR, validity dates, LEED eligibility.
Before comparing, run these checks and report findings:
Declared unit alignment:
System boundary alignment:
PCR alignment:
EN 15804 version:
Validity:
EPD type:
Report all findings before proceeding:
## Comparability Check
✓ Declared unit: All products use 1 m3
✓ System boundary: All cradle-to-gate (A1-A3)
⚠ PCR: Products 1-2 use NRMCA PCR, Product 3 uses NSF PCR — results are comparable but not identical methodology
⚠ Validity: Product 2 expired 2025-12-01
✓ EPD type: All product-specific
Produce three outputs:
## Environmental Impact Comparison
| Metric | ECOPact (Holcim) | ProPaving (CEMEX) | ReadyMix (Buzzi) | Unit |
|--------|-----------------|-------------------|------------------|------|
| **GWP-total (A1-A3)** | **242** | 298 | 385 | kg CO2e/m3 |
| GWP-fossil (A1-A3) | 238 | 291 | — | kg CO2e/m3 |
| GWP-biogenic (A1-A3) | 4 | 7 | — | kg CO2e/m3 |
| ODP (A1-A3) | 1.2e-6 | 1.5e-6 | 1.8e-6 | kg CFC-11e/m3 |
| AP (A1-A3) | 0.45 | 0.52 | 0.61 | kg SO2e/m3 |
| EP (A1-A3) | 0.08 | 0.11 | 0.14 | kg PO4e/m3 |
| PERE (A1-A3) | 180 | 95 | 72 | MJ/m3 |
| PENRE (A1-A3) | 1,450 | 1,890 | 2,340 | MJ/m3 |
| FW (A1-A3) | 0.32 | 0.41 | 0.55 | m3/m3 |
| Recycled Content | 35% | 22% | 12% | % |
Bold the best value in each row (lowest for impacts, highest for recycled content/renewable energy).
Use — for missing data. Never fill in missing values.
## GWP Comparison (relative to lowest)
| Product | GWP (A1-A3) | vs. Lowest | vs. Industry Avg |
|---------|-------------|------------|-------------------|
| ECOPact (Holcim) | 242 kg CO2e/m3 | — baseline — | -40% |
| ProPaving (CEMEX) | 298 kg CO2e/m3 | +23% | -26% |
| ReadyMix (Buzzi) | 385 kg CO2e/m3 | +59% | -4% |
| *Industry average (NRMCA Industry-Wide Member EPD v3.2, 2022)* | *~400 kg CO2e/m3* | — | — |
Include an industry average baseline only if it is citable — either the user provides one (e.g., an industry-average EPD or a published baseline document) or you can attach a named source and publication year, per the GWP Baseline Policy below. Label the baseline row with its source and year.
If no citable baseline is at hand, ask: "Do you have an industry-average EPD or published baseline for this material category? If so, share it and I'll include it in the comparison. We're working on EC3 API integration that will automate baseline lookups — for now, provide an EPD or use /as:epd-research to find one."
If no citable baseline is available, omit the "vs. Industry Avg" column entirely rather than guessing.
Include this section if the user mentions LEED, or if LEED eligibility data is available:
## LEED v4.1 MRc2 Assessment
### Option 1 — EPD Disclosure (1 point for 20+ products with EPDs)
| Product | Qualifying EPD? | Type | Notes |
|---------|----------------|------|-------|
| ECOPact | ✓ | Product-specific | Third-party verified, ISO 14025 conforming |
| ProPaving | ✓ | Product-specific | Third-party verified |
| ReadyMix | ✓ (half) | Industry-wide | Counts as 0.5 product — LEED v4.1 MRc2 Option 1 values industry-wide (generic) EPDs at half the product count of product-specific EPDs |
### Option 2 — Embodied Carbon Optimization (up to 2 points)
Products must demonstrate GWP below category baseline
(baseline: 400 kg CO2e/m3, NRMCA Industry-Wide Member EPD v3.2, 2022):
| Product | GWP | Baseline | Delta | Qualifies? |
|---------|-----|----------|-------|------------|
| ECOPact | 242 | 400 | -40% | ✓ Yes — significant reduction |
| ProPaving | 298 | 400 | -26% | ✓ Yes |
| ReadyMix | 385 | 400 | -4% | Marginal — minimal reduction |
End with a brief recommendation:
## Recommendation
**ECOPact by Holcim** is the clear winner on environmental performance — 40% below
industry average GWP and lowest across all impact categories. The South Plainfield
plant is closest to the project site.
**ProPaving by CEMEX** is a strong second option if Holcim can't meet schedule or
volume requirements — still 26% below average.
Both qualify for LEED MRc2 Option 1 and Option 2 credits.
Be direct and opinionated. The user wants a recommendation, not just data.
Save the comparison report as markdown:
./epd-comparison-YYYY-MM-DD.md./deliverables/epd-comparison-YYYY-MM-DD.mdAfter saving:
Comparison saved to [path].
Next steps:
- /as:epd-to-spec — generate spec language using ECOPact's GWP (242) as the threshold
- /as:epd-research — find more options to compare
— for missing values. Note which products have more complete data.This policy is shared by all four EPD skills (epd-parser, epd-research, epd-compare, epd-to-spec) and must read identically in each. Industry-average GWP baselines are allowed only when cited with a named source and publication year (e.g., "NRMCA Industry-Wide Member EPD v3.2, 2022" or "AISC Fabricated Hot-Rolled Structural Sections EPD, 2021"). Uncited baseline numbers recalled from memory or training data are banned. If no source-and-year citation is available, ask the user to provide a baseline EPD or find one with /as:epd-research — never guess a baseline.
epd-library.csv. It produces a comparison report as a markdown file./as:epd-to-spec (to write spec language) or /as:epd-research (to find alternatives).Take alpacalabsllc/epd-compare from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.