If you follow property alerts, you know the routine: ten emails, each with a price and a surface, and you divide in your head to see whether anything is actually cheap for the area. It is boring, error-prone, and the one good listing is usually buried.
I wrote a small Hermes skill, listing-alert-triage, that does this step for you. It is one Python file using only the standard library. No API key, no network.
It reads plain text, HTML or .eml exports, finds an amount followed by €/EUR and a number followed by m²/m2, guesses the city (Lyon 69003, 33000 Bordeaux, à Lille), and computes the price per m². You provide your own reference price per m² for each city, and it ranks listings as GEM, watch or pass. Anything absurdly cheap gets a ? because that is more often a typo or a scam than a bargain. You can also exclude by min/max surface or max price, and output text, JSON or CSV.
python3 scripts/triage.py alerts/*.eml \
--ref Nantes=3900 --ref Rennes=3400 --max-price 400000
[watch ] Nantes 168 000 EUR 48 m2 3 500 EUR/m2 ref 3900.0 ratio 0.90x
Honest limits: extraction is heuristic, so check the first run against the original email. It does not value anything, and it only knows euros and square metres. I tested it on synthetic fixtures only.
The skill is MIT licensed in the hermes-skills library.
Skill (MIT): https://github.com/RobinBeraud/hermes-skills/tree/main/automation/listing-alert-triage
All skills: https://github.com/RobinBeraud/hermes-skills
This post was written with AI assistance and reviewed through automated checks.
Top comments (0)