Sandbox
@mikepapadim/london-property-hunt-public

Claude Code skill for London rental hunts

This repository packages a Claude Code skill for running a twice-daily London flat and room search. It uses Claude in Chrome for site browsing, Gmail MCP for email, and a spreadsheet tracker for deduping and priority scoring. The skill generates ready-to-send outreach text files and an HTML summary email after each run.

86 stars17 forksUpdated 5mo ago
Who it's for

Builders who want Claude Code to search rental sites, track leads, and draft outreach automatically.

What it delivers

You can run a repeatable rental hunt without redoing searches, deduping, or writing every outreach message by hand.

What it does

Searches four rental platforms

Checks SpareRoom, OpenRent, Rightmove, and Zoopla for listings in your target areas.

Deduplicates against a tracker spreadsheet

Uses URL-based lookup to skip listings already seen and keep the hunt idempotent.

Ranks listings by priority

Marks listings as HIGH, MEDIUM, or LOW using the configured area, budget, timing, and flatmate rules.

Generates outreach files

Writes personalised `.txt` outreach messages for every HIGH-priority listing into the `outreach/` folder.

Emails a run summary

Sends an HTML email with clickable cards, outreach drafts, and a backlog of uncontacted leads.

Runs on a cron schedule

Supports scheduled runs such as morning and evening hunts through Claude Code `/schedule`.

How to get it

  1. 1Run
    git clone https://github.com/YOUR_USERNAME/london-property-hunt
    cd london-property-hunt
    cp config.example.md config.md
  2. 2Run
    mkdir -p ~/London-Room-Hunt/outreach
  3. 3Alternatively, run it manually
    claude "Run the London property hunt — search all platforms, update tracker, send email"
  4. 4In Claude Code, use /schedule to run it twice a day
    /schedule 0 9,18 * * * Run the London property hunt skill

README

London Property Hunt — Automated with Claude Cowork

An AI-powered workflow that searches London rental platforms twice a day, tracks listings in a spreadsheet, generates personalised outreach messages, and emails you a formatted summary — fully automatically.


Example output

Every run sends you an email like this — clickable listings, ready-to-send outreach messages, and a backlog of uncontacted leads:

Email summary preview


What it does

  1. Searches 4 platforms — SpareRoom, OpenRent, Rightmove, Zoopla — across your target areas
  2. Deduplicates against your tracker spreadsheet (URL-based, O(1) lookup)
  3. Prioritises listings as HIGH / MEDIUM / LOW based on your criteria
  4. Generates personalised outreach .txt files for every HIGH priority listing
  5. Emails you a summary with clickable cards, ready-to-send messages, and a backlog of uncontacted leads

Runs on a cron schedule (e.g. 9 AM and 6 PM daily). Human effort required: zero between runs.


Repository structure

london-property-hunt/
├── README.md              ← you are here
├── skill.md               ← the main Claude Code skill (copy-paste into your setup)
├── config.example.md      ← fill in your personal config here
├── case-study.md          ← write-up of how this workflow was built and what it produced
├── tracker/
│   └── README.md          ← spreadsheet column schema and setup instructions
├── outreach/              ← generated outreach .txt files land here (gitignored)
└── .gitignore

Requirements

  • Claude Code (CLI or desktop app) — claude.ai/code
  • Claude in Chrome MCP extension — for browser automation (SpareRoom, OpenRent, etc.)
  • Gmail MCP connector — for draft creation and sending
  • Python 3 + openpyxl — for spreadsheet updates (pip install openpyxl)
  • A Gmail account you can grant MCP access to

Setup

1. Clone and configure

git clone https://github.com/YOUR_USERNAME/london-property-hunt
cd london-property-hunt
cp config.example.md config.md

Edit config.md — fill in your name, target areas, budget, move-in date, and email.

2. Create your tracker spreadsheet

mkdir -p ~/London-Room-Hunt/outreach

On first run the skill creates the spreadsheet automatically at the path in your config. Or create it manually — see tracker/README.md for the column schema.

3. Install the skill in Claude Code

Copy the contents of skill.md and paste it as a new skill in Claude Code, or point your Claude Code config at this file.

Alternatively, run it manually:

claude "Run the London property hunt — search all platforms, update tracker, send email"

4. Schedule it

In Claude Code, use /schedule to run it twice a day:

/schedule 0 9,18 * * * Run the London property hunt skill

How the search works

Type A — Rooms in shared flats

  • Furnished double rooms, max 3-bedroom properties
  • Flatmates: professionals preferred (28–40), students/under-25 skipped or flagged LOW
  • Budget: up to your configured max (bills included preferred)

Bed count filter (mandatory):

Stated bedsAction
2-bed or 3-bedADD ✅
4-bed, 5-bed, 6-bed+SKIP ❌
UnknownADD with note "Verify ≤3 bed before messaging"

Type B — Studios and 1-bedroom flats

  • Whole-unit lets, furnished, no bed count restriction
  • Budget: up to your configured studio max

Priority logic

Rooms:

  • HIGH — Prime areas + ≤ budget + available by move-in ± 1 week + furnished + ≤3 bed + flatmates 28+ (or unconfirmed)
  • MEDIUM — Secondary areas within budget, or prime area with minor flags
  • LOW — Late availability, outer areas, student flat, confirmed 4+ beds

Studios:

  • HIGH — Zone 1–2 South + ≤ budget + available by move-in + furnished
  • MEDIUM — Zone 2–3 within budget and timing
  • LOW — Late availability or outer areas

Row colours in spreadsheet: HIGH = green (E2EFDA), MEDIUM = yellow (FFFFC7), LOW = red (FCE4D6)


Email format

Every run sends an HTML email (even if zero new listings) with:

  • Header — date, run time, platform counts, HIGH/MEDIUM/LOW totals
  • HIGH listings — card per listing with a green ready-to-send outreach message (<100 words, personalised)
  • MEDIUM listings — condensed cards with short outreach
  • LOW/SKIP — bullet list only
  • Backlog — up to 8 uncontacted HIGH listings from previous runs, with outreach cards
  • Stats — area breakdown, days until move-in, "message at least 5 listings today" reminder

Adapting for your own search

The only file you need to edit is config.md (copied from config.example.md). Everything else — search URLs, priority logic, outreach tone, email format — reads from that config.

Key things to configure:

FieldExample
Your nameAlex
Age29
Brief profileSoftware engineer, clean, professional
Work postcodeEC2A 1NT
Target areasHackney, Shoreditch, Bethnal Green
Budget (room)£1,500 pcm
Budget (studio)£1,800 pcm
Move-in date1 June 2026
Emailyou@gmail.com
Hunt directory~/my-room-hunt

Case study

See case-study.md for a full write-up: how this was built, what techniques were used (structured JSON extraction, DOM-as-buffer trick, idempotent dedup), and the numbers from a real run (230 listings found, 132 HIGH priority, 132 outreach files generated, in ~45 minutes).


Tips for standing out as a tenant

  1. Message fast — be in the first 5 replies on SpareRoom
  2. Be specific — reference something from the listing, not a generic template
  3. Phone over message — if a number is listed, call
  4. Commit quickly — if you like it, say so in the viewing
  5. References ready — employer reference and previous landlord contact, sendable same-day
  6. Weekend mornings — best time for new listings (Friday night + Saturday morning flood)

Built with Claude Code + Claude in Chrome + Gmail MCP Generated: April 2026

Files in the repo

Repository payload8 top-level entries
  • docs
  • outreach
  • tracker
  • .gitignore
  • case-study.md
  • config.example.md
  • README.md
  • skill.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More skills

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.

117k
1 add

Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)

71k
ayghri/
i-have-adhd

A skill to stop your coding agent from burying the answer. ADHD-friendly output.

38k
mvanhorn/
last30days-skill

AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary

62k
Nanako0129/
sepia

De-AI writing skill for any Agent Skills-compatible agent (77+ via the Skills CLI), with native plugins for Claude Code, Codex, Grok Build, and Antigravity. Narrative-architecture repair for fiction, venue-matched rules for professional prose. Based on StoryScope (arXiv:2604.03136).

2.5k
Imbad0202/
academic-research-skills

Academic Research Skills for Claude Code: research → write → review → revise → finalize

48k