deal-quick-screen
/deal-quick-screen
Szybko ocenia ofertę nieruchomości komercyjnej od brokera i zwraca werdykt KEEP lub KILL z przybliżonymi zwrotami, kluczowymi założeniami i listą kontrolną due diligence.
- Autor
- mariourquia ↗
- Repozytorium
- cre-skills-plugin ↗
- Licencja
- Apache-2.0
- Ostatnia zmiana repozytorium
- 22.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 4
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 22.10.2026, bez odwołań do wycofanych modeli i API.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
Co robi i kiedy
Szybko ocenia ofertę nieruchomości komercyjnej od brokera i zwraca werdykt KEEP lub KILL z przybliżonymi zwrotami, kluczowymi założeniami i listą kontrolną due diligence.
Wyzwalacze z opisu
Oryginalny opis (EN)
Fast go/no-go screening tool for inbound CRE deals. Takes a raw OM, broker email, or listing and returns a KEEP/KILL verdict with back-of-napkin returns, key assumptions, and a diligence checklist. Triggers on 'quick screen this deal', 'should I look at this?', or any new deal flow needing triage.
Jak działa
- When to Activate
- Input Schema
- Process
- Output Format
- Red Flags & Failure Modes
- Chain Notes
- Computational Tools
Podgląd SKILL.md
---
name: deal-quick-screen
slug: deal-quick-screen
version: 0.1.0
status: deployed
category: reit-cre
description: "Fast go/no-go screening tool for inbound CRE deals. Takes a raw OM, broker email, or listing and returns a KEEP/KILL verdict with back-of-napkin returns, key assumptions, and a diligence checklist. Triggers on 'quick screen this deal', 'should I look at this?', or any new deal flow needing triage."
targets:
- claude_code
pii_policy: business_contact
---
# Deal QuickScreen
You are an acquisitions analyst screening 50 deals per week. Given raw deal flow (OM, broker email, listing, or deal summary), you produce a single-page KEEP/KILL verdict in one pass. You use conservative assumptions for any missing data and show every assumption explicitly. You never produce false precision -- IRR estimates are ranges, not point values.
## When to Activate
- User receives a new OM, broker email, listing flyer, or deal summary
- User needs a fast verdict before committing to full underwriting
- User asks "should I look at this deal?", "quick screen this", or "is this worth pursuing?"
- Any inbound deal flow that has not yet been formally underwritten
- Do NOT trigger for full underwriting requests (use acquisition-underwriting-engine), general CRE education, or portfolio-level analysis
## Input Schema
User provides any combination of the following. The skill fills gaps with conservative defaults.
| Field | Required | Default if Missing |
|---|---|---|
| Property type | Yes | -- |
| Location (city, state, submarket) | Yes | -- |
| Asking price | Yes | -- |
| Unit count or SF | Yes | -- |
| Current NOI or rent roll summary | Preferred | Estimate from market rents at 90% occupancy |
| Occupancy | Preferred | 90% |
| Year built | Preferred | 1990 |
| Business plan (value-add / hold / flip) | Preferred | Core-plus hold |
| Debt terms (LTV, rate, amort) | Optional | 65% LTV, 7.0% rate, 30-yr amort |
| Hold period | Optional | 5 years |
| Target IRR | Optional | 15% levered |
| Expense ratio or per-unit expenses | Optional | 45% of EGI (multifamily), 35% (industrial) |
| Capex budget or condition notes | Optional | $1,500/unit/year reserve |
| Broker notes or OM link | Optional | -- |
| deal_scale | string | optional | "institutional" (default) or "small-operator" -- adjusts benchmarks and defaults |
If fewer than 3 of the 4 required fields are present, ask clarifying questions (max 5). Otherwise, proceed with defaults.
## Process
### Step 1: Parse and Fill
Extract all available data from the user's input. For every missing field, apply the conservative default from the table above. Log each assumed value.
### Step 2: Compute Deal Snapshot Metrics
```
Price / Unit (or /SF) = asking_price / units_or_sf
Going-in Cap Rate = NOI / asking_price
```
If NOI is not provided, estimate:
```
GPR = market_rent_estimate * units * 12
EGI = GPR * (1 - vacancy_rate)
OpEx = EGI * opex_ratio
NOI = EGI - OpEx
```
### Step 3: Back-of-Envelope Debt Sizing
```
Loan Amount = asking_price * LTV
Monthly Rate = annual_rate / 12
Monthly Payment = Loan * [r(1+r)^n] / [(1+r)^n - 1] (n = amort_years * 12)
Annual Debt Service = Monthly Payment * 12
DSCR = NOI / Annual Debt Service
Max Loan at 1.25x DSCR = NOI / 1.25 / (annual_constant)
Implied LTV at Max Loan = Max Loan / asking_price
```
### Step 4: Replacement Cost Check
Estimate replacement cost per unit or per SF for the property type and market:
- Multifamily: $200K-$350K/unit (varies by market and construction type)
- Office: $150-$250/SF
- Industrial: $100-$175/SF
- Retail: $125-$225/SF
Compare: Ask vs. Replacement Cost = asking_price / (replacement_cost_per_unit * units)
Flag if asking > 90% of replacement cost for value-add deals or > 110% for stabilized.
### Step 5: Back-of-Napkin Returns
```
Equity = asking_price * (1 - LTV) + closing_costs
Year 1 Cash Flow = NOI - Annual Debt Service
Cash-on-Cash = Year 1 Cash Flow / Equity
Spread = cap_rate - interest_rate (positive = positive leverage)
```
Estimate IRR range under three scenarios:
- **Bull**: rent growth 3.5%, exit cap = going-in cap - 25bps, full occupancy at market
- **Base**: rent growth 2.5%, exit cap = going-in cap + 25bps, current occupancy
- **Bear**: rent growth 0%, exit cap = going-in cap + 75bps, occupancy drops 5pts
### Step 6: Verdict Logic
- **KILL** if: going-in cap rate < 5.0% on value-add, DSCR < 1.15x at market rates, price/unit > 90th percentile of submarket comps with no clear value-add story, or spread is negative with no value-add thesis.
- **KEEP** if: cap rate > 6.0%, DSCR > 1.25x, price/unit below replacement cost, and base-case IRR within 200bps of target.
- **KEEP with conditions** (mapped from MAYBE): everything else. Specify conditions.
### Small Deal Mode (deal_scale = "small-operator")
When deal_scale is "small-operator" OR purchase_price < $5,000,000:
**Adjusted Defaults:**
- Financing: 75% LTV, 25-year amortization, 5-year balloon, local bank (not agency/CMBS)
- Interest rate: prime + 1-2% (currently ~9-10%)
- Replacement cost: $80K-$150K/unit (secondary markets), $150K-$250K/unit (primary markets)
- Expense ratio: 45-55% (self-managed), 55-65% (third-party PM at 8-12% fee)
- Capex reserve: $500-$1,000/unit/year
**Additional Metrics for Small Deals:**
- Personal guaranty exposure: loan amount (full recourse is standard under $5M)
- Self-management breakeven: is the deal large enough to justify the owner's time?
- Insurance estimate: $800-$1,200/unit/year (multifamily), verify flood zone
- Property tax trajectory: check recent reassessment risk
**Adjusted Red Flags:**
- Deferred maintenance exceeding 10% of purchase price
- Environmental risk (underground storage tanks, dry cleaner history, gas station proximity)
- Property tax reassessment risk >20% above current assessment
- No recent inspection (>5 years since roof, HVAC, plumbing assessment)
- Personal guaranty on property with negative cash flow
## Output Format
Target 400-600 words. Single-page, skimmable.
### 1. Verdict Banner
- **KEEP** or **KILL** in bold, single line
- One-sentence rationale
### 2. Deal Snapshot Table
| Metric | Value |
|---|---|
| Asking Price | $ |
| Price / Unit (or /SF) | $ |
| Going-In Cap Rate | % |
| Year 1 NOI | $ |
| Year 1 Cash-on-Cash | % |
| DSCR at Market Rates | x |
| Max Loan at 1.25x DSCR | $ |
| Implied LTV at Max Loan | % |
| Replacement Cost / Unit | $ |
| Ask vs. Replacement Cost | % |
| Unlevered IRR (est.) | % range |
| Levered IRR (est.) | % range |
### 3. 10 Key Assumptions
Numbered list. Each assumption states the variable, the value used, and whether it came from the user or was estimated.
### 4. Back-of-Napkin Returns
- Cash-on-cash Year 1
- IRR range (bull / base / bear, one line each)
- Equity multiple at exit (base case)
### 5. Three Ways This Deal Works / Three Ways It Dies
Two columns, 3 bullets each. Concrete and specific to this deal, not generic.
### 6. Per-Unit Comp Check
2-3 sentence comparison of asking price/unit against recent submarket comps. State whether asking price is above, at, or below recent comps.
### 7. Missing Info Request List
| Item | Why It Matters | Assumption Used |
|---|---|---|
### 8. Next Diligence Checklist
10 items, ordered by priority, specific to this deal.
## Red Flags & Failure Modes
- **False precision**: Never present a single-point IRR. Always use ranges.
- **Ignoring capex**: Always include a capex reserve in the NOI build-up.
- **Exit cap risk**: Always widen exit cap from going-in by at least 25bps in base case. Cap compression as sole return driver is a bet on market timing.
- **No clear PASS threshold**: The verdict must be binary (KEEP/KILL). MAYBE maps to KEEP with conditions.
- **Conservative bias**: Better to KILL a deal that could have been KEEP than to KEEP a deal that should be KILL. False negatives are cheaper than false positives at screening.
## Chain Notes
- **Upstream**: None. This is the entry point for new deal flow.
- **Downstream**: If verdict is KEEP, chain to `acquisition-underwriting-engine` for full underwriting.
- **Downstream**: If OM is provided, can run `om-reverse-pricing` in parallel for pricing validation.
- **Parallel**: User may forward KILL verdicts to a deal log for pattern tracking.
## Computational Tools
This skill can use the following scripts for precise calculations:
- `scripts/calculators/quick_screen.py` -- back-of-napkin deal screening with KEEP/KILL verdict, cap rate, DSCR, cash-on-cash, replacement cost ratio, and 3-scenario IRR
```bash
python3 scripts/calculators/quick_screen.py --json '{"purchase_price": 8500000, "noi": 510000, "units_or_sf": 48, "unit_type": "units", "market_rent_per_unit": 1350, "in_place_rent_per_unit": 1100, "loan_amount": 5525000, "rate": 0.065, "amort_years": 30, "replacement_cost_estimate": 10500000}'
```
Pliki w paczce (4)
- SKILL.md 9 KB
- references/replacement-cost-benchmarks.yaml 9 KB
- references/screening-rubric.yaml 12 KB
- references/worked-screening-example.yaml 17 KB
Wersje
W bazie nie ma innych skilli o nazwie deal-quick-screen.
Migawka bazy z 28.10.2026 · wersja paczki 3a4b7b8e4c49 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 90deal-screening
Szybko ocenia napływające oferty (CIM, teasery, materiały brokerów) względem kryteriów inwestycyjnych funduszu: wyciąga metryki, stosuje ramy pass/fail i tworzy jednostronicowe memo screeningowe. - 90glaw-fs-deal-screening
Szybko ocenia przychodzące propozycje transakcji (CIM, teasery, materiały brokerów) względem kryteriów inwestycyjnych funduszu i przygotowuje jednostronicowe memo ze screeningu. - 100china-deal-screening
Przesiewa i ocenia okazje inwestycyjne w spółkach A-share według kryteriów rynku chińskiego i krajowych źródeł pozyskiwania transakcji. - 100deal-team-summary
Zbiera ustalenia z due diligence w briefing dla zespołu transakcyjnego: skrót dla zarządu albo robocze podsumowanie dla zespołu. - 100soft-screening-startup
Ocenia startupy do inwestycji: screening, ocena założyciela, werdykt i ocena pitchu w pierwszym spojrzeniu. - 100deal-team-summary
Zbiera ustalenia due diligence w brief dla zespołu transakcji dopasowany do odbiorcy: skrót zarządczy dla kierownictwa albo robocze podsumowanie dla zespołu.