agentsclimarketplace

Rightmove investment finder

Skill paulieb89/bouch-plugins/plugins/property/skills/rightmove-investment-finder

Search Rightmove for investment properties matching your criteria, then analyse each for yield, comps, and stamp duty. Produces a ranked shortlist with BUY/WATCH/PASS ratings. Use when someone asks "find me investment properties in [area]" or "what's available under 200k?". Requires the Property MCP server. Optional: UK Legal MCP for BTL tax and leasehold checks.From its SKILL.md

Install
npx -y skills add paulieb89/bouch-plugins --skill rightmove-investment-finder

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.4 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

Rightmove Investment Finder

You search Rightmove for properties matching investment criteria, then analyse each candidate against comparable sales, yield targets, and stamp duty. You produce a ranked shortlist a property investor can act on.

This skill finds properties worth analysing. For deep analysis of a single known property, use the Property Report Generator.

When to Use This Skill

  • "Find me investment properties in [area]"
  • "What's available under 200k in [postcode]?"
  • "Search Rightmove for BTL opportunities"
  • "Find high-yield properties near [location]"
  • "What buy-to-let properties are there in [area]?"
  • Any request to search for and rank investment properties

Required Setup

Property MCP (required)

{
  "mcpServers": {
    "property": {
      "url": "https://property-shared.fly.dev/mcp"
    }
  }
}

API docs: https://property-shared.fly.dev/docs

UK Legal MCP (optional — for BTL tax notes and leasehold checks)

{
  "mcpServers": {
    "uk-legal": {
      "url": "https://uk-legal-mcp.fly.dev/mcp"
    }
  }
}

Tools you will use (in order)

  1. rightmove_search — find listings matching criteria (postcode, property_type, min_price, max_price, min_bedrooms, sort_by)
  2. property_comps — comparable sales for a postcode (postcode, property_type filter: F/D/S/T)
  3. rental_analysis — rental market data (postcode, purchase_price)
  4. property_yield — yield calculation combining Land Registry and Rightmove data (postcode, property_type)
  5. stamp_duty — SDLT calculation (price, additional_property)
  6. rightmove_listing — full details on a specific property (property_id from search results)
  7. (optional) hmrc_search_guidance — BTL income tax guidance from HMRC
  8. (optional) legislation_search — leasehold reform legislation checks

Workflow

Step 1: Get Search Criteria

Gather from the user:

  • Area or postcode (required) — rightmove_search needs a postcode. If the user gives a town name, ask for a postcode.
  • Budget range (required) — "under 200k" means max_price=200000. If they give a single number, treat it as the maximum.
  • Property type (optional) — detached, semi, terraced, flat. Default: all types.
  • Minimum bedrooms (optional) — default: no minimum.
  • Yield target (optional) — default: 5% gross.

If the user gives vague criteria like "somewhere cheap up north", ask them to narrow it to a specific postcode or area.

Step 2: Search Rightmove

Call rightmove_search with:

  • postcode: the user's postcode
  • property_type: "sale"
  • min_price / max_price: from their budget
  • min_bedrooms: if specified
  • sort_by: "price_low" (cheapest first surfaces highest potential yield)

This returns listings with: property IDs, prices, addresses, bedrooms, property types, postcodes, days on market, and Rightmove URLs.

Step 3: First-Pass Filter

From the search results, select the 8-12 most promising candidates based on:

  • Price within budget
  • Correct property type (if specified)
  • Minimum bedroom count (if specified)

If all results qualify, take the top 12 by lowest price (higher yield potential). This step is pure filtering on data already returned — no additional tool calls.

Step 4: Pull Comps

For each unique postcode among your candidates, call property_comps once. Group by postcode to minimise tool calls — one postcode's comps cover all candidates in that area.

Use the property_type filter to match the listing types (F for flats, D for detached, etc.). This prevents terraced house comps skewing flat analysis.

From each result, extract:

  • Median sale price
  • Price per square foot (where EPC-enriched)
  • Transaction count (sample size)

For each candidate, calculate:

  • Price premium/discount = (asking price - median) / median
  • Flag if the asking price is more than 10% above the comp median

Step 5: Pull Rental Data and Yield

For each unique postcode, call rental_analysis with purchase_price set to the comp median for that area. Also call property_yield with the same postcode and property_type filter.

Cross-reference the two results. Watch for:

  • Student lets skewing average rents (common in university towns)
  • HMO rents mixed in with single-let figures
  • Very few rental listings (thin data)

Normalise all rents to monthly before any calculation. If rental_analysis returns weekly figures, multiply by 52 and divide by 12.

Extract:

  • Median monthly rent
  • Gross yield %
  • Number of rental listings (sample size)

Step 6: Calculate Stamp Duty

For each candidate, call stamp_duty with:

  • price: the asking price
  • additional_property: true (default for investors)

Group identical asking prices to avoid duplicate calls.

The current additional property surcharge is 5% (since October 2024). The tool handles the banding automatically.

Extract:

  • Total SDLT payable
  • Effective tax rate

Step 7: Score and Rank

Score each candidate on three signals:

Signal3 points2 points1 point
Yield vs targetMeets or exceeds targetWithin 1% of targetBelow target by more than 1%
Price vs comps medianBelow medianWithin 5% of medianAbove median by more than 5%
Days on marketOver 60 days (motivated seller)30-60 daysUnder 30 days

Maximum score: 9

Assign ratings:

  • BUY (score 8-9): All criteria met or exceeded. Strong candidate.
  • WATCH (score 5-7): Close but one flag. Worth monitoring or negotiating.
  • PASS (score 1-4): Does not stack up against your criteria.

Sort the shortlist by total score descending, then by yield descending within each rating band.

Step 8: Enrich Top Candidates

For the top 3 BUY-rated properties (or top 3 overall if fewer than 3 score BUY):

Call rightmove_listing with each property's ID to get full details: tenure (freehold/leasehold), remaining lease term, service charge, ground rent, key features, and floorplan data.

If the UK Legal MCP is connected:

  • For leasehold properties, call legislation_search with "Leasehold and Freehold Reform Act 2024" to note recent reform implications (ground rent caps, right to manage, lease extension changes).
  • If the user asks about BTL tax, call hmrc_search_guidance with "buy to let income tax" for relevant HMRC guidance on landlord taxation.

Output Format

# Investment Search: [Area/Postcode]

**Criteria**: [budget] | [property type or "all types"] | [beds] | [yield target]%
**Search date**: [today's date]
**Results**: [N] properties searched, [M] shortlisted

---

## Shortlist

### 1. [Address] — BUY
- **Price**: £[X] | **Beds**: [N] | **Type**: [terraced/flat/etc]
- **Yield**: [X]% gross ([X]% net est.)
- **Price vs comps**: [X]% [below/above] median (£[median] from [N] sales)
- **Stamp duty**: £[X] ([X]% effective, additional property rate)
- **Days on market**: [N]
- **Tenure**: [freehold/leasehold — remaining term if applicable]
- **Link**: [Rightmove URL]
> [One sentence: why this scored BUY — e.g. "Yield exceeds target, priced 8% below comps, 90 days on market suggests room to negotiate."]

### 2. [Address] — WATCH
...

---

## Area Summary

- **Median sale price**: £[X] ([N] transactions, last 24 months)
- **Median rent**: £[X] pcm ([N] active rental listings)
- **Area gross yield**: [X]%

## Notes

- [Any data quality flags: thin comps, student let mix, etc.]
- [BTL tax note if Legal MCP was used]
- [Leasehold note if applicable]

---

This is data analysis, not investment advice. Verify all figures independently before making offers. Consult a qualified adviser for tax and legal decisions.

Output Rules

  • British spelling throughout (analyse, colour, organised)
  • Present prices as £X,000 format with commas
  • Round yields to one decimal place
  • Always state data sources and date ranges for comps
  • Default to additional property stamp duty (additional_property=true)
  • Normalise all rents to monthly before calculations
  • If comp count is under 5 for a postcode, flag as "thin data — treat median with caution"
  • If days on market is not available, omit from scoring (score out of 6 instead of 9, adjust thresholds: BUY >= 5, WATCH 3-4, PASS < 3)
  • Do not predict future prices or rental growth
  • Always include the disclaimer at the bottom
  • Include Rightmove links for every shortlisted property

What This Skill Does NOT Do

  • Provide mortgage advice or affordability calculations
  • Predict future property prices or rental growth
  • Replace a RICS valuation or building survey
  • Give personal tax advice (beyond linking to HMRC guidance)
  • Assess structural condition or renovation costs
  • Guarantee rental income or account for void periods
  • Factor in management fees (mention that net yield estimates do not include agent fees)

Related Skills

  • Property Report Generator — deep analysis of a single property you have already identified
  • Property Deal Screener — quick go/no-go from a Rightmove URL
  • Property Report to Google Sheets — export property data to a structured spreadsheet

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most mcp tooling skills give in ~2.2k tokens

Counted across 638 of the 750 authors here whose files we hold, read 2026-08-07

  • Create ten complex or independent read-only evaluation questionsin 69 of 638, across 15 files
  • Test servers using MCP Inspectorin 61 of 638, across 19 files
  • Provide actionable error messages with specific next stepsin 54 of 638, across 12 files
  • Prioritize comprehensive API coverage over specific workflows or workflow toolsin 54 of 638, across 12 files
  • Use TypeScript and Streamable HTTP for remote servers or clientsin 54 of 638, across 8 files
  • Define structured output schemas where possiblein 50 of 638, across 8 files
  • Use Zod or Pydantic for input schemasin 47 of 638, across 5 files
  • Fetch MCP specification pages with markdown suffixin 46 of 638, across 4 files
  • Load framework documentation using WebFetchin 45 of 638, across 3 files
  • Verify each evaluation answer independentlyin 45 of 638, across 3 files
  • Implement API client with authentication and paginationin 45 of 638, across 3 files
  • Define input schemas with validationin 27 of 638, across 9 files

Said here and by no other author read

  • ask for a postcode if given a town name
  • treat a single budget number as the maximum
  • sort rightmove search results by lowest price
  • select 8 to 12 promising candidates from search results
  • group candidates by postcode to pull comps
  • flag asking prices more than 10% above comp median

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,790. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.