Add purpose-aware property assessor intake
This commit is contained in:
@@ -34,9 +34,9 @@ The wrapper script uses the skill-local Node dependencies under `node_modules/`.
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418"
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --recipient-email "buyer@example.com"
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --recipient-email "buyer@example.com" --output /tmp/property-assessment.pdf
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --assessment-purpose "investment property"
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --assessment-purpose "investment property" --recipient-email "buyer@example.com"
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --assessment-purpose "investment property" --recipient-email "buyer@example.com" --output /tmp/property-assessment.pdf
|
||||
|
||||
scripts/property-assessor locate-public-records --address "4141 Whiteley Dr, Corpus Christi, TX 78418"
|
||||
scripts/property-assessor locate-public-records --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --parcel-id "14069438"
|
||||
@@ -61,23 +61,26 @@ Default operating sequence:
|
||||
### `assess`
|
||||
|
||||
```bash
|
||||
scripts/property-assessor assess --address "<street-address>"
|
||||
scripts/property-assessor assess --address "<street-address>" --recipient-email "<target@example.com>"
|
||||
scripts/property-assessor assess --address "<street-address>" --assessment-purpose "<purpose>"
|
||||
scripts/property-assessor assess --address "<street-address>" --assessment-purpose "<purpose>" --recipient-email "<target@example.com>"
|
||||
```
|
||||
|
||||
Current behavior:
|
||||
|
||||
- starts from the address
|
||||
- requires an assessment purpose for decision-grade analysis
|
||||
- automatically runs public-record / appraisal-district lookup
|
||||
- automatically tries to discover Zillow and HAR listing URLs from the address when no listing URL is provided
|
||||
- runs Zillow photo extraction first, then HAR as fallback when available
|
||||
- returns a structured preliminary report payload
|
||||
- asks for recipient email(s) before PDF generation
|
||||
- renders the fixed-template PDF when recipient email(s) are present
|
||||
|
||||
Important limitation:
|
||||
|
||||
- this first implementation wires the address-first assessment spine
|
||||
- it does not yet auto-run listing extraction, photo review, comps, or carry underwriting inside the helper itself
|
||||
- those richer assessment steps are still governed by the skill workflow and the `web-automation` extractors
|
||||
- this implementation now wires the address-first intake, purpose-aware framing, public-record lookup, listing discovery, and photo-source extraction
|
||||
- it still does not perform full comp analysis, pricing judgment, or completed carry underwriting inside the helper itself
|
||||
- those deeper decision steps are still governed by the skill workflow after the helper assembles the enriched payload
|
||||
|
||||
## Source priority
|
||||
|
||||
@@ -205,8 +208,10 @@ For chat-driven runs, prefer file-based commands.
|
||||
|
||||
Good:
|
||||
|
||||
- `scripts/property-assessor assess --address "..."`
|
||||
- `scripts/property-assessor assess --address "..." --assessment-purpose "..."`
|
||||
- `node check-install.js`
|
||||
- `node zillow-discover.js "<street-address>"`
|
||||
- `node har-discover.js "<street-address>"`
|
||||
- `node zillow-photos.js "<url>"`
|
||||
- `node har-photos.js "<url>"`
|
||||
- `scripts/property-assessor locate-public-records --address "..."`
|
||||
@@ -304,13 +309,15 @@ npm test
|
||||
|
||||
```bash
|
||||
cd ~/.openclaw/workspace/skills/property-assessor
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418"
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --assessment-purpose "investment property"
|
||||
```
|
||||
|
||||
Expected shape:
|
||||
|
||||
- `needsAssessmentPurpose: false`
|
||||
- `needsRecipientEmails: true`
|
||||
- public-record / CAD jurisdiction included in the returned payload
|
||||
- `photoReview.imageUrls` populated when Zillow or HAR extraction succeeds
|
||||
- no PDF generated yet
|
||||
- explicit message telling the operator to ask for target recipient email(s)
|
||||
|
||||
@@ -332,7 +339,7 @@ Expected shape:
|
||||
|
||||
```bash
|
||||
cd ~/.openclaw/workspace/skills/property-assessor
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --recipient-email "buyer@example.com" --output /tmp/property-assessment.pdf
|
||||
scripts/property-assessor assess --address "4141 Whiteley Dr, Corpus Christi, TX 78418" --assessment-purpose "investment property" --recipient-email "buyer@example.com" --output /tmp/property-assessment.pdf
|
||||
```
|
||||
|
||||
Expected result:
|
||||
@@ -368,8 +375,10 @@ When testing `property-assessor` itself, confirm the assessment:
|
||||
|
||||
- starts from the address when available
|
||||
- uses Zillow first for photo extraction, HAR as fallback
|
||||
- frames the analysis around the stated assessment purpose
|
||||
- uses official public-record jurisdiction links when available
|
||||
- does not treat listing geo IDs as assessor keys
|
||||
- asks for assessment purpose if it was not provided
|
||||
- asks for recipient email(s) if they were not provided
|
||||
- renders the final report through the fixed PDF template once recipient email(s) are known
|
||||
|
||||
|
||||
Reference in New Issue
Block a user