Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Model whether solar panels pay for themselves for your roof — net cost after incentives, bill offset with degradation, electricity inflation, the inverter replacement, and the breakeven year, plus the policy risk no calculator controls. Use when asked are solar panels worth it, when does solar break even, check this solar quote's payback claim, or model solar for my bill. Produces the year-by-year table from the script, the breakeven year, the quote-vs-model comparison, and the not-modeled list
.claude/skills/mohitagw15856-solar-breakeven/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 159% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 170% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 57% | 0% |
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.
Ask for these if not provided:
bashpython3 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.
Script output: years 1–5 + milestones · breakeven year · net gain at horizon]
Their claimed payback vs. this model at their assumptions · the gap, itemized]
Breakeven at electricity inflation 1% / 3% / 5% · at zero incentives — one line each]
Net-metering policy risk (the big one — verify the current tariff and grandfathering) · financing interest if loaned · roof repairs under panels · resale-value transfer uncertainty · lease-vs-own complications.
Incentive eligibility and utility tariffs are jurisdiction-specific and change — verify both before signing. Educational model, not financial advice.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 34,265 | 32,160 | -6% | 1 | 1 | 0% | 7,164 | 7,092 | -1% | 0 | 0 | — |
case-02 | fail→pass | 44,958 | 35,583 | -21% | 1 | 1 | 0% | 6,644 | 9,536 | +44% | 0 | 0 | — |
case-03 | fail→fail | 38,241 | 43,199 | +13% | 1 | 1 | 0% | 8,363 | 9,628 | +15% | 0 | 0 | — |
case-04 | pass→pass | 24,956 | 32,999 | +32% | 1 | 1 | 0% | 4,004 | 7,030 | +76% | 0 | 0 | — |
case-05 | pass→pass | 21,309 | 32,138 | +51% | 1 | 1 | 0% | 2,793 | 4,693 | +68% | 0 | 0 | — |
case-06 | pass→pass | 21,127 | 23,939 | +13% | 1 | 1 | 0% | 2,742 | 4,367 | +59% | 0 | 0 | — |
case-07 | fail→fail | 23,352 | 36,772 | +57% | 1 | 1 | 0% | 3,342 | 7,013 | +110% | 0 | 0 | — |
case-08 | fail→pass | 22,651 | 34,481 | +52% | 1 | 1 | 0% | 2,464 | 6,376 | +159% | 0 | 0 | — |
case-09 | fail→pass | 20,199 | 32,957 | +63% | 1 | 1 | 0% | 2,473 | 6,670 | +170% | 0 | 0 | — |
case-10 | fail→fail | 19,518 | 43,402 | +122% | 1 | 1 | 0% | 2,729 | 8,836 | +224% | 0 | 0 | — |
case-11 | pass→pass | 20,393 | 24,367 | +19% | 1 | 1 | 0% | 2,514 | 4,575 | +82% | 0 | 0 | — |
case-12 | fail→pass | 15,023 | 15,211 | +1% | 1 | 1 | 0% | 2,260 | 3,539 | +57% | 0 | 0 | — |
case-13 | pass→pass | 20,051 | 40,739 | +103% | 1 | 1 | 0% | 2,665 | 8,611 | +223% | 0 | 0 | — |
case-14 | fail→pass | 23,124 | 21,477 | -7% | 1 | 1 | 0% | 2,905 | 4,592 | +58% | 0 | 0 | — |
case-15 | fail→pass | 22,227 | 28,045 | +26% | 1 | 1 | 0% | 3,393 | 7,180 | +112% | 0 | 0 | — |
case-16 | fail→pass | 16,908 | 24,649 | +46% | 1 | 1 | 0% | 2,792 | 4,760 | +70% | 0 | 0 | — |
case-17 | fail→pass | 14,696 | 34,905 | +138% | 1 | 1 | 0% | 2,782 | 6,140 | +121% | 0 | 0 | — |
case-18 | fail→pass | 12,871 | 13,420 | +4% | 1 | 1 | 0% | 2,137 | 3,522 | +65% | 0 | 0 | — |
case-19 | fail→pass | 23,173 | 23,579 | +2% | 1 | 1 | 0% | 3,989 | 6,054 | +52% | 0 | 0 | — |
case-20 | fail→fail | 15,621 | 18,860 | +21% | 1 | 1 | 0% | 2,631 | 4,384 | +67% | 0 | 0 | — |
case-21 | fail→fail | 14,120 | 15,396 | +9% | 1 | 1 | 0% | 2,272 | 3,720 | +64% | 0 | 0 | — |
case-22 | fail→fail | 15,235 | 8,833 | -42% | 1 | 1 | 0% | 2,351 | 2,730 | +16% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +50 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.