SKILL.md
Solar Breakeven Skill
Every solar quote comes with a payback claim, and the claim always assumes the sunny version: full incentive eligibility, generous net metering forever, zero maintenance. This skill runs the honest model — net cost after verified incentives, offset that degrades ~0.5%/yr, electricity prices that inflate, and the inverter that dies around year 12 — and reports the breakeven year with its assumptions labeled. The biggest risk stays outside every model and gets named instead: net-metering policy is a regulatory decision that can change under you, and it moves paybacks by years.
What This Skill Produces
- The year-by-year table — savings, cumulative, vs-cost — from the script
- The breakeven year — and the net gain at the 25-year warranty horizon
- The quote check — the installer's payback claim vs. this model, with the assumption gaps named
- The not-modeled list — net-metering risk first, financing interest, roof interactions
Required Inputs
Ask for these if not provided:
- The quote — installed cost, claimed incentives (flagged verify-eligibility — incentives have income, tax-liability, and program caps), the claimed payback for comparison
- The bill — current monthly, and the offset % the installer claims (their number, tested; 80–95% is typical for a well-sized system)
- Ownership horizon — moving in 6 years changes everything; solar's value transfer at sale is uncertain and the model says so
- Financing — cash or loan; a loan adds interest the breakeven must also clear (run [the loan math] separately and add it — the script models the cash case)
Programmatic Helper
python3 scripts/solar_breakeven.py --cost 22000 --incentive 6600 --bill 190
python3 scripts/solar_breakeven.py --cost 22000 --incentive 6600 --bill 190 --offset 90 --json
Deterministic. Defaults: 85% offset, 3% electricity inflation, 0.5%/yr degradation, $2,000 inverter at year 12, 25-year horizon — every one overridable to match the quote's claims, which is how quotes get tested.
