Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Model rent-vs-buy honestly — year-by-year net position for both paths including the assumption everyone drops (the renter invests the difference), with a breakeven horizon instead of a verdict. Use when asked should I rent or buy, does buying beat renting in my city, when does buying break even, or run the rent-vs-buy numbers. Produces the year-by-year comparison table, the breakeven year, the assumption list with defaults labeled, and the not-modeled list.
.claude/skills/mohitagw15856-rent-vs-buy/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 142% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 134% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 138% | 0% |
Rent-vs-buy arguments are usually two people comparing different questions: one counts equity and forgets transaction costs and carry; the other counts rent as "thrown away" and forgets the renter can invest the difference. This skill runs the symmetric model — both paths get their real costs and their real compounding — and delivers a breakeven horizon, because the honest answer is almost always "it depends how long you stay."
Ask for these if not provided:
bashpython3 scripts/rent_vs_buy.py --price 450000 --rent 2200 python3 scripts/rent_vs_buy.py --price 450000 --rent 2200 --horizon 10 --appreciation 2 --json
Deterministic. The renter's pot starts at the down payment + closing costs (the money a buyer parts with on day one) and each year absorbs the difference between owner outflow and rent. Selling costs are applied at every horizon — equity you can't access without paying 7% isn't fully yours.
Script output: year-by-year net positions, breakeven year]
Two sentences: how the user's expected stay compares to the breakeven, and which assumption the conclusion is most hostage to.]
Taxes and deductions (jurisdiction-specific) · renovation and repair surprises · rate refinancing · the non-financials (stability, flexibility, the yard) — which are allowed to outvote the math.
Educational model, not financial advice — verify with a licensed professional before acting on it.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-12 | pass→pass | 25,103 | 29,349 | +17% | 1 | 1 | 0% | 3,925 | 6,898 | +76% | 0 | 0 | — |
case-05 | fail→pass | 29,422 | 51,590 | +75% | 1 | 1 | 0% | 3,761 | 9,085 | +142% | 0 | 0 | — |
case-19 | fail→fail | 29,862 | 55,891 | +87% | 1 | 1 | 0% | 3,475 | 9,231 | +166% | 0 | 0 | — |
case-01 | fail→fail | 39,040 | 15,499 | -60% | 1 | 1 | 0% | 8,287 | 1,385 | -83% | 0 | 0 | — |
case-02 | fail→pass | 52,909 | 47,170 | -11% | 1 | 1 | 0% | 8,293 | 9,202 | +11% | 0 | 0 | — |
case-03 | fail→fail | 41,753 | 54,199 | +30% | 1 | 1 | 0% | 8,296 | 9,298 | +12% | 0 | 0 | — |
case-04 | pass→fail | 28,370 | 16,278 | -43% | 1 | 1 | 0% | 4,422 | 1,280 | -71% | 0 | 0 | — |
case-06 | fail→pass | 44,791 | 59,396 | +33% | 1 | 1 | 0% | 5,889 | 9,237 | +57% | 0 | 0 | — |
case-07 | pass→pass | 32,800 | 45,509 | +39% | 1 | 1 | 0% | 4,200 | 9,239 | +120% | 0 | 0 | — |
case-08 | fail→pass | 25,213 | 40,669 | +61% | 1 | 1 | 0% | 3,565 | 8,330 | +134% | 0 | 0 | — |
case-09 | pass→pass | 20,510 | 34,096 | +66% | 1 | 1 | 0% | 2,222 | 4,086 | +84% | 0 | 0 | — |
case-10 | fail→pass | 24,868 | 44,634 | +79% | 1 | 1 | 0% | 3,825 | 9,096 | +138% | 0 | 0 | — |
case-11 | fail→pass | 32,457 | 47,143 | +45% | 1 | 1 | 0% | 4,358 | 7,933 | +82% | 0 | 0 | — |
case-13 | pass→pass | 26,475 | 36,272 | +37% | 1 | 1 | 0% | 4,226 | 8,809 | +108% | 0 | 0 | — |
case-14 | fail→fail | 29,452 | 43,921 | +49% | 1 | 1 | 0% | 5,016 | 9,235 | +84% | 0 | 0 | — |
case-15 | fail→fail | 19,973 | 13,985 | -30% | 1 | 1 | 0% | 2,238 | 2,578 | +15% | 0 | 0 | — |
case-16 | pass→pass | 25,130 | 43,752 | +74% | 1 | 1 | 0% | 2,892 | 9,234 | +219% | 0 | 0 | — |
case-17 | pass→fail | 21,640 | 44,249 | +104% | 1 | 1 | 0% | 4,105 | 9,232 | +125% | 0 | 0 | — |
case-18 | fail→pass | 12,615 | 33,177 | +163% | 1 | 1 | 0% | 969 | 5,596 | +478% | 0 | 0 | — |
case-20 | fail→fail | 20,858 | 19,715 | -5% | 1 | 1 | 0% | 2,694 | 3,619 | +34% | 0 | 0 | — |
case-21 | fail→fail | 23,398 | 32,677 | +40% | 1 | 1 | 0% | 2,917 | 5,140 | +76% | 0 | 0 | — |
case-22 | fail→fail | 21,388 | 18,062 | -16% | 1 | 1 | 0% | 2,893 | 3,110 | +8% | 0 | 0 | — |
case-23 | fail→fail | 27,881 | 16,174 | -42% | 1 | 1 | 0% | 2,946 | 3,293 | +12% | 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. 23 cases were attempted, and 21 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +22 percentage points is the difference between those two pass rates over the 21 comparable cases. 3 cases got worse with the skill loaded, and they are 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.