Make the menu pay: 10 AI skills for the menu you already print
menu-proof
the check before it goes to print
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: menu-proof description: Checks a finished menu line by line before it goes to the printer, against the till, the costings, the allergen file and the wording rules, and returns a numbered list of everything that must change. Use on the last working day before you press print. --- # The check before the menu goes to print You give this the final menu file or a clear photograph of it, the till's price list, your dish costings, the allergen file and the printer's quote. You get back a numbered list of everything wrong with it: prices that disagree with the till, arithmetic that does not add up on set menus, claim words you cannot evidence, allergen and diet wording that is not permitted, and the typographical errors that get printed five hundred times. Each item says what it is, where on the menu it is, and what to change it to. It does not redesign the menu and it does not offer opinions on the font. ## What it does 1. **Lock one version, number it, and refuse to check anything else.** Take the exact file going to the printer, give it a version number and a date, and note who produced it. Then write out every line: section, position, dish name, description word for word, price, and any symbol or footnote attached. Number the lines. Everything from here on refers to a line number. This sounds like bureaucracy and it is the control that makes the job work, because menus are proofed against the wrong file more often than they are proofed badly. If anybody has "a slightly newer one", the check stops until there is one file everybody agrees on. 2. **Check every price three ways, and do the arithmetic on anything that adds up.** First against the till: every dish must have a button, the button's price must match the printed price to the penny, and any till button with no menu line has to be explained. Second against the costing: every dish's gross profit at the printed price, flagging anything below the house target and anything where the cost is missing. Third against its neighbours: a price out of step with the lines around it is usually a typo, and one identical to the line above is usually a copy-and-paste error. Then do the arithmetic on every set menu, deal and sharing board. Two courses for a stated price, three courses, a children's deal, a bottomless offer, a wine flight: work out what the components cost, what the deal price implies, and whether any combination lets a customer legitimately take more value than you intended. 3. **Check the total price and every mandatory charge is stated where a customer sees it first.** The Competition and Markets Authority's guidance on unfair commercial practices, CMA207, updated 18 November 2025, requires an invitation to purchase to give "the total price of the product (including any mandatory fees, taxes, charges or other payments that the consumer must pay if they purchase the product)". It also warns that "Information is omitted when it is not included. However, information may also be considered omitted where it is provided to a consumer, but it is provided in a way that is unclear or untimely, or that the consumer is unlikely to see it." So a cover charge, a minimum spend, a mandatory service charge, a card surcharge or a per-head charge on a set menu has to appear where the prices appear, in a size a customer will actually read, and not in six point type at the foot of the back page. Where a service charge is discretionary, the menu has to say so in words that make it clear it can be removed. 4. **Test every claim word against the published criteria, and delete the ones that cannot be evidenced.** The Food Standards Agency's guidance on marketing terms, revised July 2008, applies here: "The best practice advice applies equally to all food, regardless of whether it is prepacked or not, or the type of outlet from which it is sold." On fresh: "The terms 'fresh' or 'freshly' should only be used where they have a clear meaning, whether used alone or qualified by other terms", and "'Fresh' is often used in a number of phrases that may have an emotive appeal but no real meaning (e.g. 'oven fresh', 'garden fresh', 'ocean fresh', 'kitchen fresh', etc). These should be avoided." On home-made, and this is the one that catches most kitchens: the term "should be restricted to the preparation of the recipe on the premises, from primary ingredients, in a way that reflects a typical domestic situation. This should not be achieved simply by the assembly of wholly pre-prepared elements, or simple reconstitution from dry base mixes, but must involve some degree of fundamental culinary preparation." On farmhouse: "Simply describing an ingredient as 'farmhouse', e.g. 'x with farmhouse vegetables', is meaningless. The term should not be used in this context", and "The similar expression 'country style' does not appear to have any specific meaning. This phrase should not be used to describe any food or food ingredient." On hand-made: it "should be significantly made by hand rather than just one element of the process being carried out in that way." For each claim word on the menu, record the line number, the word, the evidence offered, and the verdict: keep, qualify or delete. 5. **Check every named supplier, place and breed against a document you can produce today.** A menu that names a farm, a dairy, a fishing port, a brewery, a breed or a county is making a factual claim, and the only acceptable evidence is an invoice, delivery note or specification carrying that name, dated within the current buying period. Go line by line and put the evidence reference against each. Where a supplier has changed and the menu has not, that is a finding, and it is the most common one on a menu reprinted from last year's file. The same goes for geography: if the menu says a distance or says "local", write down what it means and whether you would defend it. Where there is no evidence, the claim comes off. A dish sells perfectly well described by what it is. 6. **Check the allergen and diet wording is the wording you are allowed to use.** Three separate tests. Allergen route: the menu must either carry "full written allergen information on a menu, chalkboard or in an information pack", or carry a written notice "placed in a clearly visible position explaining how your customers can obtain this information", and if the notice route is used, the notice has to actually exist and be findable. Gluten: the words "gluten free" may only appear where the dish is under the threshold the Food Standards Agency states, "no more than 20 mg/Kg in the food as sold to the final consumer", and the FSA is explicit that these rules "apply to all foods including non-prepacked foods such as those served in restaurants". Vegan: a vegan line may not be doing an allergen's work, because a vegan label "does not guarantee that the product contains no ingredients of animal origin" and free-from claims are a different thing entirely. Flag every symbol key too: a menu with a V, a VE, a GF and an asterisk needs those four to be defined once, clearly, and used consistently on every line they apply to. 7. **Check whether calorie labelling applies, and if it does, that it is complete.** Under the Calorie Labelling (Out of Home Sector) (England) Regulations 2021, "a business is a qualifying business during a financial year if ... on the first day of that financial year the business has 250 or more employees". If the answer is no, record it and move on. If the answer is yes, every in-scope item needs "the energy content ... in kilocalories, followed by the letters 'kcal'" placed "on the menu, next to the description or the price", plus "the statement that 'adults need around 2000 kcal a day'". Check every line, not a sample, because a missing figure on one dish is the one somebody photographs. 8. **Proofread the artefact as an object, not as a document.** Read the menu backwards, line by line from the last to the first, which breaks the habit of reading what you expect. Check: every dish name spelled as it appears on the specials board and the website; supplier and place names correct letter by letter, including accents; prices formatted identically throughout, with the same treatment of pence on every line; sections in the intended order and nothing orphaned across a page break or fold; the allergen notice not falling in a fold or under a laminate edge; body text large enough to read in your actual lighting; dietary symbols legible in one colour if that is what you are printing. Then check the print specification against the printer's quote: size, stock, finish, pages, bleed and quantity, because ordering four hundred of a menu you will change in six weeks is its own kind of error. 9. **Produce the findings list and the sign-off, and name every place the menu has to reach.** Output one numbered list under three headings: must fix before print, should fix, and noted for next time. Each finding carries the line number, what is wrong, the evidence, and the exact replacement wording or price. Then a sign-off block with a line each for the person who checked prices, the person who checked allergens and the owner, with the version number and date from step 1. Finally the publication list, because print is only one of the places this menu lives: the website, any PDF uploaded to it, Google Business Profile, each delivery app, the till, the specials board, the allergen file and the function folder. A menu that is right in print and wrong online has not been proofed. ## Then it checks 1. Every finding cites a line number from the locked version in step 1, and the version number and date appear on the findings list. 2. Every printed price has been compared to the till price and to a costing, and any dish with no costing is listed as such rather than passed over. 3. Every set menu, deal and sharing item has had its arithmetic worked through, with the implied price of each combination shown. 4. Every claim word on the menu appears in the claims table with its line number, the evidence offered and a verdict of keep, qualify or delete, and no claim is left with no evidence and no verdict. 5. The allergen route is identified and confirmed to exist in practice, every "gluten free" on the menu names the control behind it, and no vegan line is presented as an allergen claim. 6. The publication list names every place the menu appears, and the sign-off block has three named people against it rather than one. 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 pass a claim on the strength of somebody remembering it is true. The evidence for a named supplier is a dated invoice carrying that name. If nobody can produce it before the menu goes to print, the claim comes off. - Never proof against anything but the locked file. Two versions in circulation is how a corrected price gets printed wrong, and it is the most expensive mistake here because it is only found when the boxes arrive. - Never sign off a menu checked by one person. Prices, allergens and wording are three different kinds of attention, and the person who wrote the menu cannot see its errors. - Never treat the printed menu as the whole job. Most customers read the menu on a phone before they arrive, so the website, the delivery apps and the Google listing carry the same prices and claims, and they are the copies that stay wrong for months. - This output is a working document prepared for the owner's accountant, solicitor and environmental health officer to check before the menu is printed. It compares documents and states arithmetic; it is not advice on consumer protection law, food information law or calorie labelling, and nothing in it is a ruling on whether a claim is lawful. ## Built from - Competition and Markets Authority, "Unfair commercial practices (CMA207)", https://www.gov.uk/government/publications/unfair-commercial-practices-cma207/unfair-commercial-practices, updated 18 November 2025, read 14 September 2026: the requirement to give the total price including mandatory fees in an invitation to purchase, and the treatment of unclear or untimely information as an omission, which is the whole of step 3. - Food Standards Agency, "Criteria for the use of the terms fresh, pure, natural etc. in food labelling", revised July 2008, PDF copy read at https://www.sustainweb.org/assets/fsa-fresh-natural-pure-guidance-2008-1744634508.pdf, read 14 September 2026: the criteria for fresh, home-made, farmhouse and hand-made quoted in step 4, and the confirmation that the advice "applies equally to all food, regardless of whether it is prepacked or not, or the type of outlet from which it is sold". - Telford and Wrekin Council, "Guidance for the use of terms", https://www.telford.gov.uk/health-protection/food-health-and-safety/food/guidance-for-the-use-of-terms, 15 July 2025, read 14 September 2026: the current local-authority statement that terms such as "fresh", "pure" and "natural" "are not defined in law but when used must not be misleading for consumers", which is why step 4 produces a verdict per claim rather than citing the 2008 criteria as a rule. - Department of Health and Social Care and Food Standards Agency, "Allergen guidance for food businesses", https://www.gov.uk/government/publications/allergen-guidance-for-food-businesses/allergen-guidance-for-food-businesses, updated 17 July 2026, read 14 September 2026: the two lawful routes for allergen information on loose food, checked in step 6. - Food Standards Agency, "Food allergen labelling and information requirements technical guidance", https://www.gov.uk/government/publications/food-allergen-labelling-and-information-requirements-technical-guidance/food-allergen-labelling-and-information-requirements-technical-guidance, published 23 August 2023, latest update March 2025, read 14 September 2026: the 20 mg/kg gluten-free threshold and its application to restaurant food, checked in step 6. - The Calorie Labelling (Out of Home Sector) (England) Regulations 2021, https://www.legislation.gov.uk/uksi/2021/909/made, made 27 July 2021, read 14 September 2026: the 250 employee test and the kcal and 2000 kcal statement requirements checked in step 7.
Prompt for Codex
# menu-proof ## You are given A folder from a UK restaurant, pub, cafe or hotel containing the final menu going to print (PDF, DOCX or a clear photograph), and some or all of a till price export (CSV), a dish costing sheet (CSV or XLSX), the allergen file and the printer's quote. The owner also states in writing whether the business had 250 or more employees on the first day of its current financial year. If the menu file is missing, or there is more than one version, ask once which is the locked version, then stop. ## Produce Write all files into an `output` folder beside the inputs. 1. `menu-lines.csv` - the menu transcribed. Columns exactly: `line_no,section,position,dish_name,description,price_printed,symbols,footnote`. 2. `price-check.csv` - columns exactly: `line_no,dish_name,price_printed,price_on_till,price_difference,dish_cost,gp_pct_at_printed_price,verdict`. Use the verdict `match`, `mismatch`, `no_till_button`, `not_on_menu` or `no_costing`. 3. `deal-arithmetic.csv` - one row per set menu, deal, sharing item or flight. Columns exactly: `line_no,deal_name,deal_price,component_lines,sum_of_component_prices,implied_discount,highest_value_combination`. 4. `claims.csv` - one row per claim word. Columns exactly: `line_no,claim_word,phrase_as_printed,evidence_offered,evidence_reference,verdict`. Verdict is `keep`, `qualify` or `delete`. Scan at minimum for: fresh, freshly, home-made, homemade, farmhouse, country style, hand-made, handmade, natural, pure, traditional, authentic, local, premium, finest, best, gluten free, gluten-free, vegan, dairy free, healthy, and any capitalised place, farm, breed or supplier name. 5. `findings.md` - the numbered findings list under three headings: "Must fix before print", "Should fix", "Noted for next time". Every finding carries the line number, what is wrong, the evidence, and the exact replacement price or wording. End with a sign-off block of three named lines (prices, allergens, owner) plus the version identifier and date, and a publication checklist naming the printed menu, the website, any PDF on the website, Google Business Profile, each delivery app, the till, the specials board and the allergen file. ## Rules - Transcribe the menu exactly as printed, including spelling errors. Every correction is a finding, not an edit. - Never mark a claim `keep` without an `evidence_reference` naming a document and a date. With no evidence the verdict is `delete`. - Never invent a dish cost, a till price or a calorie figure. Leave the cell empty and record it as a finding. - Only raise calorie labelling findings if the owner stated 250 or more employees. If fewer, write one line in `findings.md` recording it as out of scope. - Do not comment on design, typeface or colour except where text is too small to read, falls in a fold, or a dietary symbol would not survive one-colour printing. - Every finding cites a `line_no` from `menu-lines.csv`. ## Return One line per file written, with its full path and row count, then the count of must-fix findings, then the count of claims marked `delete`. Nothing else.
Built from the best public work on this
Sources for menu-proof
Everything below was opened and read on 14 September 2026. Nothing is cited that could not be loaded.
1. Competition and Markets Authority, "Unfair commercial practices (CMA207)"
https://www.gov.uk/government/publications/unfair-commercial-practices-cma207/unfair-commercial-practices, updated 18 November 2025, read 14 September 2026.
CMA207 is the Competition and Markets Authority's guidance on the unfair commercial practices provisions that the Digital Markets, Competition and Consumers Act 2024 brought in, and the CMA now enforces those provisions directly. It is the document that governs what a price on a menu has to include and how visible it has to be, and it replaced a much softer regime, which is why a menu checked against habit rather than against this guidance can be years out of date.
Three lines drove step 3. On false information: "Traders should not give consumers information which is objectively false." On omissions, and this is the sentence that matters most for a menu: "Information is omitted when it is not included. However, information may also be considered omitted where it is provided to a consumer, but it is provided in a way that is unclear or untimely, or that the consumer is unlikely to see it." And on price, in the list of what an invitation to purchase must contain: "the total price of the product (including any mandatory fees, taxes, charges or other payments that the consumer must pay if they purchase the product)".
Applied to a menu, that turns a familiar design habit into a problem worth finding before print. A mandatory service charge, a cover charge, a minimum spend or a card surcharge set in small type at the foot of the back page is information "provided in a way that is unclear or untimely, or that the consumer is unlikely to see it". Step 3 therefore checks not only that the charge is stated but where it is stated relative to the prices it applies to, and whether a discretionary charge is described in words that make clear it can be removed.
The guidance also gives a worked example of omission in a hospitality-adjacent setting: "A trader operates a car park. They fail to display the price(s) of parking clearly at a point before the consumer enters the car park and incurs a charge." The shape of that example, a price that exists but arrives too late to inform the decision, is the shape of the menu problem.
Where the skill departs from the source: CMA207 is guidance on the law and the skill is not. The skill produces findings and replacement wording, and its closing rule sends the consumer protection question to the owner's solicitor. It makes no statement about whether any particular menu is lawful.
2. Food Standards Agency, "Criteria for the use of the terms fresh, pure, natural etc. in food labelling", revised July 2008
PDF copy read at https://www.sustainweb.org/assets/fsa-fresh-natural-pure-guidance-2008-1744634508.pdf, read 14 September 2026.
This is the Food Standards Agency's own marketing terms guidance, and it is the only published UK document that says in plain words what a caterer may mean by "home-made". A note on provenance, because it matters: the FSA has restructured its website and this PDF was read from a copy hosted by Sustain, not from food.gov.uk. The document itself is unmistakably the FSA's, carrying its contact details at Aviation House and the marking "Revised July 2008". Nothing is quoted from it that was not read in that PDF, and the age of the document is stated openly in the skill rather than hidden.
The guidance states its own limits, and the skill repeats them rather than overselling it: "it is acknowledged that there is no legal obligation to follow the recommended criteria. Whether this advice is followed or not, misleading labelling is an offence under legislation", and "The advice offered in this Guidance should not be taken as an authoritative statement nor an interpretation of the law, as only the courts have this power." The reason it earns a place anyway is paragraph 6: "The best practice advice applies equally to all food, regardless of whether it is prepacked or not, or the type of outlet from which it is sold." It was written for caterers as much as for manufacturers.
Four sets of criteria were quoted into step 4. On fresh, paragraphs 29 and 30: "The terms 'fresh' or 'freshly' should only be used where they have a clear meaning, whether used alone or qualified by other terms", and "'Fresh' is often used in a number of phrases that may have an emotive appeal but no real meaning (e.g. 'oven fresh', 'garden fresh', 'ocean fresh', 'kitchen fresh', etc). These should be avoided." Paragraph 31 adds that "freshly cooked", "freshly prepared" and "freshly baked" "should have no other connotation than the immediacy of the action being described".
On home-made, paragraph 84, which is the most useful paragraph in the document for a restaurant: the term "should be restricted to the preparation of the recipe on the premises, from primary ingredients, in a way that reflects a typical domestic situation. This should not be achieved simply by the assembly of wholly pre-prepared elements, or simple reconstitution from dry base mixes, but must involve some degree of fundamental culinary preparation." The same paragraph is fair about what is allowed: "it would be legitimate for caterers to use partly-prepared ingredients that are available for domestic use; typical examples could include the use of pre-prepared raw pastry, bakery bread in desserts or stock cubes in sauces."
On farmhouse, paragraphs 90 and 91: "Simply describing an ingredient as 'farmhouse', e.g. 'x with farmhouse vegetables', is meaningless. The term should not be used in this context", and "The similar expression 'country style' does not appear to have any specific meaning. This phrase should not be used to describe any food or food ingredient." On hand-made, paragraph 93: a product so described "should be significantly made by hand rather than just one element of the process being carried out in that way."
Where the skill departs from the source: it does not present these criteria as rules. Step 4 produces a verdict per claim word, keep, qualify or delete, and the judgement that decides the verdict is whether the claim would mislead, not whether it matches a 2008 paragraph. That is a deliberate correction for the document's age and its own stated non-binding status.
3. Telford and Wrekin Council, "Guidance for the use of terms"
https://www.telford.gov.uk/health-protection/food-health-and-safety/food/guidance-for-the-use-of-terms, 15 July 2025, read 14 September 2026.
A local authority page, dated fourteen months before this skill was written, included specifically to test whether the 2008 FSA criteria still describe how the rules are enforced today. It does, and it states the underlying principle in one sentence: "Marketing terms are phrases used by business to inform the consumer about the nature of their product. Many of these terms such as 'fresh', 'pure' and 'natural' are not defined in law but when used must not be misleading for consumers."
That sentence is the hinge of step 4. The words are not defined in law, so no criterion can be quoted as a rule. What is enforceable is the misleading test, and the enforcing body is the local authority's trading standards department, which is the body that published this page. So the skill checks claims against evidence and against whether they would mislead, and cites the FSA criteria as best practice rather than as law.
Where the skill departs from the source: the page names no criteria, so none were taken from it. It contributed the framing and the currency check, nothing more, and it is cited for exactly that.
4 and 5. Allergen and calorie labelling sources
Two sources already used elsewhere in this pack were re-read on 14 September 2026 and are checked against in steps 6 and 7.
The allergen guidance for food businesses, https://www.gov.uk/government/publications/allergen-guidance-for-food-businesses/allergen-guidance-for-food-businesses, updated 17 July 2026, supplies the two lawful routes for loose food: "full written allergen information on a menu, chalkboard or in an information pack", or verbally "with a written notice placed in a clearly visible position explaining how your customers can obtain this information". Step 6 checks which route the menu is relying on and whether the notice actually exists, because a menu that points at a notice nobody has printed fails in the worst possible way.
The FSA technical guidance, https://www.gov.uk/government/publications/food-allergen-labelling-and-information-requirements-technical-guidance/food-allergen-labelling-and-information-requirements-technical-guidance, published 23 August 2023 with its latest update in March 2025, supplies the threshold: foods may be labelled "gluten-free" at "no more than 20 mg/Kg in the food as sold to the final consumer", and those rules "apply to all foods including non-prepacked foods such as those served in restaurants".
The Calorie Labelling (Out of Home Sector) (England) Regulations 2021, https://www.legislation.gov.uk/uksi/2021/909/made, made 27 July 2021, supply the scope test in regulation 7, "on the first day of that financial year the business has 250 or more employees", and the display requirements in regulation 5, "the energy content ... in kilocalories, followed by the letters 'kcal'", "the statement that 'adults need around 2000 kcal a day'", placed "on the menu, next to the description or the price".
Best public prompt we found for this job
There is no established public prompt for proofing a restaurant menu. Searches of GitHub on 14 September 2026 via api.github.com for menu and allergen labelling repositories returned nothing above one star, and the general prompt collections treat menus as something to write rather than something to check.
The closest useful public tool is a different kind of thing entirely, and it is worth naming because it is the right model for the job: **vale-cli/vale**, https://api.github.com/repos/errata-ai/vale, which reported **6,104 stars** and 224 forks when the API was read on 14 September 2026, last pushed 2026-09-10. Its own description, quoted from the API response, is: "A markup-aware linter for prose built with speed and extensibility in mind."
The idea worth copying is its whole architecture: a prose checker driven by an explicit, external list of rules, so that every finding says which rule it broke and can be argued with. That is why step 9 outputs a numbered findings list where every item carries a line number, the evidence and a replacement, rather than a paragraph of advice. A menu proof that cannot be argued with line by line will not be acted on.
What was not copied: everything else. Vale is a general prose linter with no notion of a price, a till, an allergen, a supplier invoice or a print run. None of its rule syntax, style packages or wording appears here, and it is not a dependency of this skill. The checks themselves come from sources 1 to 5.
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