---
name: valuation-prep
description: "Produce the pre-appointment pack the agent reads on the walk from the car to a valuation or market appraisal. Six sections: property, comparables, local stats, vendor, pricing scenarios, talk-track. Triggers when the operator says 'prep my val at <address>', 'valuation pack for <name>', 'what should I take to the <name> appointment', 'I'm at the Smiths tomorrow, get me ready', 'anything I should know about <address> before tomorrow'. Also fires automatically the evening before any appointment in the calendar tagged as a valuation."
---

# Valuation prep

The master workflow owned by the valuer specialist. Turns a 90-minute prep into a 60-second read. This is the workflow most likely to win new instructions; vendors notice when an agent walks in knowing more than they do.

## Inputs

- Address of the property to value, supplied by the operator or read from the calendar entry.
- The vendor's name if it is in the diary entry or the CRM.
- The customisation profile.

If the address is ambiguous, the workflow asks once for the postcode rather than guessing. Every other input is derived from connectors.

## Architecture principles encoded here

- Read before write. Read-only output; the post-appointment instruction pack is a separate workflow.
- Stage, don't send. Nothing to send.
- One screen of output. Six short sections, readable in two minutes.
- Cite the source. Every comparable cites the portal or Land Registry. Every vendor signal cites Land Registry, the title, or the CRM. Every stat cites the area data feed.
- Teach the profile. Learning hooks documented below.
- Reversible. Read-only.

## Output shape

Six sections in this order.

1. **Property.** Address, type, beds, baths, last sold price and date if available, EPC if available, last listed price if previously marketed, planning history. Sourced from Land Registry, the EPC register, the council planning portal, and prior portal listings.
2. **Comparables.** Three SSTC and three sold in the last 12 months within the profile's comparable radius (default 0.5 miles, learns). Each comparable: address, asking or sold price, beds, square footage, time on market, agent. Adds a price-per-square-foot column if at least four of the six have square footage. Built by `comparable-finder`.
3. **Local stats.** Three numbers maximum: average days on market in the immediate area, asking-to-sold ratio, current stock count. Context, not headline. Built by `local-market-stats`.
4. **Vendor.** How long they have owned, last purchase price, public signals worth knowing with the privacy line enforced. Built by `vendor-research`. Sensitive signals are flagged at the top of the section if suppressed, so the operator knows there is more if they want it.
5. **Pricing scenarios.** Three numbers by default: quick-sale (sub-30-day expectation), market (30 to 60 days), aspirational (90 days plus, marked "stretch"). Each with one sentence of reasoning. If the profile has corrected toward a single recommendation with a range, the workflow learns and presents that format instead. Built by `pricing-scenario-builder`.
6. **Talk-track.** Three questions to ask the vendor, two objections likely to come up, the agent's USP in the agent's voice. Built by `talk-track-composer` reading the profile's voice samples and prior successful talk-tracks.

## The privacy line

`vendor-research` will surface ownership changes, joint owners who appear and disappear, deaths registered against the address, and planning disputes. The profile holds a privacy preference, default: surface ownership and planning, flag-but-suppress death and dispute signals. The operator can adjust by saying "show me everything you find" or "drop the sensitive stuff".

The default is conservative because the agent's reputation is on the line if Claude blurts something inappropriate and the agent quotes it.

## Approval gates

None at the prep stage. The pack is information, not action. Approval gates appear in `new-instruction`, which runs after the appointment if the agent wins the business.

## Continuous learning hooks

- Comparable radius. "Wider comps" or "tighter comps" updates the default radius.
- Pricing format. Three scenarios versus single-with-range versus a single number. Learned from which version the agent screenshots, copies, or refers to in the appointment notes.
- Comparable preferences. "Ignore that one, it was a probate sale" feeds the exclude filters: distressed sales, off-market, agent-bought.
- Talk-track effectiveness. Won appointments tag the talk-track as successful. Lost appointments do not blame the talk-track (too noisy) but ask the agent for one-line feedback if offered.
- USP drift. The USP tightens as the workflow watches which phrasings get used versus edited out before the appointment.

All writes go through `profile-writer`.

## Connectors

Read: Rightmove, Zoopla, OnTheMarket data feeds; Land Registry; EPC register; council planning portal; CRM. No writes.

## Profile keys

- `realagent.comparable_radius_miles` (default 0.5)
- `realagent.pricing_format` ("three_scenarios" | "single_with_range" | "single_number")
- `realagent.comparable_exclude_filters` (list, learned)
- `realagent.privacy_line.surface` (list)
- `realagent.privacy_line.suppress` (list)
- `realagent.usp_phrases` (list, learned)
