Skip to main content
Glama
mohsen-ahmed-pm

Climate Peer Comparison

README.md
# 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

```bash
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:**

```bash
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:**

```bash
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):

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

1. Cover
2. Executive Summary (LLM-generated, grounded only in pre-computed metrics)
3. Sector Snapshot
4. Emissions Ranking
5. Targets Analysis
6. Promise vs. Reality
7. Restatements Log
8. Transparency & Coverage
9. Companies Excluded from Peer Report (with the specific reason for each)
10. 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

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