Get booked: 10 AI skills for short lets and holiday homes
guest-messages
the six messages that stop the questions
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: guest-messages description: Writes the six guest messages that answer the questions before they are asked, built from your own last fifty booking threads rather than from a template. Use when guests keep asking the same things, when arrivals go wrong, or when setting up messaging for a new short let. --- # The six messages that stop ninety percent of the questions You give this the message threads from your last fifty bookings, your house rules, your check-in and checkout times, your access arrangements and your cancellation policy. You get back six messages with their send triggers, written in your words, each one carrying the exact facts that your own guests have actually asked for, plus a list of the questions the six do not answer and what you need to decide about each. It stops you writing a welcome pack nobody reads and starts you answering the eleven questions that get asked every week. ## What it does 1. **Count the questions before you write anything.** Go through the last fifty booking threads and write down every question a guest asked, one line each, then tally them. You will find that eight to twelve questions account for almost all of them, and that most of your welcome pack answers none of those eight. This tally is the specification for all six messages. Anything that is not in the tally goes in the house folder, not in a message. If you have fewer than fifty threads, use what you have and say at the top of the output how many the tally was built from, because a tally of nine bookings is a hunch with arithmetic on it. 2. **Write message one, the confirmation, to go within ten minutes of the booking.** Contents: the dates and the checkout time in the same sentence as the check-in time, the total the guest will pay and what of it is still outstanding with the date it is due, the full address or the explicit statement of when the address will be sent, the single most important access fact, and the cancellation position in plain words. That last one is not optional and it is not obvious. Accommodation booked for specific dates is outside the usual online cancellation right: the Consumer Contracts Regulations 2013 exclude "the supply of accommodation, transport of goods, vehicle rental services, catering or services related to leisure activities, if the contract provides for a specific date or period of performance". So the guest's only cancellation rights are the ones in your own policy, which makes your policy material information rather than small print. The CMA's guidance says material information is "information that the average consumer needs to take an informed transactional decision" and that omitting it "includes not giving it at all as well as giving it in a way that is unclear, untimely or such that the consumer is unlikely to see it". 3. **Write message two, the travel message, to go seven days before arrival.** Contents: how to get there by car and by train, where to park with the exact restriction wording from the sign if there is one, the postcode that the satnav actually needs rather than the one on the invoice, the walking distance from the parking to the door, what time the nearest shop closes on a Sunday, and any roadworks or events that week. Seven days is chosen because it is the last point at which a guest can still change how they travel. Sent the day before, this message is information; sent a week before, it is a decision they can act on. 4. **Write message three, the access message, to go at 08:00 on the day of arrival.** Contents: the door, the key safe or lockbox and its code, what the door does if it sticks, the arrival window, what to do if they are early, what to do if they are late, and one phone number that a human answers. Nothing else at all. This is the message that gets read standing in the rain with a phone at eight percent battery, and every extra sentence in it is a sentence between the guest and the door code. Put the code on its own line. Do not put it in an attachment. 5. **Write message four, the settled-in message, to go ninety minutes after the check-in time.** Contents: one question, "are you in and is everything working", then the wifi name and password, the heating control in one sentence, the bin day, and where the fire exit is. The GOV.UK fire safety guide for small paying-guest accommodation expects guests to be given "information on fire safety and the action to take in the event of a fire", including "the escape route and location of exit doors" in "the information pack you give to guests". Putting the escape route in a message as well as in the folder costs you one line and means it has been sent to a device the guest is holding. Ninety minutes is late enough that they have found the kettle and early enough that a broken boiler can still be fixed today. 6. **Write message five, the mid-stay message, and send it only on stays of three nights or more.** One question, under thirty words: is there anything not right that we can fix while you are here. That is the entire message. It exists because a problem fixed on Tuesday is a five-star review and the same problem discovered on Friday is a refund request and a public paragraph. Do not use it to upsell, do not use it to ask for a review, and do not send it on a two-night stay, where it reads as intrusion rather than care. 7. **Write message six, the leaving message, to go at 18:00 the evening before checkout.** Contents: the checkout time as a time, not as "in the morning"; exactly what you want done with keys, bins, dishwasher and heating, as a numbered list of no more than four items; where to leave luggage if their train is later; and a thank you. Two rules on the list. Nothing on it that is not also in your listing, because a chore invented on the last evening is the classic cause of a three-star review from an otherwise happy guest. And no request for a review in this message, because the review ask is its own job, done later, and mixing it into the checkout instructions makes both weaker. 8. **Separate the service messages from the marketing, and mark which is which.** All six above are about a stay the guest has booked, and they are service messages. "Come back in October, ten percent off" is marketing, and the rules change. The ICO's guidance on electronic mail marketing states that "You must not send marketing emails or texts to individuals without specific consent. There is a limited exception for your own previous customers, often called the 'soft opt-in'." It sets out the exception as an existing customer who bought "a similar product or service from you in the past", but only "if you gave them a clear chance to opt out of getting marketing emails or texts when you collected their details, and in every message", and adds that "You must not disguise or conceal your identity, and you must provide a valid contact address so they can opt out or unsubscribe." So every marketing message carries an unsubscribe line and names you; the six service messages do not need one, and the output labels each message as service or marketing so nobody has to guess later. 9. **Set an exit condition for every message, and honour it.** Each message states the one thing that means it has done its job, in the shape Anthropic's `email-sequence` skill uses when it asks "what specific action signals that the sequence has done its job and the recipient should exit?". If the guest has already told you they are arriving at nine in the evening, message three does not ask them when they are arriving. If they have replied to message four saying everything is fine, message five is still sent but message four is not repeated. A sequence that keeps talking after it has been answered is how a helpful system becomes an irritating one. 10. **Deliver seven things, not six.** The six messages as plain text with every variable marked in square brackets, a trigger table giving the exact send time for each, a placeholder list naming every variable and where its value comes from, and a seventh file: the questions from the tally in step 1 that none of the six answers, with the reason each one was left out. That last file is the useful one in six months, because it is the list of decisions you have not made yet. ## Then it checks 1. Every one of the eight most frequently asked questions in the tally is answered in one of the six messages, and the output names which message answers which question. 2. Message three contains the access code on its own line and contains no information that is not needed to get through the door. 3. Message one states the cancellation position in a sentence a non-lawyer can act on, and states the outstanding balance and its due date as a figure and a date. 4. Message six lists no more than four checkout tasks and every one of them also appears in the published listing or house rules. 5. Every message is labelled service or marketing, and every message labelled marketing carries an unsubscribe line and names the sender. 6. Every message has one stated exit condition, and no message asks for information the guest has already given in an earlier message in the same sequence. 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 put a rule in a message that is not in the listing. A message is not the place to introduce a charge, a chore or a restriction the guest did not agree to when they booked, and doing it at the last minute is what turns a minor request into a complaint. - Never send the access code in an attachment, a PDF or a link that needs a login. The guest reading it is outside, in the dark, on one bar of signal. - Never merge the review request into the checkout message. The ask belongs in its own message after the stay, and it has its own rules. - Never copy a guest's phone number, address or message into anything outside the booking system, and never reuse a guest's details for marketing without the opt-out the ICO describes. This output is a working document prepared for the owner's data protection adviser and insurer to check before it is used; it is not legal advice on consumer or data protection law. ## Built from - The Consumer Contracts (Information, Cancellation and Additional Charges) Regulations 2013, regulation 28, https://www.legislation.gov.uk/uksi/2013/3134/regulation/28/made, made 2013, read 14 September 2026: the exclusion at regulation 28(1)(h) that removes the usual cancellation right from dated accommodation, which is why message one must state the owner's own policy in plain words. - Competition and Markets Authority, "Unfair commercial practices: CMA207", https://assets.publishing.service.gov.uk/media/691b9bd821ef5aaa6543ee6f/Unfair_commercial_practices_CMA207_18_Nov_2025__2_.pdf, 18 November 2025, read 14 September 2026: the definition of material information and of untimely or unclear disclosure, which sets what message one has to carry and when. - Information Commissioner's Office, "Electronic mail marketing", Guide to PECR, https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guide-to-pecr/electronic-and-telephone-marketing/electronic-mail-marketing/, no publication date shown on the page, read 14 September 2026: the consent rule, the soft opt-in conditions and the identity and opt-out requirements that produced step 8 and check 5. - Ministry of Housing, Communities and Local Government, "Making your small paying guest accommodation safe from fire (accessible)", https://www.gov.uk/government/publications/making-your-small-paying-guest-accommodation-safe-from-fire/making-your-small-paying-guest-accommodation-safe-from-fire-accessible, updated 20 January 2025, read 14 September 2026: the fire information and escape route expectations that put the exit line into message four. - Anthropic, `email-sequence` skill, knowledge-work-plugins, https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/marketing/skills/email-sequence/SKILL.md, no publication date shown in the file, read 14 September 2026: the exit condition discipline in step 9 and check 6.
Prompt for Codex
# guest-messages ## You are given Exported message threads from a UK short let's last fifty bookings, as a platform export, a set of screenshots, a mailbox export or pasted text. Plus the house rules, the published listing, the check-in and checkout times, the access arrangements, the cancellation policy, the travel and parking notes, and the owner's name and contact number. Threads are out of order, some carry two guests in one conversation, and the access code is sitting in the text of dozens of them. ## Produce Write these files into `./guest-messages-output/`: 1. `question-tally.csv` - columns exactly: `rank,normalised_question,question_as_asked_redacted,times_asked,threads_containing,first_seen,last_seen,answered_by_message`. Sorted by `times_asked`, highest first. `question_as_asked_redacted` carries the guest's wording with every name, phone number, email address, postcode and booking reference replaced by `[REDACTED]`. 2. `threads-read.csv` - columns exactly: `thread_id,booking_month,messages_in_thread,questions_extracted,unreadable`. `thread_id` is a hash, never a guest name or a booking reference. 3. `messages/01-confirmation.txt`, `messages/02-travel.txt`, `messages/03-access.txt`, `messages/04-settled-in.txt`, `messages/05-mid-stay.txt`, `messages/06-leaving.txt` - six plain text templates, every variable written in square brackets. `03-access.txt` carries the access placeholder on its own line and contains nothing that is not needed to get through the door. `06-leaving.txt` lists no more than four checkout tasks. 4. `trigger-table.csv` - columns exactly: `message_id,message_name,trigger_event,send_offset,send_time_local,applies_when,exit_condition,classification`. `classification` is `service` or `marketing`. `05-mid-stay` has `applies_when` set to stays of three nights or more. 5. `placeholders.csv` - columns exactly: `placeholder,message_ids,value_source_file,value_present,example_value_redacted`. `value_present` is `supplied` or `missing`. 6. `coverage.csv` - columns exactly: `normalised_question,times_asked,message_id,line_number,covered`. One row per question in the tally. `covered` is `yes` or `no`. 7. `listing-conflicts.csv` - columns exactly: `message_id,line_number,rule_or_charge_in_message,what_the_listing_says,source_file,action`. One row per instruction in a message that is not in the supplied listing or house rules. 8. `unanswered-questions.md` - numbered list of every question in the tally with `covered` set to `no`, each written as a decision the owner has to make in one line, with the reason it was left out. 9. `exceptions.csv` - columns exactly: `field_or_thread,problem,what_it_blocks,source_file`. ## Rules - Write files only. Never send a message, never reply in a platform inbox or a mailbox, never open a messaging or booking API, and never schedule anything. The six files are templates the owner puts into their own system. - Never write a door code, key safe code, alarm code or lockbox code into any output file, including the tally and the redacted question text. Write `[ACCESS CODE - send in the timed arrival message, do not store here]`. - Never copy a guest name, phone number, email address, home address, postcode, booking reference or payment detail out of the threads into any file. The tally records the question, redacted. `threads-read.csv` records a hash. - Every fact in a message must come from the house rules, the listing, the access notes or the settings. A missing value is written as `[MISSING: field name]`, marked `missing` in `placeholders.csv`, and listed in `exceptions.csv`. Never invent a bin day, a walking distance, a shop closing time, a postcode or a phone number. - Never put a rule, a charge or a chore into a message that is not in the supplied listing or house rules. Every instruction is checked against them and any that is not there goes in `listing-conflicts.csv` and is removed from the message. - Message six contains no review request and no marketing. Message five contains one question under thirty words and nothing else. Scan both and record any breach in `exceptions.csv`. - Every message carries one exit condition in `trigger-table.csv`, and no message asks for information an earlier message in the sequence already collected. - Every message labelled `marketing` carries an opt-out line and names the sender. The six service messages do not need one, and each is labelled so nobody has to guess later. - Every message is sent in the owner's name, named in the message, so it is clear whose name it is sent in. - State the tally size at the top of `unanswered-questions.md` and in `README` terms in the return. A tally built from fewer than fifty threads is labelled with the real number read. - British English. £ for money. Dates DD Month YYYY. No em dash characters. No emoji. CSVs UTF-8, header row, comma separated, fields containing commas quoted. ## Return The file paths written, the number of threads read and the number of questions tallied, the eight most asked questions with the message that answers each, any of the eight with `covered` set to `no`, the row count in `listing-conflicts.csv`, every placeholder marked `missing`, and confirmation that no access code and no guest identifier was written to disk. State that nothing has been sent, and that the messages are a working document for the owner's data protection adviser and insurer to check before use.
Built from the best public work on this
Sources for guest-messages
Everything below was opened and read on 14 September 2026. Nothing is cited that could not be loaded.
1. The Consumer Contracts (Information, Cancellation and Additional Charges) Regulations 2013, regulation 28
https://www.legislation.gov.uk/uksi/2013/3134/regulation/28/made, made 2013, read 14 September 2026.
The primary legislation page for the exceptions to the cancellation rights that apply to distance and off-premises contracts. Regulation 28(1)(h) excludes "the supply of accommodation, transport of goods, vehicle rental services, catering or services related to leisure activities, if the contract provides for a specific date or period of performance". That one line is the most consequential thing in this skill and almost no owner states it correctly. A guest who books online has a general expectation, fed by every other online purchase they make, that there is a fourteen day cooling-off period. For a dated holiday booking there is not. The whole of the guest's cancellation position therefore comes from the owner's own policy, which means the policy is not boilerplate at the bottom of a confirmation, it is the entire substance of the guest's rights. Step 2 of the skill puts it in message one, in plain words, with the balance figure and its due date in the same message. Where the skill departs from the source: legislation.gov.uk states what the law is and the skill does not attempt to say what any particular owner's policy means or whether it is fair. It requires the policy to be stated early and in language a non-lawyer can act on, and it hands the question of whether the policy itself is enforceable to the owner's adviser. The skill also does not use this exception as reassurance. The point of putting it in message one is not that the owner is protected; it is that the guest finds out at the start rather than at the moment they need to cancel.
2. Competition and Markets Authority, "Unfair commercial practices: CMA207"
https://assets.publishing.service.gov.uk/media/691b9bd821ef5aaa6543ee6f/Unfair_commercial_practices_CMA207_18_Nov_2025__2_.pdf, dated 18 November 2025, read 14 September 2026.
The CMA's guidance for businesses on the unfair commercial practices provisions of the Digital Markets, Competition and Consumers Act 2024. Chapter 6 supplies the test that shapes the timing of every message here. Material information is "information that the average consumer needs to take an informed transactional decision", and the chapter summary states that "Omitting information includes not giving it at all as well as giving it in a way that is unclear, untimely or such that the consumer is unlikely to see it." The word doing the work is "untimely". An owner who has the parking restriction in the house folder has given the information; they have given it after the guest parked. That is why step 3 fixes the travel message at seven days out rather than the day before, and why check 1 tests that each of the eight most asked questions is answered somewhere in the six rather than somewhere in the property. Chapter 6 also notes that the price of a product is usually material information and that failing to provide it in a timely fashion is likely to be a misleading omission, which is why message one carries the outstanding balance as a figure and a date rather than as "the balance is due nearer the time". Where the skill departs from the source: CMA207 is about the point of sale and the decision to buy, and four of the six messages here are sent after the sale is complete. The skill applies the CMA's timing test as a general standard for when a fact is useful rather than claiming that a post-booking message is a commercial practice. That is a deliberate widening, and it is the useful reading for an owner.
3. Information Commissioner's Office, "Electronic mail marketing", Guide to PECR
https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guide-to-pecr/electronic-and-telephone-marketing/electronic-mail-marketing/, no publication date shown on the page, read 14 September 2026. The page carries a notice that "Due to changes made by the Data (Use and Access) Act, this guidance is under review and may be subject to change."
The ICO's guidance on regulation 22 of the Privacy and Electronic Communications Regulations. In brief, it says "You must not send marketing emails or texts to individuals without specific consent. There is a limited exception for your own previous customers, often called the 'soft opt-in'." In detail, the exception applies where the recipient is "an existing customer who bought (or negotiated to buy) a similar product or service from you in the past, and you gave them a simple way to opt out both when you first collected their details and in every message you have sent", and the page is explicit that "You must not disguise or conceal your identity, and you must provide a valid contact address so they can opt out or unsubscribe." It also confirms the breadth of what counts, since electronic mail includes "any text, voice, sound or image message sent over a public electronic communications network which can be stored in the network or in the recipient's terminal equipment until it is collected by the recipient and includes messages sent using a short message service", and the page notes the same rule applies to "direct messages via social media". That last point matters because owners assume a WhatsApp message is somehow outside the rules. Step 8 turns this into a labelling discipline: each of the six messages is marked service or marketing, and check 5 fails any marketing message without an unsubscribe line and a named sender. Where the skill departs from the source: the ICO page is about marketing and says nothing about operational messages, and the boundary between "here is your door code" and "here is your door code, and do come back in October" is exactly where owners get into trouble. The skill draws the line by forbidding the mixture rather than by trying to classify a hybrid, and it flags the under-review notice so that nobody treats today's reading as settled. The skill also notes the page's warning that the soft opt-in "does not apply to prospective customers or new contacts (eg from bought-in lists)".
4. Ministry of Housing, Communities and Local Government, "Making your small paying guest accommodation safe from fire (accessible)"
https://www.gov.uk/government/publications/making-your-small-paying-guest-accommodation-safe-from-fire/making-your-small-paying-guest-accommodation-safe-from-fire-accessible, updated 20 January 2025, read 14 September 2026.
The statutory-guidance-backed fire guide for premises "of ground floor, or ground and first floor, providing sleeping accommodation for a maximum of 10 persons, with no more than four bedrooms on the first floor", applying where "you are charging someone to stay in your property as a guest and it is not being occupied as a private dwelling". It expects guests to receive "information on fire safety and the action to take in the event of a fire", with "the escape route and location of exit doors" set out "in the information pack you give to guests". The skill takes one line from this and puts it somewhere the guide does not require: message four, ninety minutes after check-in, on the device in the guest's hand. The reasoning is practical rather than legal. A folder on a kitchen table is read by roughly nobody, and the escape route is a fact that costs one sentence to send. Where the skill departs from the source: it does not replace the information pack and does not claim that a text message discharges anything. It adds a second delivery of the same fact and says so.
Best public prompt we found for this job
The closest public artefact is the `email-sequence` skill in Anthropic's `knowledge-work-plugins` repository, at https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/marketing/skills/email-sequence/SKILL.md. The repository has 24,015 stars, read from api.github.com on 14 September 2026. It designs multi-email lifecycle sequences with timing, branching and exit conditions, and the single idea worth taking is in its sequence strategy section:
what specific action signals that the sequence has done its job and the recipient should exit?
That question is why step 9 exists, and it is the difference between a guest messaging system that feels attentive and one that feels automated. A sequence that asks a guest what time they are arriving after the guest has already told you is the most common complaint about hosts who have just discovered automation. What we did not copy is nearly everything else. `email-sequence` is built for a marketing funnel: it asks for a campaign goal, an audience segment, subject line variants, A/B test ideas and "performance benchmarks" such as expected open rates. None of that transfers. A guest who has already paid is not a lead being nurtured, there is no conversion to optimise, and open rates are irrelevant when the message contains the code to the front door. We also refused its default of building a sequence from a sequence type and a brand voice. This skill builds the six messages from a tally of the questions the owner's own guests have actually asked, on the reasoning that a template tells you what hosts generally send and a tally tells you what your guests generally need, and only one of those two stops the phone ringing.
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.
Foxera