rent-vs-buy
GitHub用于公平对比租房与买房的年度净财富模型,计算盈亏平衡点。需输入房价、租金等参数,输出逐年对比表及关键假设,强调持有时长对决策的影响而非直接给出结论。
Trigger Scenarios
Install
npx skills add mohitagw15856/pm-claude-skills --skill rent-vs-buy -g -y
SKILL.md
Frontmatter
{
"name": "rent-vs-buy",
"description": "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."
}
Rent vs Buy Skill
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."
What This Skill Produces
- The year-by-year table — owner net position (equity minus selling costs) vs renter net position (invested savings), per year
- The breakeven year — before it, renting won; after it, buying won, on the stated assumptions
- The assumption ledger — every input labeled, defaults flagged as defaults
- The not-modeled list — taxes/deductions, renovation risk, the non-financials — stated up front
Required Inputs
Ask for these if not provided:
- Home price and comparable monthly rent — same home, same neighborhood; comparing a condo rent to a house purchase is the classic apples-to-oranges error
- Down payment %, mortgage rate, term (defaults 20% / 6.5% / 30yr, labeled)
- How long they expect to stay — the single most decision-relevant input
- Growth assumptions — appreciation, rent growth, investment return (defaults 3/3/5%, labeled)
Programmatic Helper
python3 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.
Framework: The Symmetry Rules
- The renter invests the difference — the model's load-bearing assumption; a renter who spends the difference makes buying win almost automatically, and that's a behavior question, not a math question. Say so.
- Carry costs are real — tax, insurance, maintenance (~2%/yr of value) never build equity; "my mortgage is like rent" omits them
- Transaction costs decide short horizons — ~3% in and ~7% out is why breakeven is measured in years, not months
- Appreciation is an assumption, not a birthright — vary it before trusting a conclusion; a 1-point change often moves breakeven by years
- The output is a horizon, not a verdict — "buying wins if you stay past year N" is the honest deliverable
Output Format
Rent vs Buy: [scenario]
The Table and the Breakeven
[Script output: year-by-year net positions, breakeven year]
What the Breakeven Means
[Two sentences: how the user's expected stay compares to the breakeven, and which assumption the conclusion is most hostage to.]
What This Model Ignores
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.
Quality Checks
- The renter-invests-the-difference assumption is stated explicitly
- Selling costs are inside the owner's net position at every horizon
- The breakeven year is compared against how long the user expects to stay
- At least one sensitivity note (appreciation or investment return varied)
- The disclaimer line appears in the artifact
Anti-Patterns
- Do not declare a universal winner — the deliverable is a breakeven horizon
- Do not count rent as "thrown away" without counting interest, tax, and maintenance the same way
- Do not compare non-comparable homes (rent a 1BR vs buy a 3BR)
- Do not model jurisdiction-specific tax benefits — name them as unmodeled instead
- Do not let the math silently overrule stated non-financial priorities — surface the tension
Version History
- 54fad50 Current 2026-07-19 12:46


