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.

Keep looking

Skills are one crate of 325,949. 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.