Get booked: 10 AI skills for short lets and holiday homes

channel-check

same property, same facts, everywhere

How the two work together

Claude thinks it through. Paste the Claude prompt into Claude Code, or drop the folder into your skills folder. Claude does the judgement: what to look for, what is worth doing, what is right.

Codex gets it done. At the hand-off point Claude runs Codex on your machine with one command and passes it the Codex prompt. Codex does the mechanical part and hands the result back. Claude checks it before you see it.

No API key to set up: Claude calls the Codex you already have installed. If Codex is not installed, Claude does that half itself and tells you.

Prompt for Claude

---
name: channel-check
description: Compares your property's listing on every platform you use, field by field, and produces the numbered list of contradictions to fix, with the total price stated the way the rules require and the licence or registration number where it has to appear. Use before a season starts, after any price or rule change, or when a guest arrives expecting something the other advert promised.
---

# The same property, the same facts, on every platform

You give this the live listings for one property, on every site it appears on, plus your own booking page if you have one. You get back one comparison table, a numbered list of every place two platforms say different things about the same property, the fields where a required number is missing from an advert, and the total price restated with every mandatory charge inside it. It changes nothing. It tells you exactly what to change and in which order.

## What it does

1. **Pull every live listing for one property and freeze them on the same day.** Airbnb, Booking.com, Vrbo, your own website, the local agency, the Facebook page, the old PDF you still email. Capture each as it appears to a guest, with the date and time, because a comparison built from listings captured a fortnight apart will produce contradictions that are really just edits. Record the platform name, the listing URL or reference, and the capture timestamp at the top of the file. Anything you cannot capture is listed as "not captured" and stays on the list, because the advert you forgot about is the one the guest read.

2. **Break every listing into the same thirty fields before comparing anything.** Property name, address as shown, map pin, bedrooms, beds by type, bathrooms, maximum guests, minimum stay, check-in window, check-out time, cleaning fee, pet fee, extra guest fee, booking fee, tourist or city charge, deposit or damage policy, cancellation policy, pets, smoking, children, parties and events, stag and hen policy, parking, wifi speed, heating type, accessibility and stairs, EPC rating where required, licence or registration number, host or company name, and the cover photograph. Same fields, same order, one row per field, one column per platform. Anything not stated on a platform is recorded as blank, not as a no. Blank and no are different findings with different fixes.

3. **Flag every contradiction as its own numbered line, and say which value is true.** A contradiction is any field where two platforms give different values, or where one says something and another is silent on a fact a guest would act on. Sleeps six on one site and four on another. Pets welcome here, no pets there. Check-in from 3pm on one, 4pm on the other. For each, name the correct value and the evidence for it, which is usually the house manual, the licence or the actual bedroom count, not whichever advert was written last. Rank them by what causes an argument at the door: guest numbers, beds, pets, parking, stairs and check-in times come first, because those are the ones a guest turns up having relied on.

4. **Restate the price the way the rules now require, with every mandatory charge inside the headline.** The CMA's price transparency guidance, published 7 January 2026, is short and hard: "A charge is mandatory if the customer must pay it to buy the product", and "It's illegal to hide additional fees, taxes or other charges that the customer will have to pay until later in the purchase process." So work out, for a stated example stay, what a guest actually pays, and set that beside what each platform shows first. Cleaning fees, compulsory linen charges, booking fees and any unavoidable per-stay charge belong inside the total. The same guidance covers the case where you genuinely cannot calculate it in advance, for instance a charge that depends on party size: you must "give the customer the information they need to be able to calculate the total price themselves", with equal prominence. Produce one worked example, in pounds and pence, for a two-night and a seven-night stay.

5. **Check the required numbers are actually in the adverts, nation by nation.** In Scotland, the mandatory licence conditions require that any listing or advert "includes...the licence number", and mygov.scot adds that where an EPC is needed you must "display the EPC rating in all adverts for the accommodation". In Wales, registered providers receive "a unique registration number" and GOV.WALES states that from October 2026 anyone taking bookings for overnight stays must register, with registration to be completed "by 31 March 2027". Check each platform's listing for the number that applies where the property is, and flag every advert where it is absent, including the ones an owner forgets are adverts: the Facebook page, the email signature, the printed card in the local pub.

6. **Test the description against the photographs, one claim at a time.** Walk the description sentence by sentence and ask what photograph proves it. Sea view, walk to the beach, log burner, bath, garden, parking space, high chair, travel cot, dishwasher, air conditioning. Airbnb's terms put the duty on the host in plain words: "Your Listing must include complete and accurate information about your Host Service, your price (including any additional charges), and any rules or requirements that apply to your Guests or Listing", and the host is responsible for "keeping your Listing information (including calendar availability) and content (like photos) up-to-date and accurate at all times." Flag every claim with no photograph behind it and every photograph showing something the property no longer has, which is usually a sofa that was replaced or a garden that has since been paved.

7. **Screen for the omissions a guest would want, not just the errors.** The CMA's unfair commercial practices guidance defines material information as information "the average consumer needs to take an informed transactional decision", and treats leaving it out, presenting it unclearly, or disclosing it too late as a misleading omission. Applied to a short let, that is a short and predictable list: stairs and how many, no lift, a shared entrance, a busy road, building works nearby, single glazing, no parking, a two-mile walk to a shop, a ban on stag and hen groups, a noise curfew, and any camera on the outside of the property. Check each against every listing and flag the ones missing from any of them.

8. **Read what you have written about reviews and incentives, because that is a named banned practice.** The same CMA guidance covers a banned practice that prohibits submitting fake consumer reviews, concealing incentivised reviews, publishing reviews "in a misleading way", and failing to take "reasonable and proportionate steps" to prevent false or incentivised reviews. So flag anything in a listing or a guest message that offers a discount, a refund, a late checkout or a free bottle in exchange for a review, any quoted review you cannot point to on the platform it came from, and any review score displayed on your own website that no longer matches the platform it was taken from.

9. **Output the fix list in platform order with the wording to paste, and put the review date on it.** Group the numbered findings by platform, because an owner fixes one site at a time with the dashboard open. Each line carries the field, the current value, the correct value, and the exact text to paste. Put three fields at the top of every platform's list: total price, guest maximum, and the licence or registration number. Date the file, and set the next review for the day before the next season's rates go live, because every one of these contradictions was created by a change that only reached one platform.

## Then it checks

1. Every platform is captured on the same date, with a timestamp against each, and anything not captured is listed as "not captured" rather than omitted.
2. Every one of the thirty fields appears for every platform, with blanks recorded as blank rather than as a negative answer.
3. Every contradiction is a numbered line naming the field, each platform's value, the correct value, and the evidence for it, and no line resolves a contradiction by preferring the most recently edited advert.
4. The price section shows a worked total in pounds and pence for a two-night and a seven-night stay, with every mandatory charge inside the total, alongside what each platform shows first.
5. The licence or registration number required for the property's nation is checked on every listing, including non-platform adverts, and each absence is its own line.
6. Every descriptive claim in the listing is matched to a photograph or flagged as unevidenced, and nothing in the output states or implies that any listing is lawful or compliant.

Any check fails: name it, redo that step once. Failed twice: say what is wrong and stop.

## Rules
- Public information only.
- Never invent a fact, a number or a quote.
- Anything sent in someone's name says whose name it is.
- Never resolve a contradiction by picking the value that sells better. The correct guest maximum is the one the licence or the fire risk assessment supports, and an advert that sleeps one more than the property is allowed to hold is not a marketing decision.
- Never edit a live listing from this work. It produces the list and the wording; a human with the dashboard open makes the change, so that one bad line cannot propagate to every platform at once.
- Never quote a review, a rating or an award you cannot open on the site it came from, and never write a listing line that offers anything in exchange for a review.
- Never treat a platform's own display of a fee as compliant just because the platform put it there. The duty to describe the property and its charges accurately sits with the host, and a platform's layout is not a defence the host can rely on.
- This output is a working document prepared for the owner's letting agent, solicitor or trading standards adviser to check before any listing is changed. It compares published text and states arithmetic. It is not legal advice and it does not certify that any advert complies with consumer protection law.

## Built from
- Competition and Markets Authority, "Providing clear and accurate information about prices: summary (CMA209)", https://www.gov.uk/government/publications/price-transparency-cma209/providing-clear-and-accurate-information-about-prices-summary, published 7 January 2026, read 14 September 2026: the mandatory charge test, the drip pricing prohibition and the calculate-it-yourself rule, which are the whole of step 4.
- Competition and Markets Authority, "Unfair commercial practices (CMA207)", https://www.gov.uk/government/publications/unfair-commercial-practices-cma207/unfair-commercial-practices, published 18 November 2025, read 14 September 2026: the material information definition behind step 7, and the banned practice on fake and incentivised reviews behind step 8.
- Airbnb, "Terms of Service", https://www.airbnb.co.uk/help/article/2908, read 14 September 2026: the host's duty to keep listing information, prices and photographs accurate at all times, which is the basis of step 6.
- The Civic Government (Scotland) Act 1982 (Licensing of Short-term Lets) Order 2022, Schedule 3, https://www.legislation.gov.uk/ssi/2022/32/schedule/3/made, read 14 September 2026: the condition requiring the licence number in every listing or advert, checked in step 5.
- mygov.scot, "Legal requirements for short-term let accommodation", https://www.mygov.scot/short-term-let-licences/legal-requirements, last updated 9 October 2025, read 14 September 2026: the requirement to display the EPC rating in all adverts, also checked in step 5.
- GOV.WALES, "Registering visitor accommodation: overview", https://www.gov.wales/registering-visitor-accommodation-overview, last updated 14 July 2026, read 14 September 2026: the unique registration number and the October 2026 duty that step 5 checks for Welsh properties.

Prompt for Codex

# channel-check

## You are given

Captured listings for ONE UK short-let property from two or more places: saved HTML, pasted text, a spreadsheet export, or the owner's own web page. Field names differ between platforms and nothing is normalised.

## Produce

Write these files into `./channel-check-output/`:

1. `comparison.csv` - columns exactly: `field,airbnb,booking,vrbo,own_site,other,correct_value,evidence,status`. One row for each of these thirty fields in this order: property_name, address_shown, map_pin, bedrooms, beds_by_type, bathrooms, max_guests, minimum_stay, checkin_window, checkout_time, cleaning_fee, pet_fee, extra_guest_fee, booking_fee, tourist_charge, damage_policy, cancellation_policy, pets, smoking, children, parties_events, stag_hen, parking, wifi_speed, heating_type, accessibility_stairs, epc_rating, licence_or_registration_number, host_name, cover_photo. Use the literal string `BLANK` where a platform says nothing. `status` is one of `MATCH`, `CONTRADICTION`, `MISSING_EVERYWHERE`, `MISSING_SOME`.
2. `fixes.csv` - columns exactly: `fix_id,priority,platform,field,current_value,correct_value,text_to_paste`. One row per change needed, grouped by platform. `priority` is 1 to 3, where 1 is total price, guest maximum and the licence or registration number, 2 is anything a guest arrives having relied on (beds, pets, parking, stairs, check-in), 3 is everything else.
3. `pricing.md` - for a two-night and a seven-night stay: every charge with its amount in pounds and pence, a TOTAL line, and what each platform displays first. End with every mandatory charge sitting outside a displayed headline.
4. `omissions.csv` - columns exactly: `item,present_on,absent_from,recommended_wording`. One row each for: stairs and how many, no lift, shared entrance, busy road, building works, single glazing, no parking, distance to nearest shop, stag and hen policy, noise curfew, exterior cameras.
5. `photo-claims.csv` - columns exactly: `claim,source_platform,photo_evidence,verdict`. One row per descriptive claim. `verdict` is `EVIDENCED`, `NO_PHOTO` or `PHOTO_CONTRADICTS`.
6. `captures.md` - platform, listing reference or URL, and capture timestamp per input, plus a `NOT CAPTURED` list.

## Rules

- Never edit, submit or publish anything. Output files only. No browser automation, no platform APIs, no logins.
- Never invent a price, fee or bed count. Use `BLANK`.
- Never resolve a contradiction by preferring the most recently edited advert. Give the evidence, or leave `correct_value` empty with `status` set to `CONTRADICTION`.
- Never write that a listing is compliant, lawful or in breach.
- British English. £ with pence. Dates DD Month YYYY. No em dash characters. No emoji.
- CSVs UTF-8, header row, comma separated, fields containing commas quoted.

## Return

The six file paths written, the number of platforms compared, the counts by `status`, the number of priority 1 fixes, and the two-night and seven-night totals. State that the output is a working document for the owner's letting agent, solicitor or trading standards adviser to check before any listing is changed, and is not legal advice.

Built from the best public work on this

Sources for channel-check

Everything below was opened and read on 14 September 2026. Nothing is cited that could not be loaded.

1. Competition and Markets Authority, "Providing clear and accurate information about prices: summary (CMA209)"

https://www.gov.uk/government/publications/price-transparency-cma209/providing-clear-and-accurate-information-about-prices-summary, published 7 January 2026, read 14 September 2026.

The CMA is the regulator that now enforces consumer protection law directly, and this is its own summary of the price transparency rules. It is the single most important source in this skill because it changes what a correct listing looks like. The core instruction is to "Provide the total price of the product up front" in invitations to purchase, and the test for what goes inside that total is one sentence: "A charge is mandatory if the customer must pay it to buy the product". On dripping: "It's illegal to hide additional fees, taxes or other charges that the customer will have to pay until later in the purchase process." And for the genuinely uncertain case, where the total depends on the customer's requirements, the trader must "give the customer the information they need to be able to calculate the total price themselves", presented with equal prominence rather than buried.

Step 4 is built directly on those lines. It is also why the skill insists on a worked example in pounds and pence for a two-night and a seven-night stay rather than a general statement that fees should be shown. A compulsory cleaning fee is proportionally enormous on a two-night booking and almost invisible on a week, and an owner who has never done the arithmetic does not know which of their adverts is the problem.

Where the skill departs from the source: the CMA is writing for every trader in the economy and says nothing about holiday lets. The skill applies the mandatory charge test to the specific fee names a short-let owner will recognise, which is an application rather than a quotation, and it never tells the owner whether any particular listing complies. It produces the arithmetic and the comparison and hands the judgement on.

The full CMA209 guidance PDF was also fetched but returned as unreadable binary, so nothing is cited from the long-form document. Only the GOV.UK summary page, which rendered as text, is quoted.

2. Competition and Markets Authority, "Unfair commercial practices (CMA207)"

https://www.gov.uk/government/publications/unfair-commercial-practices-cma207/unfair-commercial-practices, published 18 November 2025, read 14 September 2026.

The companion guidance on the wider regime. It defines a misleading action as a practice involving "false or misleading information" about a product or trader, or where the "overall presentation is likely to deceive the average consumer", biting where it is "likely to cause the average consumer to take a different decision". It defines material information as information "the average consumer needs to take an informed transactional decision", notes that price is typically material, and explains that information can be omitted by non-disclosure, unclear presentation, untimely disclosure, or obscuring details consumers will not notice. On price specifically, it requires stating the "total price" including "mandatory fees, taxes, charges or other payments" the consumer must pay.

It also sets out the banned practice on reviews, which prohibits submitting fake consumer reviews or concealing incentivised reviews, publishing reviews "in a misleading way", failing to take "reasonable and proportionate steps" to prevent false or incentivised reviews, and offering services that facilitate any of that.

Two steps come from it. Step 7 turns "material information" into a checkable list, because the abstraction is useless to an owner and the concrete list is not: stairs, no lift, shared entrance, busy road, building works, single glazing, no parking, distance to a shop. Step 8 exists because the review offer is so normal in this trade that nobody sees it as a practice at all. A note on the fridge saying "leave us five stars and we will refund your cleaning fee" is the thing the guidance describes, written by an owner who has never read it.

Where the skill departs: it declines to say whether any specific omission would breach the regime. It says the fact is missing from three of five adverts and hands that to the owner's adviser, because the test turns on the average consumer and a transactional decision, which is not an assessment a comparison table can make.

3. Airbnb, "Terms of Service"

https://www.airbnb.co.uk/help/article/2908, read 14 September 2026.

The platform's contract with the host, cited because it is the obligation that actually gets enforced day to day, long before any regulator is involved. It states: "Your Listing must include complete and accurate information about your Host Service, your price (including any additional charges), and any rules or requirements that apply to your Guests or Listing", and makes the host responsible for "keeping your Listing information (including calendar availability) and content (like photos) up-to-date and accurate at all times."

The phrase carrying the weight here is "and content (like photos)". Text drift is easy to spot and photo drift is not. A listing whose hero shot shows a sofa replaced two years ago, or a garden since gravelled over, contradicts nothing in writing and still produces the guest who arrives disappointed. Step 6 therefore walks the description against the photographs in both directions: claims with no photograph, and photographs showing what is no longer there.

Where the skill departs: these terms are general. They contain no granular rule that each amenity must exist or that the map pin must be accurate, and the skill invents none. It also does not treat the terms as law. They are a private contract, and the skill keeps platform obligations and consumer protection duties in separate columns rather than blending them into one warning.

4. The Civic Government (Scotland) Act 1982 (Licensing of Short-term Lets) Order 2022, Schedule 3

https://www.legislation.gov.uk/ssi/2022/32/schedule/3/made, read 14 September 2026.

Primary legislation. The relevant mandatory condition requires that "The holder of the licence must ensure that any listing or advert...includes...the licence number".

That condition is unusual and worth the citation on its own, because it is one of the very few UK requirements that attaches to the advert rather than to the property. Everything else in a short-let compliance file is about alarms, certificates and insurance, and this one is about text in a box on a website. It is therefore exactly the sort of thing that gets done on the main platform and forgotten on the Facebook page, the old agency listing and the printed card in the pub, which is why step 5 explicitly lists the adverts owners forget are adverts.

Where the skill departs: the condition is Scottish. The skill checks for the number that applies where the property actually is, and does not flag a missing licence number on a Devon listing.

5. mygov.scot, "Legal requirements for short-term let accommodation"

https://www.mygov.scot/short-term-let-licences/legal-requirements, last updated 9 October 2025, read 14 September 2026.

The Scottish Government's citizen-facing summary. For this skill it supplies one specific advertising duty that sits alongside the licence number: where an EPC is required, "You need an EPC if you are letting out an entire house or flat", the certificate must be "dated within the last 10 years", and you must "display the EPC rating in all adverts for the accommodation".

Two required items in every Scottish advert rather than one is a distinction the skill needed, because owners who have added a licence number frequently believe the advertising obligations are then satisfied.

Where the skill departs: it does not decide whether a given property needs an EPC, and it does not check the rating's accuracy. It checks whether the rating appears in each advert where the owner has told it one is required.

6. GOV.WALES, "Registering visitor accommodation: overview"

https://www.gov.wales/registering-visitor-accommodation-overview, last updated 14 July 2026, read 14 September 2026.

The Welsh Government's own page on the registration duty. It states that "From October 2026, if you take bookings for overnight stays in Wales, you must register", that registration must be completed "by 31 March 2027", that "Registration is free", and that on registering a provider receives "a unique registration number" which they can "use this number to show your accommodation is registered".

This is cited for the Welsh half of step 5. The wording on the page is permissive about using the number rather than mandatory about displaying it in adverts, and the skill reflects that difference honestly: it checks the number is recorded and present where the owner intends to show it, and it does not assert a display obligation the page does not state. The contrast with the Scottish condition, which does mandate it, is the reason both are cited rather than summarised together.

Where the skill departs: it does not describe the separate Welsh licensing scheme, because nothing about its timetable was read on a Welsh Government page during this research.

Best public prompt we found for this job

The best public artefact is the `brand-review` skill in Anthropic's `knowledge-work-plugins` repository, at https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/marketing/skills/brand-review/SKILL.md. The repository has 24,016 stars, read from api.github.com. It reviews content against brand guidelines across voice, terminology, messaging and legal flags, and grades every finding by severity: High for anything that "contradicts voice, poses compliance risk, undermines messaging", Medium for "inconsistent but not damaging", Low for "minor style preference". It also produces specific before and after revisions for the top issues rather than general advice.

The line worth copying is its instruction that legal flagging happens regardless of whether brand guidelines exist: unsubstantiated claims, missing disclaimers and comparative statements are always identified. Applied here, that is the reason step 8 screens for review incentives and unverifiable quoted reviews even when the owner has asked only about price consistency. Those are the lines that carry actual regulatory risk, and an owner who asked about check-in times would never have raised them.

The before-and-after output shape was also borrowed and made stricter. This skill's fix list carries the field, the current value, the correct value and the exact text to paste, because an owner working through five dashboards on a Sunday night will not rewrite anything, they will copy.

What was not copied: everything about voice and tone. A listing's personality is not the problem being solved, and grading a description as inconsistent with brand personality would bury the finding that matters, which is that one advert sleeps six and another sleeps four. The three-level severity scale was replaced with a single ranking by what causes an argument at the door, since guest numbers, beds, pets, parking, stairs and check-in times are the fields a guest arrives having relied on. The skill also drops the source's willingness to draft revised copy wholesale. It produces the exact replacement value for a named field and refuses to edit a live listing, so that one bad line cannot be pushed to every platform at once.

Want this running in your business?

I optimise how businesses run — your sales, your visibility, your social media — and build bespoke software where nothing off the shelf fits. The first conversation is free. Work starts from £150 a day.