Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Epd Compare

ASecurity

Compare 2+ products side-by-side on environmental impact metrics. Normalizes declared units, checks system boundary alignment, and flags LEED MRc2 compliance.

646 stars
0 votes
0 copies
0 views
Added 9/23/2026
ai-agentsgobashapiperformance

Works with

cliapimcp

Security Analysis

A100/100

Scanned 9/23/2026

$npx -y skills add majiayu000/claude-skill-registry --skill epd-compare --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Epd Compare?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Epd Compare
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-epd-compare/badge)](https://www.skillsdirectory.com/skills/majiayu000-epd-compare)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: epd-compare
description: Compare 2+ products side-by-side on environmental impact metrics. Normalizes declared units, checks system boundary alignment, and flags LEED MRc2 compliance.
allowed-tools:
  - Read
  - Write
  - Edit
  - Bash
  - Glob
  - Grep
  - AskUserQuestion
  - mcp__google-sheets__get_sheet_data
  - mcp__google-sheets__list_sheets
---

# /epd-compare — EPD Comparator

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** from the EPD Google Sheet but does **not write** to it. Output is a markdown comparison report.

## Input

The user provides EPD data in one of these ways:

1. **Sheet row references** — "compare rows 5, 8, and 12" from the EPD Google Sheet
2. **Inline data** — pasted product names with GWP values
3. **File path** — a CSV or markdown file with EPD data
4. **From prior skills** — "compare the EPDs I just parsed/found" (uses data from the current conversation)
5. **Mixed** — "compare this PDF I just parsed against what's in the sheet"

If the user doesn't specify a source, ask: **"Where is the EPD data? Sheet rows, pasted values, or from earlier in this conversation?"**

## Workflow

### Step 1: Collect data

Gather EPD data from the specified source. For each product, you need at minimum:

- Product name and manufacturer
- GWP (A1-A3) value
- Declared unit

Additional fields improve the comparison: ODP, AP, EP, POCP, energy use, water use, system boundary, PCR, validity dates, LEED eligibility.

### Step 2: Validate comparability

Before comparing, run these checks and report findings:

**Declared unit alignment:**
- Are all products using the same declared unit (e.g., all per m3, all per kg)?
- If units differ, attempt normalization where possible:
  - kg ↔ ton (multiply/divide by 1000)
  - m2 at different thicknesses (if thickness is known, normalize to same thickness)
- If normalization is impossible, warn: "Product A reports per m2, Product B reports per kg. Direct comparison requires density or thickness data. Provide conversion factors, or I'll compare only within matching units."
- **Never silently compare products with different declared units.**

**System boundary alignment:**
- Flag if some are cradle-to-gate (A1-A3) and others cradle-to-grave (A1-A3 + C1-C4 + D).
- Note: "A1-A3 comparison is still valid across both types. Full life cycle comparison is only valid for cradle-to-grave EPDs."

**PCR alignment:**
- Flag if products use different PCRs. Products under the same PCR are most directly comparable.
- Note the PCR names if they differ.

**EN 15804 version:**
- Flag if some use +A1 and others +A2. Impact indicator units may differ (AP in kg SO2e vs. mol H+ eq).
- GWP in kg CO2e is comparable across versions.

**Validity:**
- Flag any expired EPDs with their expiration date.

**EPD type:**
- Flag mix of product-specific and industry-average EPDs. Note that industry-average EPDs are less precise.

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
```

### Step 3: Generate comparison

Produce three outputs:

#### a. Side-by-side impact table

```
## 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.

#### b. Percentage comparison (relative to lowest)

```
## 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* | *~400 kg CO2e/m3* | — | — |
```

Include an industry average baseline **only if the user provides one** (e.g., from an industry-average EPD or a published baseline document). Do not use approximate or hardcoded baselines.

If the user hasn't provided a baseline, 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 `/epd-research` to find one."**

If no baseline is available, omit the "vs. Industry Avg" column entirely rather than guessing.

#### c. LEED v4.1 MRc2 assessment

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 | ✗ | Industry-average | Does not qualify — industry-average EPDs earn half credit |

### Option 2 — Embodied Carbon Optimization (up to 2 points)
Products must demonstrate GWP below category baseline:
| Product | GWP | Baseline | Delta | Qualifies? |
|---------|-----|----------|-------|------------|
| ECOPact | 242 | 400 | -40% | ✓ Yes — significant reduction |
| ProPaving | 298 | 400 | -26% | ✓ Yes |
| ReadyMix | 385 | 400 | -4% | Marginal — minimal reduction |
```

### Step 4: Recommendation summary

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.

### Step 5: Save output

Save the comparison report as markdown:

- **Default path**: `./epd-comparison-YYYY-MM-DD.md`
- If the user says it's final: `./deliverables/`
- If no client context: `./deliverables/`
- Ask the user if they want a different path

After saving:

```
Comparison saved to [path].

Next steps:
- /epd-to-spec — generate spec language using ECOPact's GWP (242) as the threshold
- /epd-research — find more options to compare
```

## Edge Cases

- **Single product**: Can't compare, but can still show the data card with industry average context. Suggest finding more EPDs to compare against.
- **Mixed material categories**: Warn that cross-material comparison (e.g., concrete vs. steel) is generally not meaningful because declared units and functional roles differ. Offer to group by category.
- **Incomplete data**: Compare on whatever fields are available. Use `—` for missing values. Note which products have more complete data.
- **All expired EPDs**: Proceed with comparison but add a prominent warning that results are based on expired declarations and should be verified with current EPDs.
- **Very large comparisons (10+ products)**: Show summary table first, then offer to drill into top 3-5 candidates.

## Notes

- **This skill reads, not writes.** It does not add rows to the EPD Google Sheet. It produces a comparison report as a markdown file.
- **No hardcoded baselines.** Never use approximate GWP baselines from training data. If the user needs a baseline comparison, ask them to provide an industry-average EPD or use `/epd-research` to find one. EC3 API integration is in progress and will automate this.
- **GWP (A1-A3) is the primary metric** for most comparisons and LEED. Other indicators (ODP, AP, EP) provide a fuller picture but GWP drives most specification decisions.
- **Suggest next skills.** After comparison, the natural next steps are `/epd-to-spec` (to write spec language) or `/epd-research` (to find alternatives).

Attribution

majiayu000majiayu000
View sourceSee grades on GitHubMore from majiayu000 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →