One listing description checked for fair-housing wording (HUD advertising guidance), steering words, MLS rules and length, with the reason for each flag and a safer way to say it.
Who it is for: US residential real estate agent or listing coordinator who writes 2-30 listing descriptions a month and worries about fair-housing wording and MLS rules.
Format: Claude skill pack · Version: 1.0.1 · Tested on: Python 3.13.5 (standard library only)
What it does
You give it a listing description. It checks the words against HUD's fair-housing advertising guidance: preferences or limits by race, colour, national origin, religion, sex, disability or familial status are violations, and softer phrases like 'perfect for young families', 'safe neighbourhood' or 'walking distance to the church' are cautions. It also flags source-of-income limits that many states protect, MLS problems (phone numbers, emails, links, going over your character limit), words your broker bans and shouting in capitals. Each flag says why and what to say instead. Terms HUD calls fine, like master bedroom, family room and walk to bus stop, are not flagged and are listed so you know.
What you need
- Claude.ai with code execution switched on (or Claude Code, or Python 3.10+)
- The listing description text
5-minute setup
- Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick
claude-ai-upload/fair-housing-listing-check.zip. - Claude Code: copy the folder
skills/fair-housing-listing-checkinto~/.claude/skills/. - Start a new chat. Attach your file and say: "Use fair-housing-listing-check. Check this listing description before I post it (MLS limit 1000 characters)".
- Claude runs the script and gives you the files listed under Outputs. Check them before you act on them.
Try it with the sample
Run the sample:
python3 skills/fair-housing-listing-check/scripts/core.py --text samples/listing-description.txt --limit 1000 --out out
You should see 1 violation ('mature couple'), 6 cautions and master bedroom and family room listed as allowed. In Claude, paste your description and use the prompt above.
Settings you can change
| Option | Default | What it is |
|---|---|---|
--text |
(required, or paste on stdin) |
A text file with one listing description |
--limit |
(none) |
Your MLS character limit for public remarks |
--extra-words |
(none) |
Comma-separated words your broker or MLS bans |
--out |
out |
Output folder |
What goes in and what comes out
Inputs: One listing description (text file or pasted); Optional MLS character limit and banned words
Outputs: check.md (verdict and each flag with reason and suggestion); flags.csv
What Pro adds
- Factual drafts from your property fact sheets (headline, MLS remarks, social post, bullets)
- Many listings in one run from a CSV
- A check that beds, baths and square feet in your text match the facts
- A sheet of every listing's verdict and flags
Pro: https://oarsmanai.com/agents/listing-description-writer-pro/
AI disclosure and limits
This product does not call an AI model at run time. It was built by Oarsman AI's AI agents and checked by the automated tests shipped with it.
Limits: - One description per run. - A word check, not legal advice: it cannot judge context, photos or intent. - Based on federal HUD guidance; state and local laws may protect more groups. - English only.
Not tested by us: - MLS-specific rule sets (set your limit and banned words) - descriptions in languages other than English - review by a fair-housing lawyer
Files
- oarsman-fair-housing-listing-check-v1.0.1.zip
- CHANGELOG.md
- QA-REPORT.json
- README.md
- SPEC.md
- SUPPORT.md
- TROUBLESHOOTING.md
- VERSION
- VIDEO-SCRIPT.md
- claude-ai-upload
- diagram.mmd
- diagram.png
- preview.png
- samples
- skills
- tests
Help
Self-serve: see TROUBLESHOOTING.md (fixes and FAQ). There is no call, chat or email support. Fixes ship as new versions at your download link. Refund: 14 days, works as described, through the checkout platform.