Stop the leak: 10 AI skills for what your suppliers charge you

waste-log

know what you threw away last week, and what it cost

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: waste-log
description: Turns one week of kitchen bin records into a costed waste log that names the five items losing the most money and the exact change to make to next week's order.
---

# Know what last week cost you, and order less of it

You give a week of notes about what went in the bin, your last delivery invoices, and how many covers you served. You get back one sheet: every item thrown away, what it cost in pounds, why it happened, and five numbered changes to next week's order. Nothing in it is estimated, and where a weight or a price is missing it says so rather than filling the gap.

## What it does

1. **Build the sheet before a single thing is thrown away.** Nine columns, in this order: Date, Service, Item, Category, Weight kg, Cost per kg, Cost, Cause, Logged by. "Service" takes one of five values only: prep, breakfast, lunch, dinner, late. Lock those column names on day one. A log that changes shape halfway through the week cannot be added up at the end of it.

2. **Put a container in each of the four places waste actually happens, and label them.** WRAP's Guardians of Grub guidance for kitchens is to use "small containers" on countertops or "buckets" on floors, and to sort what goes in them into four types: spoilage, preparation, plate waste, and other. Those four are the only values allowed in the Category column. One container per category, sited where that waste is generated, not a single bin by the back door that mixes all four together.

3. **Weigh every container at the end of each service and write the kilos down.** Guardians of Grub names the two tools worth owning: "kitchen scales" or "luggage scales". A luggage scale hooked through a bucket handle is the cheapest way to do it and takes about fifteen seconds. Record weight in kilograms to one decimal place. If a service got missed, write "not weighed" in the Weight column and never write a number that was not read off a scale.

4. **Run seven consecutive days before pricing anything.** Guardians of Grub builds the "baseline" from a "7 day tracker" in week one and then moves to "the calculator tool for a month". Use seven days in a row that include both your quietest day and your busiest, because a Tuesday-to-Thursday sample will rank your items in the wrong order. Do not start pricing on day four; a part week makes every item look smaller than it is and the cheap ones disappear entirely.

5. **Price each line from the last invoice for that item, never from memory.** Find the item on the most recent delivery note, take the pack price and the pack weight, and divide to get cost per kilo. Put that figure in Cost per kg and set Cost to Weight kg multiplied by Cost per kg. Where no invoice can be found, write "price unknown" in Cost per kg, leave Cost empty, and keep the row in the sheet. A guessed price is worse than a gap, because a gap gets chased and a guess gets believed.

6. **Give every row one cause from this fixed list of eight.** Over-ordered, over-prepped, short-dated on delivery, stored badly, portion too large, booking cancelled or no-show, cooked and not sold, trim and peel. Pick exactly one. If a row genuinely does not fit any of them, write the cause in plain words and flag it for the owner, but do not add a ninth standing category, because the value of this log is that the same eight causes can be counted again next week and compared.

7. **Total by item, rank by money, and ignore the weight order.** Sum the Cost column for each distinct item and sort highest cost first. Potato peel normally wins on weight and loses on money; a tray of prepped fish loses on weight and wins on money. Show the weight ranking in a column beside the money ranking so the gap between them is visible, then take every decision from the money column.

8. **Cut the ranking to the five items carrying the most cost and turn each into one change to the order.** Each change names the supplier, the exact line on their order sheet, the new quantity in the unit that supplier actually sells, and the delivery day it starts. "Reduce Thursday's salmon order from 12 kg to 9 kg with Smith's" is a change. "Order less fish" is not. Where the cause was over-prepped rather than over-ordered, the change is a par level written the same way: from A to B, starting on a named day.

9. **Write the one-page summary and set the repeat date.** State the week's total priced cost, the total weight of the weighed rows, and the cost per cover, which is the priced cost divided by the covers served that week. WRAP puts the sector's food waste at "an average of £10k per outlet, per year", which is roughly £192 a week, so say plainly whether this week sits above or below that marker. Close with the date of the next seven-day count and a line noting that under Simpler Recycling in England, GOV.UK states "You must collect food waste, even if the workplace does not serve food or have a kitchen", which applied from 31 March 2025 to workplaces with 10 or more full-time equivalent staff and applies from 31 March 2027 to those with fewer.

## Then it checks

1. Every row carries a date, a service, an item name, a category, either a weight to one decimal place or the words "not weighed", and one cause. No cell is left silently blank.
2. The Category value on every row is exactly one of spoilage, preparation, plate waste, other. No fifth value appears anywhere in the sheet.
3. On every priced row, Cost equals Weight kg multiplied by Cost per kg, correct to the penny. Rows marked "price unknown" have an empty Cost and are left out of every total rather than counted as zero.
4. The sheet covers seven consecutive dates. Any of those dates with no waste recorded appears with the words "nothing recorded", so a day nobody logged cannot be read as a clean day.
5. The watch list holds exactly five items, each with exactly one numbered change, and each change names a supplier, a quantity with its unit, and a day of the week.
6. The summary's total priced cost equals the sum of the Cost column, its total weight equals the sum of the weighed rows only, and the cost per cover is shown alongside the covers figure it was divided by.

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.
- Never write a weight that was not read off a scale, or a price that is not on an invoice. This log exists to change a real order with a real supplier, and one invented kilo moves an item up or down the ranking and cuts the wrong line on the wrong order sheet.
- Never turn "price unknown" into £0 or into an average of the other items. A zero quietly drops that item out of the watch list, so the one thing nobody could price becomes the one thing nobody ever looks at, which is the exact opposite of what the log is for.
- Never suggest keeping, re-serving, re-labelling, freezing after the fact or donating food that is past its use-by date. GOV.UK is blunt: "Use-by dates on food labels tell you when the food is no longer safe to eat." Recovering a few pounds that way risks making a customer ill, which ends the business rather than the waste.
- This log is a working document prepared for the owner to check with their environmental health officer and their accountant. It is a record of what was thrown away and what it cost. It is not food safety advice, it is not a HACCP or due diligence record, and it does not replace either.

## Built from
- WRAP, "Frequently Asked Questions for the Hospitality and Food Service sector", https://guardiansofgrub.com/faqs/, no publication date shown, read 13 September 2026: gave the four waste categories, the containers and scales, and the seven-day baseline that steps 2, 3 and 4 follow exactly.
- WRAP, "Resources", https://guardiansofgrub.com/resources/, no publication date shown, read 13 September 2026: named the 7 Day Tracking Sheet, the Food Tracking Calculator and the Stock Control Sheet, which is why this skill produces a fixed seven-day sheet rather than an open-ended running list.
- WRAP, "Hospitality and food service", https://www.wrap.ngo/taking-action/food-drink/sectors/hospitality-food-service, no publication date shown, read 13 September 2026: the £3.2 billion sector cost and the £10k per outlet per year average used as the weekly marker in step 9.
- Department for Environment, Food and Rural Affairs on GOV.UK, "Simpler recycling: workplace recycling in England", https://www.gov.uk/guidance/simpler-recycling-workplace-recycling-in-england, published 29 November 2024 and last updated 3 October 2025: the separate food waste duty and the 31 March 2025 and 31 March 2027 dates quoted in step 9.
- GOV.UK, "Best before and use-by dates", https://www.gov.uk/understanding-food-labelling/best-before-and-use-by-dates, no publication date shown, read 13 September 2026: the use-by wording behind the rule that nothing past its use-by date is ever recovered to save money.

Prompt for Codex

# waste-log

## You are given
A folder from a UK hospitality business covering seven consecutive days: the handwritten or photographed bin records from each service, the delivery notes and invoices for the same period and the weeks before it, and a note of the covers served each day. The seven dates, the site name and the covers figure are supplied in a text file. Assume the bin records are photographs of a clipboard, some services were never weighed, and several items have no invoice anybody can find.

## Produce
Write into an `output/` folder next to the inputs:

1. `waste-log.csv` with these nine columns in this order and no others: `Date`, `Service`, `Item`, `Category`, `Weight kg`, `Cost per kg (GBP)`, `Cost (GBP)`, `Cause`, `Logged by`.
   `Service` holds exactly one of: `prep`, `breakfast`, `lunch`, `dinner`, `late`.
   `Category` holds exactly one of: `spoilage`, `preparation`, `plate waste`, `other`.
   `Cause` holds exactly one of: `over-ordered`, `over-prepped`, `short-dated on delivery`, `stored badly`, `portion too large`, `booking cancelled or no-show`, `cooked and not sold`, `trim and peel`, or plain words flagged in `causes-off-list.csv`.
   `Weight kg` is a number to one decimal place, or the words `not weighed`.
2. `item-ranking.csv` with columns: `Money rank`, `Item`, `Total cost (GBP)`, `Total weight kg`, `Weight rank`, `Rank gap`, `Most common cause`, `Priced rows`, `Unpriced rows`. Sorted by `Total cost (GBP)`, highest first.
3. `cause-totals.csv` with columns: `Cause`, `Rows`, `Weight kg`, `Cost (GBP)`, `Share of priced cost %`. One row per cause on the list, including causes with zero rows.
4. `category-totals.csv` with columns: `Category`, `Rows`, `Weight kg`, `Cost (GBP)`, `Share of priced cost %`. Exactly four rows.
5. `pricing.csv` with columns: `Item`, `Supplier`, `Supplier product code`, `Delivery note or invoice number`, `Invoice date`, `Pack price net of VAT (GBP)`, `Pack weight kg`, `Cost per kg (GBP)`. One row per distinct item priced, so the division can be checked.
6. `price-unknown.csv` with columns: `Item`, `Rows affected`, `Weight kg`, `What was looked for`, `Where it was looked for`, `Supplier if known`. These rows stay in `waste-log.csv` with an empty `Cost (GBP)` and are excluded from every total rather than counted as zero.
7. `watch-list.csv` with exactly five rows and these columns in this order: `Money rank`, `Item`, `Total cost (GBP)`, `Cause`, `Supplier`, `Line on that supplier's order sheet`, `Quantity now`, `Quantity from next week`, `Unit the supplier actually sells`, `Delivery day it starts`. Where the cause was `over-prepped` rather than `over-ordered`, the change is written as a par level from A to B starting on a named day, in the same columns.
8. `daily-totals.csv` with columns: `Date`, `Day of week`, `Services logged`, `Rows`, `Weight kg`, `Cost (GBP)`, `Covers`, `Cost per cover (GBP)`. Seven rows. A date with nothing recorded appears with the words `nothing recorded` and is not shown as a clean day.
9. `summary.md` - the week's total priced cost, the total weight of the weighed rows only, the covers served that week, the cost per cover, a plain statement of whether the week sits above or below the £192 weekly marker taken from the skill's own source note, the five numbered changes from `watch-list.csv`, and the date of the next seven-day count.
10. `causes-off-list.csv` with columns: `Date`, `Service`, `Item`, `Cause as written`, `Why none of the eight fit`. Empty where every row took one of the eight causes.
11. `README.md` - the files read, the seven dates covered, the number of rows logged, the number of unpriced rows, and the services that were never weighed.

## Rules
- Never write a weight that was not read off a scale. A service that was missed reads `not weighed` in the `Weight kg` column.
- Never write a price that is not on an invoice or delivery note. Prices go in net of VAT and are labelled as such, taken as the pack price divided by the pack weight from the most recent delivery note for that item.
- Never turn `price unknown` into £0 or into an average of the other items. The row keeps its weight, keeps its place in the log, and is left out of every cost total.
- `Cost (GBP)` must equal `Weight kg` multiplied by `Cost per kg (GBP)` to the penny on every priced row.
- No fifth `Category` value may appear anywhere. No sixth `Service` value may appear anywhere.
- A cause that genuinely fits none of the eight is written in plain words and listed in `causes-off-list.csv` with columns: `Date`, `Service`, `Item`, `Cause as written`, `Why none of the eight fit`. Never add a ninth standing category.
- The sheet must cover seven consecutive dates. A date with no waste recorded appears with `nothing recorded`.
- Rank by money, not by weight, and show the weight ranking beside the money ranking so the gap is visible. Every change on the watch list comes from the money column.
- Every change on the watch list names a supplier, a line on that supplier's order sheet, a quantity with the unit the supplier actually sells, and a day of the week. `Order less fish` is not a change.
- The summary's total priced cost must equal the sum of the `Cost (GBP)` column, and its total weight must equal the sum of the weighed rows only.
- Never write a line suggesting that food past its use-by date be kept, re-served, re-labelled, frozen after the fact or donated.
- Round only at the point of display, to two decimal places. Weights stay at one decimal place.
- Use British English, £, and DD Month YYYY dates. No em dashes.
- The output is a working document prepared for the owner to check with their environmental health officer and their accountant. It records what was thrown away and what it cost. Write no sentence that presents it as food safety advice, a HACCP record or a due diligence record.

## Return
A list of the files written with their absolute paths, the number of rows logged, the number priced and the number unpriced, the week's total priced cost, the total weighed kilograms, the cost per cover with the covers figure beside it, whether the week sits above or below the £192 marker, the five items on the watch list, and any of the seven dates reading `nothing recorded`.

Built from the best public work on this

Sources for waste-log

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

1. WRAP, "Frequently Asked Questions for the Hospitality and Food Service sector"

https://guardiansofgrub.com/faqs/, no publication date shown on the page, read 13 September 2026.

Guardians of Grub is WRAP's food waste campaign aimed directly at professional kitchens, and this FAQ page is the only place on the site that sets out the physical method in plain operational terms rather than in campaign language. It is where three of the nine steps come from. It says to use "small containers" on countertops or "buckets" on floors to capture waste at the point it happens, to weigh with "kitchen scales" or "luggage scales", and to sort waste into four types: spoilage, preparation, plate waste and other. Those four became the only permitted values in the Category column, and the check that no fifth category may appear exists because a kitchen that invents a fifth one mid-week destroys the comparison with the following week. The page also describes building a "baseline" with a "7 day tracker" in week one and then moving to "the calculator tool for a month", which is why step 4 forbids pricing anything until seven consecutive days are complete. Where this skill departs from the source is on siting: the FAQ offers containers or buckets as alternatives, and this skill insists on one labelled container per category, because a single mixed bin makes the category column guesswork and guesswork is the failure this whole document is built to avoid.

2. WRAP, "Resources"

https://guardiansofgrub.com/resources/, no publication date shown on the page, read 13 September 2026.

This is the download library behind the campaign. It lists the 7 Day Tracking Sheet, described as helping businesses "easily monitor and measure food thrown away over a 7 day period", along with a Food Tracking Calculator, a Tracking Calculator Guide, a Stock Control Sheet, a Starter Guide and a Plate Waste Toolkit. Two decisions came from it. First, the output of this skill is a fixed seven-day sheet with seven dated sections rather than a rolling list, matching the shape of the free tool an owner may already have printed out and stuck to the wall. Second, the existence of a separate Stock Control Sheet is why step 8 pushes the result out to a supplier order line and a par level rather than stopping at a total, because WRAP itself treats stock control as the place where measurement turns into money saved. The disagreement is about the calculator. WRAP's calculator converts weight into cost and carbon for you. This skill does not use it, and instead prices every line from the owner's own most recent invoice, because a sector conversion rate can tell an owner what their waste is worth in general and cannot tell them which line on Thursday's order from which supplier to cut. The whole purpose here is the order change, so the pricing has to be traceable to a real delivery note.

3. WRAP, "Hospitality and food service"

https://www.wrap.ngo/taking-action/food-drink/sectors/hospitality-food-service, no publication date shown on the page, read 13 September 2026.

WRAP's sector landing page carries the headline figure this skill uses as its only benchmark: "Food waste costs the hospitality and food service sector £3.2 billion every year", with "an average of £10k per outlet, per year". The arithmetic in step 9, roughly £192 a week, is this skill's own division of that annual average by 52 and is presented as such rather than as a published weekly figure. It is used as a rough marker, and the skill says so out loud, because that £10k average spans motorway service areas, contract caterers and thirty-cover bistros, so a small independent sitting under it has learned very little and one sitting over it has learned something worth acting on. The Guardians of Grub homepage, read the same day, adds that around 1.1 million tonnes is thrown away across the sector and that "75% of the food wasted could have been eaten", which is the reason the log separates preparation waste from spoilage and plate waste rather than lumping all bin content together: three quarters of it was sellable food, and only the categories tell you which quarter you are looking at.

4. Department for Environment, Food and Rural Affairs on GOV.UK, "Simpler recycling: workplace recycling in England"

https://www.gov.uk/guidance/simpler-recycling-workplace-recycling-in-england, published 29 November 2024, last updated 3 October 2025.

This is the legal backdrop, and it is the reason a waste log is now a practical document rather than an optional exercise. The guidance is unambiguous that food waste is a mandatory separate stream: "You must collect food waste, even if the workplace does not serve food or have a kitchen." It took effect on 31 March 2025 for workplaces with 10 or more full-time equivalent employees, and micro-firms with fewer than 10 have until 31 March 2027. It also says food waste should not be stored for longer than two weeks. Step 9 carries these dates into the summary because most independent operators reading this pack sit in the micro-firm band and have a 2027 deadline they may not know about, and because a business already separating food waste by law is one container away from being able to weigh it. This skill takes nothing else from the page. It deliberately does not build the log around waste destinations such as anaerobic digestion, composting or sewer, which corporate reporting frameworks require, because a fifty-cover restaurant cannot act on a destination split and the extra columns would be filled in badly or not at all.

5. GOV.UK, "Best before and use-by dates"

https://www.gov.uk/understanding-food-labelling/best-before-and-use-by-dates, no publication date shown on the page, read 13 September 2026.

This page draws the line the skill must never cross. It states that "Use-by dates on food labels tell you when the food is no longer safe to eat" and that "Eating food after the use-by date could make you ill", and it separates that from best before, after which "the food is usually safe to eat but may not be of the same quality." A cost-saving document is exactly the kind of thing that starts nudging a kitchen towards stretching a date, so the rule forbidding any suggestion of keeping, re-serving, re-labelling or donating food past its use-by date is written into the skill rather than left to judgement. The page does note that food cooked or frozen on or before the use-by date can be used afterwards, within 48 hours if cooked or 24 hours after defrosting. This skill deliberately does not offer that as a waste-reduction tactic, which is a departure from what the source permits. The reason is that this page is written for people at home; a commercial kitchen doing the same thing needs it written into its own documented procedures and agreed with its environmental health officer, and a free skill in a downloadable pack is not the place it should first appear.

Best public prompt we found for this job

There is no public prompt, agent file or SKILL.md for hospitality food waste logging that we could find and load. GitHub's repository search for food waste tracking in restaurants returns 126 repositories, all of them applications rather than prompts, and the largest, `DEVARAJ-07/Feed_the_need`, is a surplus food donation platform with 8 stars, which is a different job entirely. The closest usable public artefact is the `xlsx` skill in `anthropics/skills` (176,020 stars, read from api.github.com), which is about producing a spreadsheet somebody else will keep using, and this line is the one worth copying:

**Use formulas, never hardcoded results.** Write `sheet['B10'] = '=SUM(B2:B9)'`, not the Python-computed total. The sheet must recalculate when its inputs change.

That is the right instinct for a waste log, because the sheet will be corrected after it is handed over. A cook will remember a bucket that was never weighed and a price will turn out to be from the wrong invoice, and a log whose totals were typed in as text becomes quietly wrong the moment that happens, while still looking authoritative on the wall.

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.