Property-Report-Skill-Judges

Inspection Advisor (subagent)

Part of the Property Investigator skill. Runs independently (“review my inspection”) or is invoked by the orchestrator during the Option period. Decision support, not a substitute for a licensed inspector, engineer, contractor, insurance professional, or real-estate attorney.

Trigger phrases (independent invocation)

Shared state contract (.property/journey.json)

Inputs & outputs (quick reference)

| Input | Where to add it | Type | Importance | |——-|—————–|——|————| | Full inspection report | inspection/documents/ | PDF (scans OK) | Critical — every finding priced & evidenced, not just the summary | | Inspection photos | inspection/documents/ | JPG, PNG | Important — visual evidence per finding | | Specialist reports / contractor quotes | inspection/estimates/ | PDF | Important — replaces allowances with real numbers | | Executed contract | documents/ | PDF | Critical — locks the real option deadline |

Output What it tells you
Inspection-Readiness-Checklist.html Pre-inspection prep: what to schedule (roof/foundation/sewer/WDI), on-site checks, known-risk focus list — generate when the option period is open and no inspection report exists yet
Inspection-Repair-Budget.html Interactive: DIY-vs-specialist cost per finding, presets, evidence, DIY steps + safety stop, material kits, shopping list
Inspection-Analysis-Report.html Deadline status, major/minor tables, cost bands, negotiation target, proceed/switch/walk-away triggers
Inspection-Repair-Request.html Concise, agent-ready seller request with source pages & remedy language
Inspection-Agent-Response.html Ready-to-send email to the buyer’s agent summarizing the ask, priorities, and remedy language — generate when there is a negotiation ask to deliver
Option-Deadline-Protection-Plan.html Timeline + protective actions to avoid losing termination/negotiation rights when specialists can’t finish before the option deadline — generate when the deadline is at risk

Workflow

  1. Setup and fresh rebuild. Use properties/<Address>/inspection/, with raw reports/photos in documents/ and specialist reports/quotes in estimates/. On every run, rebuild the finding set from the files currently present; removed files must not leave stale findings. Cache extraction in .property/extracted/ if useful, but treat the inspection folder as the current source set.
  2. Lock down the real deadline first. Read the latest fully executed contract in this property folder and capture Effective Date, option-period days, exact expiration date/time, closing date, as-is/repair terms, and any amendment. Never inherit these from an old checklist or draft. If the executed version or Effective Date is unavailable/conflicting, set option_deadline_status = unverified, make this the first 🔴 action, and do not state that the buyer can still terminate. A report-item total or a percentage of price is not automatically a contractual termination right; contract rights must trace to the executed contract/addenda and be verified with the agent/attorney.
  3. Extract every page and image (including scanned-page rendering). Capture the inspector’s summary plus all body findings, limitations, inaccessible areas, excluded systems, photos, test conditions, and recommendations. A summary page never replaces the full report. Assign stable IDs F-001, F-002, etc. and page/section provenance.
  4. Normalize and deduplicate. Populate templates/inspection-data-schema.json. Merge repeated observations only when they describe the same defect/location; retain all source references. Do not count one root cause multiple times (for example roof leak + ceiling stain + wet insulation) when estimating total repair exposure. Mark bundled costs and check double_counting_checked.
  5. Classify by consequence, not inspector formatting.
    • Critical: imminent life-safety hazard, active major leak, unstable structure, fire/electrocution/CO risk, sewage release, or a condition that may make the property uninsurable/unfinanceable.
    • Major: failed or near-failed high-cost system; material structural, roof, drainage, plumbing, HVAC, electrical, WDI, or envelope defect requiring specialist action.
    • Moderate: functional defect or deferred maintenance to correct before closing or within 30 days but localized/contained.
    • Minor: low-cost maintenance or isolated non-safety defect.
    • Monitor / informational: no current repair justified or normal operation/age note. Do not turn age alone, code changes after original construction, cosmetic wear, or a long list of small items into a major finding without evidence of failure, safety risk, or material cost.
  6. Escalate uncertainty before pricing it. Any foundation movement, roof remaining-life/insurability concern, active water intrusion, sewer defect, suspected mold, WDI damage, unsafe electrical condition, or failed HVAC needs the appropriate licensed specialist. Distinguish unknown_pending_specialist from a confirmed defect. Request written scope, cause, urgency, warranty/permit needs, and a quote before the option deadline when possible.
  7. Estimate honestly. For each repair, provide low/base/high planning ranges and a basis (prefer: property-specific written quote > recent local licensed-contractor range with citation/date > clearly labeled planning allowance). Include access, diagnosis, permits, tax, finish restoration, and contingency where relevant. Use null / “quote required” when scope is unknowable; never invent a precise amount. Separate immediate stabilization; pre-closing/first-30-day work; year-one maintenance/reserve; optional cosmetic work.
  8. Measure economic exposure. Show low/base/high totals, quoted vs allowance amounts, exclusions, and double-counting adjustments. Compare unresolved material exposure with the negotiated purchase discount/value cushion, keeping inspection condition and market value as separate concepts. A favorable price does not cure a safety/structural/insurance defect; minor punch-list costs usually do not erase a strong value cushion.
  9. Choose the right remedy (short, defensible list, not every minor item): seller repair by licensed/insured trade with permits/receipts (discrete safety/code or lender-required work); specialist evaluation/extension (uncertain high-impact conditions); closing-cost credit (buyer-controlled post-closing repairs, subject to lender limits); price reduction (when credits are capped — but no equal cash at closing); termination/extension (unresolved critical issue, unacceptable high-end exposure, uninsurable/unfinanceable condition, or inadequate time to verify before a live deadline). Do not recommend seller DIY or a vague blanket request. Confirm credit/repair language with the buyer’s agent, lender, and title company before an amendment.
  10. Deal-breaker test. Label a finding yes, conditional, no, or unknown_pending_specialist. Credible walk-away/extension triggers: safety/structural scope unknown at deadline; insurer/lender will not accept the condition; seller will not address a confirmed material defect; repair high-end plus contingency exceeds documented tolerance/value cushion; repeated water/WDI issue lacks a verified root-cause fix; or required repair cannot be completed/re-inspected before closing. Minor/cosmetic items alone are not deal breakers.
  11. Outputs (HTML default).
    • Inspection-Analysis-Report.html (from templates/report-template.html): deadline status, executive decision, major/minor tables, specialist gaps, cost bands, negotiation target, proceed/switch/terminate conditions, and sequenced next steps.
    • Inspection-Repair-Budget.html: MANDATORY — if an inspection report is present in inspection/documents/, this file MUST be (re)generated on every run; never skip it and never wait for the user to ask. A normal inspection always yields findings, so its absence after a run is a 🔴 defect, not an acceptable “not applicable”. Only skip it if there are genuinely zero findings after full extraction (state that explicitly) or generation actually failed (then flag 🔴 with the reason). Build it from templates/inspection-repair-budget-template.html plus its two companion data files from templates/inspection-evidence-template.js (→ data/inspection-evidence.js) and templates/diy-guidance-template.js (→ data/diy-guidance.js). Fill the `` (property name/address, finding count, city/state search anchor, unique STORAGE_KEY, PDF path, export filenames, buyer credit/adjustment amount, scenario banner, seller-scope summary, insurance note, source note) and the DATA arrays (ORIGINAL_ITEMS, HANDLING_BY_ITEM, MINIMUM_BUDGET_COSTS, SPECIALIST_BY_ITEM, TIMING_BY_ITEM, INSURANCE_GROUPS, SPECIALIST_BUNDLES, BUNDLE_CATEGORY_LABELS); render each cited report page to report-page-images/page-NN.jpg (~120 DPI); map only genuinely homeowner-safe findings into diy/diy-first with a stop condition, keeping roof/structural/gas/energized-electrical/garage-spring/concealed-leak/pressure/HVAC-control/high-access work as specialist-only. Validate: every finding maps to one handling method, one specialist type, and one bundle; each DIY-eligible row has a guidance key, material kit, and retailer links; no mobile overflow at ~390px.
    • Inspection-Repair-Request.html: concise agent-ready table with finding ID, exact defect/location, requested remedy/amount, source page, deadline, license/permit/receipt/re-inspection language. Exclude accepted cosmetic items.
    • Conditional companion deliverables (generate when the scenario applies; not always all three):
    • Inspection-Readiness-Checklist.html — before an inspection report exists but the option period is open: scheduling + on-site checks + the property’s known-risk focus list (roof age, settlement/clay soil, aged HVAC, vacancy-idle systems).
    • Inspection-Agent-Response.html — when there is a negotiation ask to send: a ready-to-send email to the buyer’s agent summarizing the priorities, requested remedies, and settle target (mirrors the repair request, in email form).
    • Option-Deadline-Protection-Plan.html — when specialists cannot complete/re-inspect before the option deadline: the timeline and protective actions (signed extension before the controlling deadline; a vendor delay never silently extends it) so no termination/negotiation right is lost. - update data/inspection-findings.json and the property README’s overall risk/open items when findings materially change them.
  12. History and change log. Before overwriting an inspection HTML output, copy it to inspection/history/ with yyyy-MM-dd_HHmm. Stamp regenerated reports with updated date/time and summarize added/removed reports, changed estimates, resolved unknowns, and any decision-rating change.

Guardrails