Real Estate · 2026 edition
Work the listing without leaking the client
Founding library · sample
In this chapter
0/2 Try-its complete
Start
In this chapter you run two jobs a realtor actually has this week, on sample data, without putting a client file in a public model.
What you need
2 Try-its on sample data. Nothing from a live client file.
- Tools
- brief CLI (local redaction)
- Claude
- listing-copy CLI
- Files
- sample_listings.csv
- market-1pager template
- sample_comps.json
- listing-voice template
- Model
- Claude
- Try-its
- RE-01 · ~15 min · ≈ $0.03
- RE-02 · ~12 min · ≈ $0.02
What's in this chapter
The stakes
A listing that stalls because the market brief is late is a lost weekend. A listing that leaks because you pasted the client sheet into a public model is a lost license. Real estate work runs on both clocks: the showing at 4pm, and the file that must never leave the office.
The failure is not that AI sits unused. It is a one-pager that is late, generic, or built from a client name that should not have been in the prompt. Buyers notice fluff. Brokers notice a privacy incident. Neither is recoverable in the same week.
Constraints you cannot ignore
You already work in MLS exports, a CRM, and a phone that rings during the write-up. Done is a brief the client can read in a meeting, with numbers you can stand behind, reviewed by a human. Public models are useful for draft and classify. They are not a filing cabinet.
Owner names, phones, exact addresses, and showing lists stay on your machine. Comps, medians, and days on market can travel, once identifiers are stripped. If a field could pick one household out of the block, it does not go in the prompt.
How we work here
Redact locally. Prompt with a sample or a stripped file. Review against a checklist. Share the artifact, not the workflow text. The first job this week is the neighborhood market brief. Run it on sample comps before you touch a live listing.
Workflow 1 of 2 in this chapter
Draft a property-market brief with an AI agent without leaking client data.
- You run
- Listing agent
- Tools
- brief CLI (local redaction) · Claude
- Files
- sample_listings.csv · market-1pager template
- Model
- Claude
- Time
- ~15 min
- Cost
- ≈ $0.03
- You produce
- One-pager market brief
Problem
Actors
- Listing agent runs it.
- Client receives the brief.
- Model may draft and classify. A human must review before send.
Setup
- Tools: local redaction script (brief CLI), Claude or your usual model.
- Sample files: sample_listings.csv, market-1pager template.
- Cost: about $0.03 on the sample run (2,140 tokens).
Safeguards
Method
- Strip identifiers from the source data locally (a provided script does this).
- Prompt the agent with the anonymized sample and a fixed brief template.
$ brief --input sample_listings.csv --template market-1pager ✓ redacted 3 fields (owner_name, phone, exact_address) ✓ 41 comps in radius · median $/sqft computed MARKET BRIEF — Maple Heights (sample) · Median list: $420/sqft (▲ 4.1% QoQ) · Days on market: 22 (was 31) · Inventory: 1.8 mo — seller-leaning · Read: price to comp, expect <2 wks at ask # cost this run: $0.03 · model: claude · 2,140 tokens
- Review the draft against the checklist before anything leaves your machine.
Evidence
A one-pager brief on Maple Heights (sample), ready for a meeting once a human signs the checklist.
Sample metrics from that run: median $420/sqft, 22 days on market, 1.8 months of inventory.
Try-it
About 15 minutes. Use the included sample_listings.csv (no live client file). Produce the market-1pager brief and walk the human checklist.
Mark complete when you have a brief you would send after review. Completing this is the activation demo. sample_listings.csv
◷ cost to try ≈ $0.03
Record
The brief is half the meeting
The brief gets you into the room with numbers. The other half is the listing copy: public comps, a description that does not sound like every other house on the street, and an address book that never belongs in the prompt. Same rule. Different job.
Workflow 2 of 2 in this chapter
Rewrite a listing description from public comps without pasting the client address book.
- You run
- Listing agent
- Tools
- listing-copy CLI · Claude
- Files
- sample_comps.json · listing-voice template
- Model
- Claude
- Time
- ~12 min
- Cost
- ≈ $0.02
- You produce
- 180-word listing draft
Problem
Actors
- Listing agent runs it.
- The public listing receives the copy.
- Model drafts. A human edits, files, and posts to MLS.
Setup
- Tools: listing-copy CLI, listing-voice template, Claude or your usual model.
- Sample files: sample_comps.json (public comps only).
- Cost: about $0.02 on the sample run (1,280 tokens).
Safeguards
Method
- Export public comps for the block. Leave the CRM closed.
- Run listing-copy against the sample comps and the house-voice template.
$ listing-copy --input sample_comps.json --voice house-voice --out draft.md ✓ used 6 public comps (no CRM fields present) ✓ 184 words · reading grade 8 LISTING DRAFT · 14xx Cedar (sample street, public facts) · Bright corner lot, 3 bed / 2 bath, maple kitchen from 2019. · Priced to the block: comps closed $398–$441/sqft in 60 days. · No owner name, phone, or showing list in the prompt. # cost this run: $0.02 · model: claude · 1,280 tokens
- Edit the draft. Cut anything that could only have come from a private note.
Evidence
A 184-word listing draft, public facts only, reading grade 8.
Comps on the block closed between $398 and $441/sqft in 60 days. The draft prices to that range without naming a client.
Try-it
About 12 minutes. Use the included sample_comps.json (public comps, no address book). Produce a ~180-word listing description and a human edit pass.
Mark complete when the draft has no private fields. Completing this is the activation demo. sample_comps.json
◷ cost to try ≈ $0.02
Record
Further workflows in this vertical
Sources
- Sample MLS packet shipped with this chapter (non-confidential).
- market-1pager and listing-voice templates in the recipe kit.
- Local redaction fields: owner_name, phone, exact_address.
Last updated: 31 Aug 2026