Climate Peer Comparison
A Claude Skill that generates a peer comparison report — emissions trends, reduction targets, and the gap between pledges and reported actuals — for companies in a given SICS sector/sub-sector, using live data from the Climate Data Utility (CDU).
Setup
pip install -r requirements.txt
playwright install chromium
Create .env in the project root:
CDU_BEARER_TOKEN=your_cdu_api_key_here
ANTHROPIC_API_KEY=your_anthropic_key_here
(CDU_BEARER_TOKEN is a plain API key sent as X-API-Key, not a Bearer JWT — the name is kept for backward compatibility with the original spec.)
Two Modes
Synthetic — demo data, safe to share externally:
python execution/climate_peer_comparison/main.py --sector "Oil & Gas" --synthetic
No CDU API calls. Fixed-seed fake data. This is the only mode safe to publish outside the project (LinkedIn, screenshots, etc.) — see Terms of Service below.
Live — real CDU data, via MCP server:
python execution/climate_peer_comparison/mcp_server.py
Register this with an MCP-compatible client (e.g. Claude Desktop) and invoke the generate_climate_report tool from a conversation. The tool asks for sector, sub-sector, and region conversationally rather than requiring them as arguments — see directives/climate_peer_comparison.md for the full invocation flow.
You can also exercise the live pipeline directly from the CLI (useful for testing without an MCP client):
python execution/climate_peer_comparison/main.py --sector "Oil & Gas" --sub-sector "Oil & Gas" --region Europe
Valid sub-sector values are in execution/climate_peer_comparison/config/sics_taxonomy.json (rebuild it with python -m execution.climate_peer_comparison.cdu.discover_taxonomy if CDU adds new ones). Valid regions: Europe, North America, APAC, All.
Output
A .pdf in .tmp/reports/, plus a .json metadata sidecar. 10 sections:
- Cover
- Executive Summary (LLM-generated, grounded only in pre-computed metrics)
- Sector Snapshot
- Emissions Ranking
- Targets Analysis
- Promise vs. Reality
- Restatements Log
- Transparency & Coverage
- Companies Excluded from Peer Report (with the specific reason for each)
- Methodology & Data Notes
.tmp/ is gitignored — everything in it is regenerable, never a deliverable.
CDU Terms of Service
CDU data must not be published externally. Use --synthetic for demos, screenshots, and social media sharing.
Tests
python -m pytest execution/climate_peer_comparison/tests/ -v
Known Limitations
See "Known Limitations" in docs/superpowers/plans/2026-05-21-climate-peer-comparison.md — covers near-duplicate company entries, restatement checking, target data gaps, and region-filtering assumptions for live CDU data.






