Make the menu pay: 10 AI skills for the menu you already print
menu-engineering
what sells, what earns, and what does neither
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-engineering description: Sorts every dish on your menu into stars, ploughhorses, puzzles and dogs using your own till data and your own plate costs, and tells you what to do with each one. Use when you are deciding what to cut, what to reprice, what to promote, or why a busy week made no money. --- # Find out which dishes are paying your rent and which ones are wasting a section of your menu You give this an export from your till for a stated period and a plate cost for every dish. You get back each menu section sorted into four named groups, with the number of portions sold, the cash each dish contributed, and one plain instruction per dish. It uses the method published by Kasavana and Smith in 1982 and it uses your sales, not an estimate of how popular a dish looks on the page. ## What it does 1. **Take one menu section, one stated period, and the till's own export.** Do starters, mains, puddings and drinks separately and never mix them. A pudding will never outsell a burger and comparing them puts every pudding in the same losing box regardless of how well it does against other puddings. Choose a period long enough to be real and short enough to still be true: eight to twelve trading weeks is the usual answer for an independent site, and anything under four weeks will be noise. Write the section name, the exact start and end dates and the total covers at the top of the worksheet. If the menu changed inside the period, say so in one line and either shorten the period or run the changed dishes separately, because a dish that was only on sale for three of twelve weeks is not unpopular, it was absent. 2. **Clean the export before classifying a single dish.** Till exports carry things that are not sales. Strip out voids and refunds, staff and manager meals, comps and recovery dishes sent out free, training-mode transactions, and anything logged against a closed table that was later re-rung. Decide once, and write down which way you decided, how you handle modifiers and upgrades: a burger sold sixty times with forty of them carrying a £1.50 cheese upgrade is either one dish or two, and the answer changes both its margin and its rank. Set-price menus and deals need the same decision. This is the step that quietly decides the outcome of the whole exercise, so the worksheet must carry a short block headed "what was removed and why" with the counts, not just a claim that the data was cleaned. 3. **Take VAT out of the sales value before you touch the margin.** A till reports what customers paid, and in a restaurant that figure has VAT inside it, because HMRC's catering guidance puts "supplies made in restaurants, cafés, canteens and similar establishments" among the standard-rated supplies. Contribution margin calculated against a gross sales figure overstates every dish, and overstates the expensive ones most, which is precisely the direction that corrupts the ranking. Convert each dish's selling price to its VAT-exclusive value, state on the worksheet which rate you applied, and hand the rate itself to the owner's accountant to confirm. Do this before step 5 and not after, because a margin worked out on the wrong base cannot be repaired by adjusting the total. 4. **Attach a real plate cost to every dish, never a food cost percentage.** The cost that goes into this calculation is the one from a dated cost card built on invoices and weighed yields, not a house assumption of thirty per cent. A percentage applied across a section produces exactly the ranking you fed in, because every dish then has the same margin percentage and the arithmetic becomes a popularity contest with a margin column attached. Where a dish has no cost card, do not estimate it. Put it in a separate list headed "no plate cost held" and leave it out of the averages, because one invented cost moves the average contribution margin, and the average is the line that decides which side of the matrix every other dish falls on. 5. **Work out the contribution margin for each dish and the average across the section.** Contribution margin is the VAT-exclusive selling price less the plate cost, in pounds and pence, per portion. Multiply it by portions sold to get the total each dish contributed, then, in the words of the published method, "the total margin divided by the total number of portions sold gave the average margin per portion". That average is the dividing line: "margins above average placed the food in the high zone and margins below average placed the food in the low zone". Note that this is a weighted average across portions actually sold, not the plain average of the dish margins, and the two differ whenever a cheap dish sells heavily. Show both the per-portion margin and the total contribution for every dish, because they answer different questions and an owner needs both in front of them. 6. **Work out the menu mix and the popularity line at seventy per cent of even.** Menu mix is each dish's portions sold as a percentage of all portions sold in that section. The threshold is not fifty per cent and not the average: the published method calculates "the popularity rate of the Menu Mix (100/number of dishes tested)*70%", and then, "if the distribution ratio of sales for a dish is greater than the popularity rate, it is in the high zone, if it is less, it is in the low zone". So a section of ten dishes has an even share of 10.0% and a popularity line of 7.0%. A section of sixteen has an even share of 6.25% and a line of 4.375%. Print the line on the worksheet in figures so the owner can see how close a dish sat to it, because a dish at 4.4% and a dish at 12% are both "high" and are not the same dish. 7. **Place every dish in one of four boxes, using the names and nothing clever.** Following the 1982 model: "the foods in the Stars quadrant are the ones with the highest margins and the highest sales numbers. Plowhorses include foods with high sales numbers and low margins. Question marks include foods with high margins and low sales. Dogs include low-margin and low-selling foods." Use ploughhorse and puzzle as the plain English names for the second and third if the owner prefers them; keep one set of names throughout and define them once at the top. Show each dish with its portions sold, menu mix percentage, margin per portion, total contribution and its box, sorted by total contribution, highest first. Do not invent a fifth category and do not soften a dog by calling it something else. 8. **Write one instruction per dish, and say what the model cannot see.** Stars: change nothing about the recipe or the price, protect the specification, and keep them where people look. Ploughhorses: they are bringing people in, so work the cost down through portion, garnish or supplier before touching the price, and test any price move on one dish at a time. Puzzles: they earn well and nobody orders them, so move them on the page, rename them, or brief the section to recommend them, and re-run in eight weeks. Dogs: take them off unless they exist for a reason the numbers cannot see, and name that reason in writing. Then state the model's own limits plainly on the worksheet: it "does not address wage costs", it "favours higher priced foods", and the margin it ranks by "provides a cost and benefit coverage" rather than profit. A dish that takes twenty minutes of a chef's night is not costed here. 9. **Set the re-run date and record what you changed.** The method has a property the owner needs warning about: "due to the calculation methods, there is an interdependence between the foods on the menu, which is why foods will always be included in all fields". Remove the four dogs and four of the remaining dishes become the new dogs, because the averages move. So the worksheet ends with a dated action list, one line per change made, and a re-run date eight to twelve weeks out, and the next run compares against this one rather than starting fresh. Without that line the exercise becomes an annual cull that strips a menu to four dishes over three years. ## Then it checks 1. Each menu section is classified on its own, the worksheet names the section, the exact start and end dates and the total covers, and no dish from one section appears in another section's averages. 2. The "what was removed and why" block is present with counts for voids, staff meals, comps and training transactions, and the modifier decision is written down in one sentence. 3. Every selling price used in the margin calculation is VAT-exclusive, the rate applied is stated, and no margin is computed against a gross till figure. 4. Every dish in the matrix has a plate cost traceable to a dated cost card, and any dish without one appears only in the "no plate cost held" list and contributes nothing to either average. 5. The popularity line is shown as a figure and reproduces from (100 ÷ number of dishes in the section) × 70%, and the average contribution margin reproduces as total contribution divided by total portions sold. 6. Every dish carries exactly one box and exactly one instruction, the four box names are defined once and used consistently, and the limits block naming labour cost, the bias towards higher priced dishes and the interdependence of the dishes appears on the worksheet. 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 estimate popularity from the menu itself. Position on the page, a photograph, a box around a dish or the word "signature" predict what an owner hopes will sell, not what sold, and a matrix built on them ranks the menu design rather than the menu. - Never apply one food cost percentage across a section in place of real plate costs. It guarantees the answer, because every dish then sits on the same margin line and the exercise collapses into a sales report with extra steps. - Never delete a dish on one run's numbers alone. A dish can be a dog because it is badly described, badly placed, or was off the menu for a fortnight, and the model cannot tell those apart from a dish nobody wants. - Never present contribution margin as profit. It is the money left after the food cost and before wages, rent, energy and everything else, and the published method is explicit that it "provides a cost and benefit coverage". - This output is a working document prepared for the owner and their accountant to check before prices change or dishes are removed. It states arithmetic on the data supplied. It is not advice on pricing, on tax, or on what any dish should sell for. ## Built from - Zsuzsanna Ivancsóné Horváth, Csaba Kőmíves, Júlia Nagy-Keglovich and Éva Happ, "Examining a menu on the basis of the Kasavana-Smith model in a Hungarian restaurant", Deturope 14(1): 111-127, 2022, https://www.deturope.eu/pdfs/det/2022/01/06.pdf, read 14 September 2026: the popularity formula in step 6, the weighted average margin in step 5, the four category definitions in step 7, and every stated limitation in steps 8 and 9. - BC Cook Articulation Committee, "Basic Kitchen and Food Service Management", BCcampus Open Education, 2015, CC BY 4.0, https://opentextbc.ca/basickitchenandfoodservicemanagement/chapter/describe-the-principles-of-menu-engineering/, read 14 September 2026: the definition of contribution margin as "selling price - cost price" and the chicken against steak worked example, which is why step 5 reports cash per portion and total contribution rather than food cost percentage. - HM Revenue & Customs, "Catering, takeaway food (VAT Notice 709/1)", https://www.gov.uk/guidance/catering-takeaway-food-and-vat-notice-7091, last updated 8 June 2026, read 14 September 2026: the standard rating of restaurant supplies, which is why step 3 strips VAT from till values before any margin is calculated. - 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 prohibition on introducing "additional mandatory charges as consumers proceed with a purchase", which is why a ploughhorse is repriced on the menu rather than recovered through a charge added to the bill.
Prompt for Codex
# menu-engineering ## You are given A folder from a UK hospitality business containing: a till or EPOS sales export (CSV or XLSX) with at least a dish name, a menu section or category, portions sold and gross sales value; and a plate cost file (CSV or XLSX) giving a cost per portion for each dish. There may also be a menu PDF. Column names will not match between files. Dish names will not match exactly either, so match on an exact string first, then a normalised match (lower case, punctuation and plural stripped), and never on a fuzzy guess. ## Produce Write into an `output/` folder next to the inputs: 1. `menu-matrix.xlsx` with one sheet per menu section plus a sheet named `Summary` and a sheet named `Excluded`. Each section sheet has these columns in this order: `Dish`, `Portions sold`, `Menu mix %`, `Popularity line %`, `Popularity`, `Selling price incl VAT (GBP)`, `Selling price excl VAT (GBP)`, `Plate cost (GBP)`, `Contribution margin per portion (GBP)`, `Average contribution margin (GBP)`, `Margin band`, `Total contribution (GBP)`, `Box`, `Action`. Sort each sheet by `Total contribution`, highest first. Above the table put four rows: `Section`, `Period start`, `Period end`, `Total portions sold`. `Summary` lists every section with its dish count, total portions, total contribution, and a count of dishes in each of the four boxes. `Excluded` lists every row removed, with columns `Dish`, `Reason`, `Count`. 2. `menu-matrix.csv` - every section sheet concatenated, with a `Section` column added. 3. `actions.md` - a printable A4 page per section: the four boxes as headings, the dishes under each, one instruction per dish, and a closing block headed `What this does not measure` naming labour cost, the bias towards higher priced dishes, and the interdependence of dishes. 4. `README.md` - files read, row counts in and out, the VAT rate applied, and every dish that could not be matched to a plate cost. ## Rules - Classify each menu section separately. Never mix sections in one matrix or one average. - `Menu mix %` = portions sold ÷ total portions in that section × 100. - `Popularity line %` = (100 ÷ number of dishes in that section) × 70. Above the line is High, below is Low. - `Average contribution margin` = total contribution of the section ÷ total portions sold in the section. Above or equal is High, below is Low. - Boxes: High popularity and High margin = Star. High popularity and Low margin = Ploughhorse. Low popularity and High margin = Puzzle. Low popularity and Low margin = Dog. - Convert gross sales to VAT-exclusive using a rate given in the input; if none is given use 20% and say so in `README.md`. - Remove voids, refunds, staff meals, comps and training transactions before any calculation, and count them into `Excluded`. - A dish with no plate cost goes to `Excluded` with reason "no plate cost held". Never estimate a cost or apply a food cost percentage. Excluded dishes must not affect either average. - British English, £, DD Month YYYY dates. No em dashes. ## Return The absolute paths of the files written, the number of sections classified, the dish count in each box per section, the number of rows excluded with reasons, and any section with fewer than four dishes (where the popularity line is unreliable and you should say so).
Built from the best public work on this
Sources for menu-engineering
Everything below was opened and read on 14 September 2026. Nothing is cited that could not be loaded.
1. Ivancsóné Horváth, Kőmíves, Nagy-Keglovich and Happ, "Examining a menu on the basis of the Kasavana-Smith model in a Hungarian restaurant"
https://www.deturope.eu/pdfs/det/2022/01/06.pdf, Deturope, The Central European Journal of Regional Development and Tourism, Vol 14 Issue 1, 2022, pages 111-127, ISSN 1821-2506, read 14 September 2026.
The original Kasavana and Smith paper of 1982 is not freely readable online, so the method in this skill is taken from a peer-reviewed paper by four academics at Széchenyi István University that applies it to four years of real sales data from one restaurant, states every formula it used, and reviews the literature around it. That is a better source for a giveaway skill than a software blog, because it publishes its arithmetic and its objections in the same document.
Three passages did the work. The popularity threshold in step 6 is theirs verbatim: "We then calculated the popularity rate of the Menu Mix (100/number of dishes tested)*70%. This value determines whether a dish has a low or high sales volume. If the distribution ratio of sales for a dish is greater than the popularity rate, it is in the high zone, if it is less, it is in the low zone." The margin line in step 5 is also theirs: "The total margin divided by the total number of portions sold gave the average margin per portion. This value determined whether a dish was low or high margin. Margins above average placed the food in the high zone and margins below average placed the food in the low zone." And the four categories in step 7: "the foods in the Stars quadrant are the ones with the highest margins and the highest sales numbers. Plowhorses include foods with high sales numbers and low margins. Question marks include foods with high margins and low sales. Dogs include low-margin and low-selling foods."
Its literature review is where the paper earns its place over any commercial explainer. It records that "Kasavana and Smith modified the Miller model in 1982 and used contribution margin instead of production costs", that "the only disadvantage of the model is that it clearly records the margin as profit, even though the margin provides a cost and benefit coverage", that "one of the biggest limitations of the MEM (Menu Engineering Model), is that it favours higher priced foods, which in turn reduces demand and profitability", that following Taylor and Brown the models "do not take into account other costs, most notably labor costs", and, in its own limitations section, that "due to the calculation methods, there is an interdependence between the foods on the menu, which is why foods will always be included in all fields". Every one of those became a line the skill is required to print on the worksheet.
Where the skill departs from the source: the paper uses "Question marks" and "Cash cows" in its own table, borrowed from the Boston Consulting Group matrix the model was built on, while quoting Kasavana and Smith's own "Plowhorses". The skill uses the hospitality names throughout, anglicised to ploughhorse and puzzle, because an owner reading a worksheet needs one vocabulary and not two. The paper also analyses a Hungarian restaurant with Hungarian consumer protection law and forint pricing, none of which is carried across, and its seasonality analysis is not part of this skill at all.
2. BC Cook Articulation Committee, "Basic Kitchen and Food Service Management"
https://opentextbc.ca/basickitchenandfoodservicemanagement/chapter/describe-the-principles-of-menu-engineering/, BCcampus Open Education, 2015, CC BY 4.0, read 14 September 2026.
An openly licensed professional cook training textbook. Its menu engineering chapter defines contribution margin as "selling price - cost price" and then makes the point that this skill is built around, with two dishes side by side: chicken at £4.50 cost and £16.50 price, a 27% food cost carrying £12.00 of margin, against steak at £9.00 and £24.00, a 38% food cost carrying £15.00. As it puts it, "in terms of percentage profit, the chicken is higher. However, in terms of money in the till, the steak creates more money that can be used to pay bills." That is why step 5 reports cash per portion and total contribution, and why the skill refuses to rank anything by food cost percentage.
The same chapter also supplied the warning behind step 4. It observes that "in many cases, the food percentage is based on past experiences of the manager, or by a supposed awareness of industry averages. For example, many people simply set their food percentage at 30% and never work out a more appropriate figure." Applying a house percentage across a whole section is the same error wearing a spreadsheet, and it produces a matrix whose margin axis carries no information at all.
Where the skill departs: the textbook treats menu engineering mainly as a pricing exercise, deriving mark-up margins from projected sales, labour and target profit. That is useful and it is a different job. This skill classifies what already sold rather than setting prices, and it deliberately stops short of telling an owner what to charge, because the model cannot see the market, the neighbourhood or the competition across the road.
3. HM Revenue & Customs, "Catering, takeaway food (VAT Notice 709/1)"
https://www.gov.uk/guidance/catering-takeaway-food-and-vat-notice-7091, last updated 8 June 2026, read 14 September 2026.
The UK primary source in the set. It lists among standard-rated supplies "supplies made in restaurants, cafés, canteens and similar establishments", "third party supplies of catering for events and functions, such as wedding receptions, parties or conferences" and "delivery of cooked ready-to-eat food or meals", against zero-rated "retail supplies of cold takeaway food". Its statement that "any supply of food or drink as part of a contract for catering is standard-rated" is the reason step 3 exists.
A till export is a record of what customers handed over. Every figure in it is gross. Subtracting a net plate cost from a gross selling price inflates the contribution margin on every dish, and inflates it most on the dishes with the highest prices, which is the exact axis the matrix sorts on. An uncorrected run therefore pushes expensive dishes towards stars and cheap dishes towards ploughhorses for no reason other than arithmetic, and the owner takes the wrong dish off.
Where the skill departs from the source: it takes one structural fact and nothing else. It does not attempt to rule on the liability of any particular line, on cold takeaway sold alongside restaurant covers, or on mixed supplies, and it tells the owner to have the rate confirmed by their accountant rather than assuming twenty per cent applies to everything on the export.
4. 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 CMA's guidance on the unfair trading provisions of the Digital Markets, Competition and Consumers Act 2024, which "apply to commercial practices which happen from 6 April 2025 onwards". It states that "the practice of showing consumers an initial headline price for a product and subsequently introducing additional mandatory charges as consumers proceed with a purchase or transaction - sometimes called 'drip pricing' - is prohibited."
This matters at exactly one point in the method. The standard advice for a ploughhorse is to improve its margin, and the tempting way to do that without touching a popular dish's menu price is to recover the money elsewhere on the bill after the customer has ordered. Step 8 therefore says the price move happens on the menu, on one dish at a time, where the customer can see it before choosing.
Where the skill departs: it makes no legal assessment of any charge and does not tell an owner what may or may not appear on a bill. It states where a price change belongs and hands the rest to the owner's adviser, which is what the final rule in the skill says.
Best public prompt we found for this job
The closest public artefact is the `restaurant-menu` skill in the `ai-restaurant-claude` repository, https://raw.githubusercontent.com/zubair-trabzada/ai-restaurant-claude/main/skills/restaurant-menu/SKILL.md. The repository has 27 stars, read from api.github.com. It is the only public Claude skill found that names the method directly, describing a "Kasavana matrix (Stars/Plowhorses/Puzzles/Dogs) with pricing recs". The line worth copying is its own caveat, which is more honest than most commercial menu tools manage:
AI-generated menu analysis based on publicly available menu data
What was deliberately not copied, and it is the whole reason this skill exists: that skill derives both axes from the menu rather than from the business. Its contribution margin is "Price − (Price × Estimated Food Cost %)" using "industry benchmarks provided if actual data unavailable", and its popularity is "Estimated based on menu position, descriptors, photo presence, and review mentions". Both axes are then guesses about the same printed page, so the matrix ranks how a menu is laid out and presents the result as how it sells. An owner acting on that would delete a dish that sells well because it sits low on the page without a photograph. This skill refuses to run at all without till data and dated plate costs, and puts anything missing a cost card into a named exclusion list rather than filling it with a benchmark.
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