Files
stef-openclaw-skills/skills/property-assessor/SKILL.md

213 lines
9.7 KiB
Markdown

---
name: property-assessor
description: Assess a real property from an address or listing URL and produce a decision-grade summary. Use when a user wants fair value, comps, rental or STR viability, carry-cost review, HOA or insurance risk analysis, or offer guidance for a condo, house, townhouse, or similar residential property. Prefer when the task should discover and reconcile multiple listing sources from a street address first, then give a buy/pass/only-below-X verdict.
---
# Property Assessor
Start from the property address when possible. Treat listing URLs as supporting evidence, not the only source of truth.
## Inputs
Accept any of:
- a street address
- one or more listing URLs
- an address plus user constraints such as investment only, owner-occupant, long-term rental, STR, or distance to a target location
## Core workflow
1. Normalize the address and property type.
2. Discover accessible listing or public-record sources for the same property.
3. Establish a baseline fact set from the best available source.
4. Cross-check the same property on other sites.
5. Pull same-building comps for condos or nearby comps for houses/townhomes.
6. Underwrite carrying cost with taxes, HOA, insurance, and realistic friction.
7. Flag risk drivers before giving a verdict.
8. End with a specific recommendation: `buy`, `pass`, or `only below X`.
## Approval-averse / chat-safe behavior
When operating from chat surfaces such as WhatsApp, Telegram, Signal, or other messaging channels, prefer workflows that do **not** trigger host exec approval prompts.
Use this priority order:
1. `web_search` for discovery
2. `web_fetch` when page fetch is sufficient
3. `web-automation` one-shot extraction or accessible all-photos pages only when needed
4. interactive browser/gallery automation only as a last resort
Rules:
- Prefer accessible listing text, public mirrors, and scrollable all-photos pages over custom gallery traversal.
- Avoid fragile interactive gallery flows if they are likely to require approval or bounce the user into Control UI.
- If a richer photo pass would require approval, do not silently force that path first. Continue with the best approval-free workflow available and clearly lower confidence if needed.
- Only escalate to approval-heavy browser interaction when there is no reasonable alternative and the extra fidelity materially changes the assessment.
## Source order
Prefer this order unless the user says otherwise:
1. Zillow
2. Redfin
3. Realtor.com
4. HAR / Homes.com / brokerage mirror pages
5. county or appraisal pages
Use the `web-automation` skill for rendered pages and anti-bot-heavy sites.
Use `web_search` sparingly to discover alternate URLs, then return to `web-automation` for extraction.
## Minimum data to capture
For the target property, capture when available:
- address
- ask price or last known list price
- property type
- beds / baths
- sqft
- lot size if relevant
- year built
- HOA fee and included services
- taxes
- days on market
- price history
- parking
- waterfront / flood clues
- subdivision / building name when applicable
- same-building or nearby active inventory
- listing photos and visible condition cues
- included appliances and obvious missing appliances
- flooring mix, especially whether carpet is present
## Photo and condition review
Always look at the listing photos when they are available. Do not rate a property only from structured text.
### Required photo-access workflow
When the source site exposes listing photos, prefer the **most accessible all-photos view** first. This can be:
- a scrollable all-photos page
- a photo grid
- an expanded photo list
- or, if necessary, a modal gallery/lightbox
Use `web-automation` for this. Preferred process:
1. Open the listing page.
2. Click the photo entry point such as `See all photos`, `See all 29 photos`, `Show all photos`, or the main hero image.
3. If that opens a scrollable all-photos view, grid, or photo page that clearly exposes the listing images, use that directly for photo review.
4. Only use next-arrow / slideshow traversal when the site does not provide an accessible all-photos view.
5. If you must use a modal/lightbox, verify that you are seeing distinct images, not just a gallery preview tile or repeated screenshot of the first image.
6. Review enough images to cover the key rooms and exterior, and for smaller listings aim to review all photos when practical.
7. If photo access fails or is incomplete, say so explicitly and do not claim that you reviewed all photos.
Minimum honesty rule: never say you "looked at all photos" unless the site actually exposed the full set and you successfully reviewed them.
A gallery landing page, collage preview, repeated first image, or a single screenshot of the listing page does **not** count as full photo review.
### What to inspect in the photos
At minimum, note:
- overall finish level: dated, average, lightly updated, fully updated
- kitchen condition: cabinets, counters, backsplash, appliance quality
- bathroom condition: vanity, tile, surrounds, fixtures
- flooring: tile, vinyl, laminate, hardwood, carpet
- whether carpet appears in bedrooms, stairs, or living areas
- obvious make-ready issues: paint, damaged trim, old fixtures, mismatched finishes, worn surfaces
- visible missing items: refrigerator, washer/dryer, range hood, dishwasher, etc.
- any signs of deferred maintenance or water intrusion visible in photos
- exterior/common-area condition when visible
- balconies, decks, sliders, windows, and waterfront-facing elements for condos/townhomes near water
### If photo review is incomplete
If photos are weak, incomplete, blocked, or the gallery automation fails:
- say so explicitly
- lower confidence
- avoid strong condition claims
- do not infer turnkey condition from marketing text alone
### Mandatory photo-review rule
If an accessible all-photos view, photo grid, photo page, or fallback source exists, photo review is **required** before making condition claims.
Do not silently skip photos just because pricing, comps, or carrying-cost analysis can proceed without them.
Before outputting `Photo review: not completed`, you must attempt a reasonable photo-access chain when sources are available.
Preferred order:
1. primary listing source all-photos page (for example Zillow `See all photos` / `See all X photos`)
2. HAR photo page
3. Realtor.com photo page
4. brokerage mirror or other accessible listing mirror
Use the first source that exposes the listing photos reliably. A scrollable photo page, photo grid, or expanded all-photos view counts.
Do not stop at the first failure if another accessible source is available.
### Zillow-specific rule
For Zillow listings, do **not** treat the listing shell text or hero gallery preview as a photo review attempt.
You must use **only `web-automation`** to:
1. open the Zillow listing page
2. click `See all photos` / `See all X photos`
3. access the resulting all-photos page or scrollable photo view
4. review the exposed photo set from that page
If Zillow exposes a page with a scroller that shows the listing photos, that page counts as the Zillow photo source and should be used directly.
Do not rely on generic page text, photo counts, or non-photo shells as a Zillow attempt.
Only fall back to HAR/Realtor/broker mirrors if the Zillow all-photos path was actually attempted with `web-automation` and did not expose the photos reliably.
A source only counts as an attempted photo source if you actually did one of these:
- opened the all-photos page / photo grid / photo page successfully, or
- explicitly tried to open it and observed a concrete failure
The following do **not** count as a photo-source attempt by themselves:
- seeing a `See all photos` button
- seeing a photo count
- reading listing text that mentions photos
- capturing only the listing shell, hero image, or collage preview
The final assessment must explicitly include these lines in the output:
- `Photo source attempts: <action-based summary>`
- `Photo review: completed via <source>`
or `Photo review: not completed`
If completed, briefly summarize the condition read from the photos.
If not completed, mark condition confidence as limited and say why.
## Normalization / make-ready adjustment
Estimate a rough make-ready budget when condition is not turnkey. The goal is not contractor precision; the goal is apples-to-apples comparison.
Use simple buckets and state them as rough ranges:
- light make-ready: paint, fixtures, minor hardware, patching
- medium make-ready: flooring replacement in some rooms, appliance replacement, bathroom refresh
- heavy make-ready: major kitchen/bath work, widespread flooring, obvious deferred maintenance
Call out carpet separately. If carpet is present, estimate replacement or removal cost as part of the make-ready note.
## Underwriting rules
Always show a simple carrying-cost view with at least:
- principal and interest if available from the listing
- taxes per month
- HOA per month if applicable
- insurance estimate or note uncertainty
- realistic effective carry range after maintenance, vacancy, and property-specific risk
Treat these as strong caution flags:
- high HOA relative to price or expected rent
- older waterfront or coastal exposure
- unknown reserve / assessment history for condos
- many active units in the same building or micro-area
- stale days on market with weak price action
- no clear rent support
## Output format
Keep the answer concise but decision-grade:
1. Snapshot
2. What I like
3. What I do not like
4. Comp view
5. Underwriting / carry view
6. Risks and diligence items
7. Verdict with fair value range and offer guidance
## Reuse notes
When condos are involved, same-building comps and HOA economics usually matter more than neighborhood averages.
For detailed heuristics and the reusable memo template, read `references/underwriting-rules.md`.