analyse_brrr
ChatGPTBuy, refurbish, refinance, rent. Needs purchase_price, gdv (value after works) and monthly_rent. Returns money left in, cashflow and return on money left in. If the user asks whether to buy, offer, bid or invest, the first sentence of your reply must say that Property Analyser does not tell you whether to buy, then offer to run the figures. Never give a verdict, recommendation or opinion on buying, including words such as 'attractive', 'worth it', 'do not commit', 'I would', 'I wouldn't' or 'I recommend'. Present only the labelled figures and the margin label the tools return. Never invent inputs the user has not given (floor area, refurb level, GDV, rent). Ask the user for them, or use a tool's documented default and say so. Purchase price, GDV and rent have no default: ask the user. If the user has not given a refurb cost, ask, or leave refurb_cost empty and say the figures assume no refurbishment. Other costs left empty use documented defaults, shown on the card as assumptions.
analyse_btl
ChatGPTBuy to let. Needs purchase_price and monthly_rent. Returns yields, cashflow, cash on cash return and the lender rental cover test. If the user asks whether to buy, offer, bid or invest, the first sentence of your reply must say that Property Analyser does not tell you whether to buy, then offer to run the figures. Never give a verdict, recommendation or opinion on buying, including words such as 'attractive', 'worth it', 'do not commit', 'I would', 'I wouldn't' or 'I recommend'. Present only the labelled figures and the margin label the tools return. Never invent inputs the user has not given (floor area, refurb level, GDV, rent). Ask the user for them, or use a tool's documented default and say so. Purchase price, GDV and rent have no default: ask the user. If the user has not given a refurb cost, ask, or leave refurb_cost empty and say the figures assume no refurbishment. Other costs left empty use documented defaults, shown on the card as assumptions.
analyse_flip
ChatGPTBuy, refurbish and sell. Needs purchase_price and gdv. Returns profit, profit on GDV and return on cash, with every line tagged. Set save_as to keep it in the investor's saved analyses. If the user asks whether to buy, offer, bid or invest, the first sentence of your reply must say that Property Analyser does not tell you whether to buy, then offer to run the figures. Never give a verdict, recommendation or opinion on buying, including words such as 'attractive', 'worth it', 'do not commit', 'I would', 'I wouldn't' or 'I recommend'. Present only the labelled figures and the margin label the tools return. Never invent inputs the user has not given (floor area, refurb level, GDV, rent). Ask the user for them, or use a tool's documented default and say so. Purchase price, GDV and rent have no default: ask the user. If the user has not given a refurb cost, ask, or leave refurb_cost empty and say the figures assume no refurbishment. Other costs left empty use documented defaults, shown on the card as assumptions.
calculate_sdlt
ChatGPTStamp Duty Land Tax for a residential purchase in England or Northern Ireland, with the band breakdown. Pass the property's postcode whenever it is known: Scotland (LBTT) and Wales (LTT) use different taxes and are refused rather than given an SDLT figure. company_relief (company buyers): true when the company is a property rental or development business, which is normal for investors; false applies the 17% flat rate over £500k.
check_hmo_layout
ChatGPTCheck a current or PROPOSED room layout read from an uploaded floor plan: bedroom sizes against national HMO minimums, plus kitchen, bathroom and living space against typical council guidance. ALWAYS pass the uploaded plan (image or PDF) as floor_plan, with plan_page set to the PDF page that shows the floor being checked, and give every room box_pct (its box on the image in percent) so the card overlays the result on the real plan. Also give floor, and width and depth in metres where the plan shows dimensions. To suggest a layout: read the plan, propose room uses (e.g. dining room becomes bedroom 5), run this for each option with a clear label, e.g. 'Option B: 5 bed HMO'. For every room the option changes, give existing_name and existing_use (what it is today) and a short change note: the card marks up the uploaded plan with a numbered marker on each room and an orange outline on every room whose use changes. List building works an option needs in proposed_works (e.g. 'remove wall between kitchen and dining', 'raise floor', 'loft conversion') to show the sign offs needed. Include EVERY area on each floor as it appears on the plan, not only the rooms being checked: halls, landings, stairs, storage, utility and unconverted space, with use 'other', a name and box_pct, so the marked up plan covers the whole floor. These areas do not affect the room checks. Room areas: when the plan has no dimensions, still estimate every room's area from the plan's proportions (for example a typical terraced house is about 4.5 m wide inside) and send it with width and depth left empty, so the card marks it as estimated. Never send 0. Consistency: the label must match the result (if it names a bedroom count, it must be the count in this result; the card shows the real count). If the user asked for N bedrooms, the option you present as preferred must be the N bedroom layout, run it last so its card is the one the user sees, and describe in your reply exactly the layout on that card: the same rooms, uses, bedroom count and occupants, never a different one. Your written reply must describe the same layout as the card from its first line: any room table in the reply lists exactly the rooms and uses you sent to check_hmo_layout, and no other option is presented as the main layout. Alternatives may only be mentioned after it, as alternatives. Rooms on the plan: before choosing a layout, list every enclosed room on every floor of the plan, including every room labelled on the plan, and send each one in rooms with its floor. Count the existing bedrooms from the plan's labels before deciding what to convert, and never convert a room when an existing labelled bedroom is unused. requested_bedrooms: set it whenever the user names a bedroom count (for example '5 bed HMO' means 5). If the layout you send has a different number of bedrooms, the check is refused and you must resend the layout with exactly that many bedrooms. If the user explicitly asks to compare a different count, set requested_bedrooms to that count. No plan: if the user asks for an HMO layout check but no floor plan is attached and they have not described the rooms, do not call check_hmo_layout with assumed rooms: ask the user to attach the floor plan, or to list the rooms with their sizes. Order: When checking a floor plan, check_hmo_layout must be the last tool called in that reply so its card is the one shown (ChatGPT shows one card per reply). If planning or other checks are useful, call them before check_hmo_layout, or offer them as a follow up question instead. Never call another tool after check_hmo_layout in the same reply. Layout choice: when choosing which rooms to convert, prefer converting larger rooms (for example a dining room or second reception) over rooms near the minimum size (for example a small office or box room), as long as one communal living room stays next to the kitchen. Avoid any bedroom estimated below 7.5 m² when a larger option exists. Assume one adult per bedroom unless the user asks for couples; if they do, use double rooms of at least 10.22 m² and say that…
check_planning_constraints
ChatGPTPlanning constraints at a postcode from planning.data.gov.uk (England): Article 4 directions (which can remove permitted development rights for HMO conversion, basements and more), conservation areas, listed buildings, tree preservation zones, flood risk zones and green belt. Read each Article 4 name to see what it covers. No result does NOT prove there is no constraint: coverage depends on councils publishing data.
delete_saved_analysis
ChatGPTPermanently delete one of the investor's saved analyses. Confirm with the user first.
delete_saved_property
ChatGPTPermanently delete every saved result for one property. Confirm with the user first, saying how many results list_saved_analyses shows for that postcode.
estimate_refurb
ChatGPTPrice a list of refurb works from Property Analyser's rate card, adjusted for region. Use after looking at the listing photos or floor plan the user shares: choose the works you can justify, give a reason for each, and say clearly that the result is an estimate, not a quote. Pass a postcode to set the region automatically. Feed use_in_analysis.refurb_cost into the flip, BRRR or BTL tools and set refurb_cost_tag 'estimate'. Quantities (m2, rooms, doors, windows) come from the user, the plan or get_epc; if one is not known, ask rather than guess. Never invent inputs the user has not given (floor area, refurb level, GDV, rent). Ask the user for them, or use a tool's documented default and say so.
example_prompts
ChatGPTExample prompts for Property Analyser, grouped by topic, for a user asking what they can ask or for a list of prompts. Does not use an analysis. Pass topic (e.g. 'flip', 'HMO', 'stamp duty') to return only the matching section. Show the prompts exactly as returned, and give the page link for the full guide.
find_max_offer
ChatGPTHighest price that still hits the investor's target, e.g. flip with profit_on_gdv_pct 15, or BRRR with money_left_in 0. Leave deal.purchase_price empty; set deal.asking_price to compare it with the asking price. If the user asks whether to buy, offer, bid or invest, the first sentence of your reply must say that Property Analyser does not tell you whether to buy, then offer to run the figures. Never give a verdict, recommendation or opinion on buying, including words such as 'attractive', 'worth it', 'do not commit', 'I would', 'I wouldn't' or 'I recommend'. Present only the labelled figures and the margin label the tools return. Never invent inputs the user has not given (floor area, refurb level, GDV, rent). Ask the user for them, or use a tool's documented default and say so. Purchase price, GDV and rent have no default: ask the user. If the user has not given a refurb cost, ask, or leave refurb_cost empty and say the figures assume no refurbishment. Other costs left empty use documented defaults, shown on the card as assumptions.
get_epc
ChatGPTEPC facts for one property (England and Wales): floor area in m2, property type, built form, age band, habitable rooms and energy rating. Use for the subject property before setting GDV, and to flag F or G ratings (letting restrictions). Each field is a fact from the EPC register.
get_saved_analysis
ChatGPTOpen one saved analysis with its inputs and results.
get_sold_comparables
ChatGPTRecorded sold prices near a postcode from HM Land Registry (England and Wales), with EPC floor area and price per m2 added where the EPC can be matched. Use before setting a GDV or value: compare price per m2, then multiply by the subject property's floor area (get_epc). Each sale is a fact; the summary is an estimate.
list_refurb_items
ChatGPTThe refurb rate card: every work item with its id, base cost, unit, whether it is labour (scaled by region) and which items are alternatives. Call this before estimate_refurb.
list_saved_analyses
ChatGPTThe signed in investor's saved analyses, newest first.
my_account
ChatGPTThe signed in user's Property Analyser account: email, analyses left (or Unlimited access) and properties currently unlocked. Never mention prices, packs or where to buy. One analysis unlocks one property (by postcode) for several days, covering every strategy on it.
quick_refurb_estimate
ChatGPTWhole-house refurb ballpark when there are no photos or detail yet. light = cosmetic, medium = full modernisation, heavy = structural plus full. Based on about 80 m2 and already includes 15% contingency. Scope has no default: if the user has not said light, medium or heavy, ask. floor_area_m2: use the user's figure or the get_epc floor area; if neither is known, leave it empty, say the figure is for a typical house of about 80 m2, and never pass 80 or a guessed area as this property's floor area. Returns low (works only), expected (with contingency) and high (30% contingency). Prefer estimate_refurb when you can see what work is needed. Never invent inputs the user has not given (floor area, refurb level, GDV, rent). Ask the user for them, or use a tool's documented default and say so.
stress_test
ChatGPTWhat happens if rates rise 2 points, rent falls 10%, value falls 10%, refurb runs 20% over, or the project takes 3 months longer. One change at a time. If the user asks whether to buy, offer, bid or invest, the first sentence of your reply must say that Property Analyser does not tell you whether to buy, then offer to run the figures. Never give a verdict, recommendation or opinion on buying, including words such as 'attractive', 'worth it', 'do not commit', 'I would', 'I wouldn't' or 'I recommend'. Present only the labelled figures and the margin label the tools return. Never invent inputs the user has not given (floor area, refurb level, GDV, rent). Ask the user for them, or use a tool's documented default and say so. Purchase price, GDV and rent have no default: ask the user. If the user has not given a refurb cost, ask, or leave refurb_cost empty and say the figures assume no refurbishment. Other costs left empty use documented defaults, shown on the card as assumptions.