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

spec-sheet

describe what you buy so nobody can quietly swap it

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: spec-sheet
description: Turns a list of the things you buy into written purchase specifications that fix grade, size, pack, origin, temperature and the tolerance you will accept, so a supplier cannot swap the product without it being obvious.
---

# Know exactly what you are buying, so nobody can swap it

You give this the lines you buy most and whatever paperwork you already hold: delivery notes, invoices, supplier product sheets, your menu. You get back one page per line that says precisely what the product is, how much variation you will take, what it must arrive at, and what happens when it does not. It is written to be sent to the supplier and signed, and to be read later by anyone asking why the dish changed.

## What it does

1. **Pick the lines that are worth a specification before writing a single one.** Take three months of delivery notes and rank every product line by total money spent. Take the top twenty, then add anything your menu names on the plate: the Cornish crab, the 28-day aged sirloin, the Sicilian lemons. Those get a sheet each. A spec sheet on your cling film is wasted effort; a spec sheet on the thing the menu makes a promise about is not.

2. **Name the product the way a dispute would need it named, not the way the kitchen says it.** Write one line covering what it is, the variety or cut, and the state it arrives in. "Tomato, Piccolo cherry, on the vine, unwashed, loose" rather than "cherry toms". For meat, name the cut, the trim and the maturation: "Beef sirloin, striploin, fully trimmed, matured 28 days minimum". If two suppliers could read your line and send two different things, the line is not finished.

3. **Fix the grade, and write the grade's own legal tolerance beside it.** For fresh produce the classes are set in law and GOV.UK defines them plainly: Extra Class is "superior quality produce that's regular in shape and appearance with only very slight defects", Class I is "good quality produce that has minor defects to the skin or shape", and Class II is "reasonably good quality produce that may have one or more defects such as some bruising, damage or change in colour" (GOV.UK, "Comply with marketing standards for fresh fruit and vegetables", updated 8 May 2024). The law then says how much of a case is allowed to miss: for Class I apples, "A total tolerance of 10 per cent, by number or weight, of apples not satisfying the requirements of the class, but meeting those of Class II is allowed" (assimilated Commission Implementing Regulation (EU) No 543/2011, Annex I). Write both the class and the percentage on your sheet, and if the menu names the dish, negotiate the percentage down to 5 and write that instead.

4. **Fix the size with a number and a unit, and give the size its own tolerance line.** Produce packs under a specific marketing standard must already carry "size, weight range or number of items", so ask for the grower's own figure and copy it rather than inventing one. Write the piece weight as a range in grams (sea bass, 400g to 600g each), the count per case, and the net case weight. Then write the size tolerance separately from the quality tolerance, because the law treats them separately: the same regulation allows "a total tolerance of 10 per cent, by number or weight, of apples not satisfying the requirements as regards sizing". Never write "large", "medium" or "good size".

5. **Fix the pack, and say which weight you are paying on.** State the net weight per case, the count of inner units, what the inners are (vac pack, punnet, crate, IQF loose), and whether the case is returnable. Say explicitly that the price is per kilo of net weight, not gross, so ice glaze on frozen fish and water in a vac pack are not being invoiced as product. GOV.UK's labelling guidance requires prepacked food to carry its "weight or volume", so for prepacked lines the number is on the pack already and your sheet should match it exactly. Where it does not match, that is the first thing to raise.

6. **Write the country of origin in full, and say whether it is allowed to change.** The marketing standards require the "country of origin in full (do not use abbreviations or flags)" on the pack, so your sheet should be written the same way: Scotland, not Scot, not a saltire. GOV.UK's labelling guidance adds that you must "State a product's country of origin or place of provenance on the label if the words or pictures on the packaging imply that it comes from somewhere else". If your menu says Cornish, your sheet says Cornwall and adds one sentence: origin may not change without your written agreement before the order is picked.

7. **Set the temperature the goods must arrive at, and the reading that triggers a rejection.** In England it is an offence to keep food needing refrigeration "at a temperature above 8°C", and an offence to keep cooked food that must be held hot "at a temperature below 63°C" (The Food Safety and Hygiene (England) Regulations 2013, Schedule 4, paragraphs 2(1) and 6). Write the working target and the rejection point as two different numbers: chilled goods target 5°C or below, reject above 8°C; frozen goods target minus 18°C, reject above minus 15°C. Add that the delivery driver waits while you probe the load and that the reading goes on the delivery note in ink before anyone signs.

8. **Write the allergen and ingredient block from the supplier's own paperwork, and make them warn you before they reformulate.** GOV.UK's allergen guidance for food businesses says ingredient information should be "recorded on product specification sheets", and that allergen information must be "included in recipes or explanations of the dishes provided", so "you need to consider the impact when recipes change" (updated 17 July 2026). List which of the fourteen are present: celery, cereals containing gluten, crustaceans, eggs, fish, lupin, milk, molluscs, mustard, peanuts, sesame, soybeans, sulphur dioxide and sulphites above 10ppm, and tree nuts. Name the supplier document and its date that each statement came from, and write a clause requiring 14 days' written notice of any change to ingredients, recipe or factory.

9. **Close the sheet with shelf life, the substitution clause, and a signature.** State the minimum life remaining on arrival as a number of days against the date mark, and note which mark applies, because GOV.UK's labelling guidance warns that "It's a criminal offence to sell food that's past its 'use by' date". Then write the substitution rule in one sentence: no alternative product is accepted unless agreed in writing before the order is picked, and an unagreed substitute is a refused delivery rather than a credit note conversation. Email the finished sheet to a named person at the supplier, ask for it back signed and dated, and keep the signed copy with the invoices for that line.

## Then it checks

1. Every sheet has all eight fields completed: product name, grade, size, pack, origin, arrival temperature, shelf life on arrival, allergens. No field reads "standard", "as before", "as discussed" or "n/a".
2. Every quality line and every size line carries a number with a unit next to it: a percentage, a gram or kilo range, or a count. Searching a finished sheet for the words good, fresh, large, premium, quality or best returns nothing.
3. Every grade named is one a supplier can be held to and a third party can check (Extra Class, Class I, Class II, Class A eggs, a named cut and trim), not a word invented for the sheet.
4. The country of origin is spelled out in full with no abbreviation and no flag, and it matches what the menu claims for every dish that uses the line.
5. The allergen block either names which of the fourteen are present or states that none are, and in both cases names the supplier document and its date that the statement was taken from.
6. The sheet carries a date, one named contact at the supplier, and one sentence stating what happens to a delivery that misses the spec.

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 invent a grade, a tolerance percentage, a size range or a country of origin. This sheet is the document you will put in front of a supplier who is arguing, and in front of an inspector who is not. One invented figure lets the supplier throw out the whole sheet, and you end up worse off than if you had never written it.
- Never write an allergen line the supplier has not given you in writing. A "free from" or a "may contain" copied off a website, a catalogue or somebody's memory travels straight onto your menu, and if it is wrong a customer can be seriously harmed and your own sheet becomes the proof you got it wrong. Leave the field blank, write who you have asked and when, and chase them.
- Never smooth over a gap to make the page look finished. Where the origin, the grade or the pack weight is genuinely unknown, write "not supplied by [contact] as at [date]" in the field. A visible hole gets filled; a plausible guess gets believed and repeated for years.
- This output is a working document prepared for the owner's solicitor, accountant and Environmental Health Officer to check before it is relied on, signed or sent to a supplier. It records what UK food law and marketing standards said on the day it was written. It is not legal advice, it is not an allergen declaration to your customers, and it does not replace your own food safety management system or your own checks on delivery.

## Built from
- GOV.UK and the 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: the list of the fourteen allergens, the instruction that ingredient information belongs on product specification sheets, and the warning to consider the impact when a recipe changes, which is where step 8's 14 days' notice clause comes from.
- GOV.UK (Rural Payments Agency), "Comply with marketing standards for fresh fruit and vegetables", https://www.gov.uk/guidance/comply-with-marketing-standards-for-fresh-fruit-and-vegetables, updated 8 May 2024: the plain-English definitions of Extra Class, Class I and Class II, and the rule that country of origin is written in full without abbreviations or flags.
- legislation.gov.uk, "Commission Implementing Regulation (EU) No 543/2011, Annex I", https://www.legislation.gov.uk/eur/2011/543/annex/I, assimilated EU law of 2011, no revision date shown on the page, read 13 September 2026: the actual numeric tolerances, 5 per cent for Extra Class and 10 per cent for Class I and Class II, plus the separate 10 per cent sizing tolerance that step 4 keeps on its own line.
- legislation.gov.uk, "The Food Safety and Hygiene (England) Regulations 2013, Schedule 4", https://www.legislation.gov.uk/uksi/2013/2996/schedule/4/made, made 2013, read 13 September 2026: the 8°C chilled offence threshold and the 63°C hot holding threshold that step 7 uses as rejection points rather than as targets.
- GOV.UK, "Food labelling: giving food information to consumers", https://www.gov.uk/guidance/food-labelling-giving-food-information-to-consumers, updated 20 September 2022: the country of origin trigger, the requirement for net weight or volume on prepacked food, and the fact that selling food past its use by date is a criminal offence, which sets the shelf life field in step 9.

Prompt for Codex

# spec-sheet

## You are given
A folder from a UK hospitality business containing any of: three months of delivery notes and invoices, supplier product specification sheets and allergen declarations, the current menu, and a note of the named contact at each supplier. A text file may list the lines the owner has already decided need a sheet and any tolerance that has been negotiated down. Assume the supplier sheets cover some lines and not others, the allergen paperwork is missing for several, and the menu names products the delivery notes describe differently.

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

1. `spend-ranking.csv` with these columns in this order: `Rank`, `Supplier`, `Supplier product code`, `Description as printed`, `Cases or units bought`, `Total spend net of VAT (GBP)`, `Named on the menu` (yes/no), `Menu wording`, `Sheet written` (yes/no). Ranked by spend, highest first, across three months of delivery notes.
2. `spec-<product-slug>.md` - one page per line, one file each, for the top twenty by spend plus every line the menu names on the plate. Each file carries, in this order: the product name written the way a dispute would need it named; grade with the grade's own tolerance percentage; size as a range with a unit, count per case and net case weight, with the size tolerance on its own separate line; pack, inner units, what the inners are, whether the case is returnable, and which weight the price is paid on; country of origin in full; arrival temperature as two numbers, a working target and a rejection point; minimum shelf life on arrival in days against the named date mark; the allergen block; the substitution clause; the supplier's named contact; the date; and a signature and date block for the supplier to return.
3. `spec-sheets.csv` - one row per sheet, with these columns in this order: `Supplier`, `Supplier product code`, `Product name`, `Grade`, `Quality tolerance %`, `Size range`, `Count per case`, `Net case weight`, `Size tolerance %`, `Pack`, `Inner units`, `Weight paid on` (net or gross), `Country of origin in full`, `Origin may change without written agreement` (yes/no), `Chilled or frozen target (degrees C)`, `Rejection point (degrees C)`, `Minimum shelf life on arrival (days)`, `Date mark type` (use by or best before), `Allergens present`, `Allergen document`, `Allergen document date`, `Supplier contact`, `Sheet date`.
4. `missing-fields.csv` with columns: `Product`, `Supplier product code`, `Field`, `What was looked for`, `Who was asked`, `Date asked`, `Wording written into the sheet`. The wording written into the sheet is always `not supplied by <contact> as at <date>`.
5. `vague-words.csv` with columns: `File`, `Line number`, `Word found`, `Field it appears in`. Search every finished sheet for `good`, `fresh`, `large`, `medium`, `premium`, `quality`, `best`, `standard`, `as before`, `as discussed` and `n/a`. This file must come out empty.
6. `menu-origin-check.csv` with columns: `Menu dish`, `Menu wording`, `Supplier product code`, `Country of origin on the spec sheet`, `Source document for that origin`, `Matches the menu claim` (yes / no / origin not supplied).
7. `allergen-gaps.csv` with columns: `Product`, `Supplier product code`, `Supplier`, `Contact asked`, `Date asked`, `Document requested`, `Field left blank`. Every line where no written allergen statement from the supplier was supplied.
8. `covering-email-<supplier-slug>.md` - one file per supplier, addressed to the named contact, listing the sheets attached, asking for each back signed and dated, and asking for 14 days' written notice of any change to ingredients, recipe or factory.
9. `README.md` - the files read, the delivery note date range, the number of lines ranked, the number of sheets written, the number of fields left blank, and the number of lines with no written allergen statement.

## Rules
- Never invent a grade, a tolerance percentage, a size range, a count, a pack weight or a country of origin. Where any of these is genuinely unknown, write `not supplied by <contact> as at <date>` in the field and add a row to `missing-fields.csv`.
- Never write an allergen line the supplier has not given in writing. Leave the field blank, record who was asked and when in `allergen-gaps.csv`, and write nothing copied from a website, a catalogue or a description.
- Every grade named must be one a third party can check: Extra Class, Class I, Class II, Class A eggs, or a named cut and trim. Write the grade and its own tolerance percentage. Where the owner has negotiated a tighter percentage, write the negotiated figure and name the document that agreed it.
- Keep the quality tolerance and the size tolerance on separate lines. They are separate figures and must never be merged into one.
- Write the country of origin in full, with no abbreviation, no shortened form and no flag.
- Write the arrival temperature as two numbers, a working target and a rejection point, never as one.
- Every quality line and every size line carries a number with a unit: a percentage, a gram or kilogram range, or a count.
- Prices, where any appear, go in net of VAT and are labelled as such. The spend ranking is built from the delivery notes and invoices supplied, never from a price list.
- Every field on a finished sheet is completed or carries the `not supplied` wording. No field may read `standard`, `as before`, `as discussed` or `n/a`.
- Each sheet carries a date, one named contact at the supplier, and one sentence stating what happens to a delivery that misses the spec.
- Use British English, £, and DD Month YYYY dates. No em dashes.
- The output is a working document prepared for the owner's solicitor, accountant and environmental health officer to check before it is relied on, signed or sent. It is not an allergen declaration to customers and does not replace the business's own food safety management system. Write no sentence that presents it as any of those.

## Return
A list of the files written with their absolute paths, the number of lines ranked by spend, the number of sheets written, the number of fields carrying `not supplied`, the number of lines with no written allergen statement, every row in `menu-origin-check.csv` that does not match the menu claim, and the contents of `vague-words.csv` or the line `NO VAGUE WORDS FOUND`.

Built from the best public work on this

Sources for spec-sheet

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

1. GOV.UK and the 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.

This is the Food Standards Agency's main guidance for caterers and retailers on allergen information, now hosted on GOV.UK. The FSA's own address for it, https://www.food.gov.uk/business-guidance/allergen-guidance-for-food-businesses, returns a 301 redirect to this page, so this is the live location. Three things in the skill come from it. First, the list of the fourteen allergens in step 8 is taken verbatim from the page's own list: celery, cereals containing gluten, crustaceans, eggs, fish, lupin, milk, molluscs, mustard, peanuts, sesame, soybeans, sulphur dioxide and sulphites above 10ppm, and tree nuts. Second, the page states that ingredient information should be "recorded on product specification sheets", which is the direct authority for the whole exercise: the specification sheet is not a nicety the skill invented, it is where the regulator expects this information to live. Third, the page says allergen information must be "included in recipes or explanations of the dishes provided" and that "you need to consider the impact when recipes change", which is what step 8 turns into a hard 14 days' written notice clause on the supplier. Where the skill goes further than the source: the guidance permits allergen information for loose, non-prepacked food to be given "verbally with a visible notice explaining access to allergen details", and the skill refuses to accept a verbal statement from a supplier for a spec sheet at all. That is deliberate. A verbal answer at the back door is legal for telling a customer, but it is not evidence, it cannot be produced eighteen months later, and it cannot be compared against the next version of the product. The skill treats an unwritten allergen answer as a blank field.

2. GOV.UK (Rural Payments Agency), "Comply with marketing standards for fresh fruit and vegetables"

https://www.gov.uk/guidance/comply-with-marketing-standards-for-fresh-fruit-and-vegetables, updated 8 May 2024.

This is the operational guidance behind the Specific Marketing Standard (SMS) and General Marketing Standard (GMS) regimes, and it is the only place a non-technical reader gets the produce grades described in language they can use in a phone call. The skill takes its grade vocabulary straight from here: Extra Class as "superior quality produce that's regular in shape and appearance with only very slight defects", Class I as "good quality produce that has minor defects to the skin or shape", and Class II as "reasonably good quality produce that may have one or more defects such as some bruising, damage or change in colour". Step 6's origin rule is also from this page, which requires packs to show the "country of origin in full (do not use abbreviations or flags)". Step 4's instruction to copy the grower's own size figure rather than invent one comes from the same labelling list, which requires "size, weight range or number of items" and "net weight or the number of items (unless the number can be clearly seen)". The page also gives the GMS minimum requirements (intact, sound, clean, free from pests, sufficiently developed or ripe but not overdeveloped or overripe) and notes that lettuce cannot be graded Extra Class. Where the skill departs from the source: these standards are marketing law aimed at the person selling produce, and they have no legal force over a butcher, a fishmonger or a dry goods supplier. The skill nonetheless tells the owner to use this vocabulary as a purchasing vocabulary across all lines. That is a commercial choice, not a legal one, and the skill is explicit that a grade must be one a third party can check, so a made-up "Class I beef" would fail its own check 3.

3. legislation.gov.uk, "Commission Implementing Regulation (EU) No 543/2011, Annex I"

https://www.legislation.gov.uk/eur/2011/543/annex/I, assimilated EU law dating from 2011, no revision date shown on the page, read 13 September 2026.

This is the primary legal text that sits underneath the GOV.UK guidance above, and it is the only source read that gives actual numbers for how much of a case is allowed to be wrong. For apples it states that in Extra Class "A total tolerance of 5 per cent, by number or weight, of apples not satisfying the requirements of the class, but meeting those of Class I is allowed"; in Class I "A total tolerance of 10 per cent, by number or weight, of apples not satisfying the requirements of the class, but meeting those of Class II is allowed"; and in Class II "A total tolerance of 10 per cent, by number or weight, of apples satisfying neither the requirements of the class nor the minimum requirements is allowed". Critically for the skill, it keeps sizing in a separate tolerance: "For all classes: a total tolerance of 10 per cent, by number or weight, of apples not satisfying the requirements as regards sizing is allowed." That separation is the reason steps 3 and 4 are two steps and not one, and the reason check 2 demands a number on the quality line and a number on the size line independently. The annex read on this date covered apples, citrus fruit, kiwifruit, lettuces and endives, and peaches and nectarines; it did not contain a tomato standard, so no tomato tolerance is quoted anywhere in the skill. Where the skill disagrees with the source, and this is the most useful disagreement in the pack: the law's tolerance is a ceiling on what a supplier may lawfully send, and the skill treats it as a starting point for negotiation rather than a target. A restaurant that accepts the full legal 10 per cent on a line its menu names by origin is accepting that one plate in ten can be visibly worse than the promise. Step 3 therefore tells the owner to push the figure down to 5 per cent on menu-named lines and write that number on the sheet, because a tolerance you agreed is enforceable and a tolerance you inherited is not.

4. legislation.gov.uk, "The Food Safety and Hygiene (England) Regulations 2013, Schedule 4"

https://www.legislation.gov.uk/uksi/2013/2996/schedule/4/made, made in 2013, read 13 September 2026.

The temperature control schedule, and the source of the two numbers in step 7. Paragraph 2(1) makes it an offence where "any person who keeps any food ... at or in food premises at a temperature above 8°C commits an offence", and paragraph 6 makes it an offence to keep cooked or reheated food that must be held hot "at a temperature below 63°C". The schedule also contains the two service tolerances often quoted loosely in trade articles: food for service or display may be kept above 8°C "for a period of less than four hours" where it has not previously been so kept (paragraph 5(1)), and hot food may be held below 63°C "for a period of less than two hours" on the same once-only basis (paragraph 7(2)). The skill deliberately does not put those two tolerances on a purchase specification, because they are service concessions inside the kitchen and have nothing to do with what a van is allowed to arrive at. Where the skill goes beyond the source: the law gives one number, 8°C, and the skill asks the owner to write two, a target of 5°C and a rejection point of 8°C. The reason is that 8°C is the point at which an offence has already been committed, so a delivery accepted at 7.9°C leaves the owner no margin at all for the walk from the van to the fridge. Writing the legal limit as the rejection point and a tighter figure as the working target is standard practice and is the skill's own recommendation, not a requirement of the regulations.

5. GOV.UK, "Food labelling: giving food information to consumers"

https://www.gov.uk/guidance/food-labelling-giving-food-information-to-consumers, updated 20 September 2022.

The general labelling guidance for prepacked food, which gives the skill three of its fields. On origin it says "State a product's country of origin or place of provenance on the label if the words or pictures on the packaging imply that it comes from somewhere else", and separates "country of origin", meaning where production occurred, from "place of provenance", which may point at a region or several countries. That distinction is why step 2 asks for the variety or cut and step 6 asks for the origin in full, rather than letting one vague phrase do both jobs. On pack it confirms that prepacked food must carry its weight or volume and that the name, net quantity and alcoholic strength must be visible in a single field of vision, which is the basis for step 5's instruction to match the sheet to the pack and raise any mismatch. On dates it states flatly that "It's a criminal offence to sell food that's past its 'use by' date", which is what turns step 9's minimum life on arrival from a preference into a commercial necessity. It also says businesses should "describe on the label any special storage conditions or instructions if consumers will need them to use the food appropriately". Where the skill disagrees with the source: this guidance only compels a country of origin statement in defined circumstances, principally where the packaging would otherwise mislead, whereas the skill asks for origin on every single sheet without exception. That is because the sheet's purpose is different from a label's. A label exists so a shopper is not misled; a spec sheet exists so an owner can tell when a substitution has happened, and origin is often the only field that changes when a supplier quietly reroutes a line.

Best public prompt we found for this job

There is no public prompt, skill file or agent file for writing a food purchasing specification. Searches across GitHub for procurement, supplier specification and spec sheet artefacts returned only restaurant website and food ordering templates, and the specification material that does exist publicly is written as static templates for food manufacturers rather than as instructions an agent can follow.

The closest usable public artefact is the `skill-creator` skill in Anthropic's own public skills repository, https://raw.githubusercontent.com/anthropics/skills/main/skills/skill-creator/SKILL.md, read in full on 13 September 2026. The star count for `anthropics/skills` is unread: api.github.com returned "API rate limit exceeded" for this machine's IP on every attempt, and a badge or search snippet figure is not evidence, so no number is given here. The line worth copying is this one, on how to write the example cases a skill will be judged against:

Not abstract requests, but requests that are concrete and specific and have a good amount of detail.

That is the entire discipline a purchase specification needs, stated in one sentence about something else. The failure mode in both jobs is identical: a sentence that reads as if it says something ("good quality chicken breast, fresh") while committing nobody to anything, which is precisely the gap a supplier substitutes into. Every check in the skill above exists to force that sentence to carry a number.

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.