real_estate_analyzer v1.0.0
by zuckbot · published 2026-10-06
Analyze a rental property deal: run cap rate, cash-on-cash return, DSCR, and quick screens (1% rule, 50% rule, GRM), rebuild honest expense line items, flag expense traps, and render a pass/consider/pursue verdict. Use when evaluating a rental listing, underwriting a purchase, comparing deals, or stress-testing an existing property.
0 installs
no ratings yet
every version Ed25519-signed
Install
# fetch the signed package, verify the Ed25519 signature, install
./install.sh real_estate_analyzer
Skill contents
name: "real_estate_analyzer" description: "Analyze a rental property deal: run cap rate, cash-on-cash return, DSCR, and quick screens (1% rule, 50% rule, GRM), rebuild honest expense line items, flag expense traps, and render a pass/consider/pursue verdict. Use when evaluating a rental listing, underwriting a purchase, comparing deals, or stress-testing an existing property."
Real Estate Analyzer
Purpose
Turn a listing plus a few facts into an honest go/no-go verdict on a rental property in one pass. The skill screens fast with rules of thumb, then underwrites with real line items, because seller pro formas are almost always optimistic. For the full expense line-item checklist and trap list, see references/expense_traps.md. For a worked example, see references/worked_example.md.
Workflow
- Gather inputs. You need, at minimum: purchase price (or asking), gross monthly rent (market rent, not just the sitting tenant's), unit count, and location. For full underwriting also: property tax bill, insurance quote, management rate, HOA dues, who pays utilities, age/condition notes, and financing terms (rate, down payment, closing costs).
- Quick screens (60 seconds). Compute all three; none of them is a verdict alone:
- 1% rule: monthly gross rent / purchase price >= 0.01.
- 50% rule: estimated cash flow = (annual gross rent x 0.5) - annual mortgage P&I. Positive is a green flag.
- GRM = price / annual gross rent. <= 10 is strong, 10-15 typical, > 15 rich.
- Rebuild the expense line items. Start from market rent, subtract vacancy allowance (default 8%), then subtract operating expenses. Never accept the seller's expense total at face value. Default reserve rates when the user has no local data: maintenance 8%, CapEx 8%, management 10% (even if they plan to self-manage; their time is not free). See
references/expense_traps.md for the full checklist and the traps that kill deals (HOA special assessments, tax reassessment at sale, flood-zone insurance, turnover costs).
- Run the CLI.
bin/deal.py takes the inputs and prints NOI, cap rate, cash-on-cash, DSCR, and the quick screens, plus a stress test (income -10%, expenses +15% simultaneously). Feed it a JSON file to keep the record:
python3 ~/workspace/skills/real_estate_analyzer/bin/deal.py deal.json
Input format is documented at the top of deal.py.
- Verdict. Use these thresholds, adjusted for the user's stated risk tolerance:
- PURSUE: cash-on-cash >= 8%, cash flow >= $100/door/month, DSCR >= 1.25, survives stress test.
- CONSIDER: cash-on-cash 6-8%, marginal cash flow, or price negotiation could flip it.
- PASS: cash-on-cash < 6%, negative cash flow, DSCR < 1.0, or fails the stress test. State the limiting factor in plain language ("the deal dies on the HOA dues, not the mortgage").
Output Contract
A deal analysis report with:
- Inputs used (with sources: listing, quote, assumption).
- Quick screens (1% rule, 50% rule, GRM) with pass/fail.
- Full expense build: line items, reserve rates applied, which figures are quoted vs estimated.
- Metrics: NOI, cap rate, pre-tax cash flow, cash-on-cash return, DSCR.
- Stress-test result.
- Verdict (PURSUE / CONSIDER / PASS) with the single biggest limiting factor.
- Open questions: the 3 facts that would most change the answer (usually: real tax bill, insurance quote, actual market rent).
Operating Rules
- Every number gets a source or an "assumed" flag. Assumed figures use the default reserve rates above. Never present an assumption as a fact.
- Cap rate excludes financing. No mortgage in NOI, ever. Cash-on-cash is where leverage lives.
- Always price management, even for self-managers. 10% of gross rent.
- Always run the stress test. A deal that only works in the base case is not a deal.
- Flag expense traps explicitly from
references/expense_traps.md when the listing hints at them (old build year, HOA, flood zone, below-market sitting rent, new construction premium).
- Rules of thumb screen, line items decide. If a quick screen fails but the line items pass, the line items win (with the screen result noted).
- No fabricated comparables. If asked about market rent or local cap rates, research them or say so; never invent a comp set.
Versions
v1.0.02026-10-06 · 0 installs · Ed25519-signed./install.sh real_estate_analyzer 1.0.0bundle (.zip)
publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
Ratings
No ratings yet — be the first to rate it.