The rota, without the WhatsApp chaos: 10 AI skills for shifts

labour-cost-vs-forecast

cost the rota on this year's rates, not last year's guess

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: labour-cost-vs-forecast
description: Checks a draft rota's real cost against the sales forecast using the current legal pay rates for each worker's actual age band, the correct holiday accrual cost on top, not a labour percentage pulled from a borrowed industry average or last year's spreadsheet with the rates never updated. It also checks the rota's underlying pay figures are the ones you would need to produce if asked to prove minimum wage compliance. Use before you publish a rota you are building to a cost target, and whenever the April rate change has just happened and nobody has checked the spreadsheet since.
---

# A rota costed on this year's actual rates, not last year's guess

You give this the draft rota, each worker's age and hourly rate, and the sales forecast for the period. You get back the rota's real cost built from the current statutory rates and holiday accrual, checked against the forecast, and a flag on any worker paid below the rate their age band requires.

## What it does

1. **Use this year's rates, not a remembered figure.** National Minimum Wage and National Living Wage rates change every 1 April, and as at this check the figures in force are £12.71 an hour for workers aged 21 and over, £10.85 for 18 to 20 year olds, and £8.00 for under-18s and apprentices. A spreadsheet that still has last year's number typed into a formula cell will cost every shift wrong by the same margin, all year, and nobody will notice until a wage inspection or a pay rise conversation forces someone to open the file.
2. **Match every worker's rate to their actual age band and status, not their rate last month.** A worker who turned 18 or 21 partway through the costing period changes rate band from that date, and an apprentice who completes their first year moves onto the standard rate for their age. Check the rate against the band for the date of each shift, not a single rate carried for the whole rota.
3. **Add the real cost of holiday accrual, not zero.** A worker's pay cost is not just the hourly rate times hours worked; every hour worked is also accruing holiday that will be paid out later, and for irregular-hours staff GOV.UK sets that accrual at "12.07% of the hours they worked in a pay period." A rota costed on hourly rate alone understates true labour cost by that proportion, which compounds across a full year.
4. **Check the rota's figures are the ones a minimum wage record would need.** Regulation 59(1) of the National Minimum Wage Regulations 2015 requires an employer to keep, for each worker, "records sufficient to establish that the employer is remunerating the worker at a rate at least equal to the national minimum wage", and regulation 59(8) requires those records to be kept "for a period of six years" from the end of the following pay reference period. A cost forecast built from figures that could not themselves support an NMW record is a sign the underlying pay data has a gap worth finding now rather than during an inspection.
5. **Compare the real total against the forecast, with the gap shown in pounds, not just a percentage.** A labour cost that is "31% of forecast turnover" tells you nothing about whether that is affordable without knowing what the dates, rates and hours actually were. Show the total cost calculated from steps 1 to 3, the forecast figure it is being measured against, and the gap in pounds either way.

## Then it checks

1. Every rate used is confirmed against the rate in force on the date of the shift, not an unconfirmed figure carried over from a previous costing.
2. Every worker's age band is confirmed for the date of each shift, with any band change during the period named.
3. Holiday accrual cost is added at 12.07% of hours worked for irregular-hours staff, shown as its own line, not folded invisibly into the hourly total.
4. The pay data used would be sufficient, on its own, to answer a minimum wage records request for the period checked.
5. The total cost is compared to the forecast in pounds, with the method behind both figures shown.

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 use a rate that is not the one actually in force on the date of the shift being costed; a rota spanning a 1 April rate change must use both rates, split at the date.
- Never state a labour cost percentage benchmark as if it were a legal requirement or an industry-wide fact; no single verified figure for UK hospitality labour cost as a percentage of turnover was used in building this skill, and none should be invented to fill a gap in the owner's own numbers.
- Never treat a worker's rate as fixed for a whole costing period if their age band changes within it.
- This output is a working document prepared for the owner to check against their own payroll, forecast and pay records, and for their accountant to check before the rota is finalised against budget. It applies current National Minimum Wage rates and GOV.UK's holiday accrual method to the figures supplied; it is not legal or financial advice and it is not confirmation that pay records are compliant.

## Built from
- GOV.UK, "National Minimum Wage and National Living Wage rates", https://www.gov.uk/national-minimum-wage-rates, published by the Department for Business and Trade, no revision date shown on the page, read 3 November 2026: the current hourly rates by age band, behind steps 1 and 2.
- GOV.UK, "Calculate holiday entitlement", https://www.gov.uk/holiday-entitlement-rights/calculate-leave-entitlement, published by the Department for Business and Trade, no revision date shown on the page, read 3 November 2026: the 12.07% holiday accrual figure for irregular-hours workers, behind step 3.
- The National Minimum Wage Regulations 2015, regulation 59, https://www.legislation.gov.uk/uksi/2015/621/regulation/59, SI 2015/621, read 3 November 2026: the record-keeping duty and the six-year retention period, behind step 4.

Prompt for Codex

# labour-cost-vs-forecast

## You are given
The draft rota: worker name, date, start time, end time, hourly rate used, and age or age band as at that date. The sales forecast for the same period, in pounds. The NMW/NLW rate table in force for the period, with the exact rate per age band and the date it took effect, as supplied by the owner or read from gov.uk on the date of this check. Each worker's contract type (`regular hours` or `irregular hours`), needed to decide whether the 12.07% holiday accrual applies.

## Produce
Write into a `./labour-cost-vs-forecast-output/` folder:

1. `rate-check.csv` with columns: `worker_name`, `date`, `age_band_on_date`, `rate_used`, `rate_required`, `verdict`. `verdict` is `pass`, `below required rate`, or `age band changed mid-period, check both rates`.
2. `shift-cost.csv` with columns: `worker_name`, `date`, `shift_hours`, `rate_used`, `base_pay`, `contract_type`, `holiday_accrual_rate_applied`, `holiday_accrual_cost`, `total_shift_cost`. `holiday_accrual_rate_applied` is `12.07%` for `irregular hours` workers and `not applicable, use leave year or monthly accrual` for `regular hours` workers.
3. `period-totals.csv` with columns: `total_base_pay`, `total_holiday_accrual_cost`, `total_labour_cost`, `forecast_turnover`, `gap_in_pounds`, `labour_cost_as_percent_of_forecast`. One row, for the whole period.
4. `records-sufficiency-check.csv` with columns: `worker_name`, `fields_present`, `fields_missing`, `verdict`. `fields_present` and `fields_missing` list from: `hourly rate`, `hours worked`, `age band on date of work`, `gross pay`. `verdict` is `sufficient for an NMW record` or `insufficient, missing fields named`.
5. `gaps.md` - a numbered list of: every `below required rate` row; every `age band changed mid-period` row; every `insufficient` records row, with the missing fields named; and a note of the exact rate table and date used for this check, so a later reader can tell whether it needs rerunning after the next 1 April change.

## Rules
- Codex counts and calculates. It never estimates a labour cost percentage benchmark, never invents a rate not supplied or confirmed from gov.uk, and never decides whether the forecast itself is realistic.
- Every rate used in `shift-cost.csv` must trace to a row in `rate-check.csv`; a rate that fails the check is still used in the cost total, flagged, not silently corrected.
- The 12.07% accrual is applied only to workers marked `irregular hours`; a `regular hours` worker's holiday cost is recorded as not applicable to this method, never defaulted to the same percentage.
- Never state an industry-average labour cost percentage as a benchmark; compare only the owner's own total against the owner's own forecast.
- Use British English, GBP, and DD Month YYYY dates. No em dashes in any file you write.
- Every file ends with this line: this is a working document prepared for the owner to check against their own payroll, forecast and pay records, and for their accountant to check before the rota is finalised against budget. It applies current National Minimum Wage rates and GOV.UK's holiday accrual method to the figures supplied and is not confirmation that pay records are compliant.

## Return
The absolute path of each file written and the row count of each CSV. Any worker paid below the required rate for their age band on the shift date, named. The total labour cost, its holiday accrual component, and the gap against forecast in pounds. Any worker whose pay data would be insufficient for an NMW record, with the missing fields named. The rate table and date used for this check. The `gaps.md` item count.

Built from the best public work on this

Sources for labour-cost-vs-forecast

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

1. GOV.UK, "National Minimum Wage and National Living Wage rates"

https://www.gov.uk/national-minimum-wage-rates, published by the Department for Business and Trade, no revision date shown on the page, read 3 November 2026.

The page states that "the rates change on 1 April every year" and gives the rates by age band. As read on the date of this check, the rate from 1 April 2026 is £12.71 an hour for the National Living Wage, covering workers aged 21 and over; £10.85 for 18 to 20 year olds; and £8.00 for both under-18s and apprentices. The same page shows the rate due to take effect from 1 April 2027, £13.21, £11.27, and £8.31 respectively, confirming that any rota spanning a 1 April boundary needs both rates applied, split at the date.

This is the figure a labour-cost tool cannot safely skip or estimate, because it is the one input every other calculation in the skill multiplies against. Step 1 and step 2 exist because a rate typed once into a spreadsheet and never revisited past the next 1 April produces a wrong answer that looks exactly as confident as a right one.

Where the skill departs: the page's rates for accommodation offset and the apprentice rate's first-year conditions are not separately modelled here; this skill reads the headline rate per band as supplied or confirmed.

2. GOV.UK, "Calculate holiday entitlement"

https://www.gov.uk/holiday-entitlement-rights/calculate-leave-entitlement, published by the Department for Business and Trade, no revision date shown on the page, read 3 November 2026.

For irregular-hours and part-year workers, the page states employers "must use a specific accrual system" under which "their entitlement will be 12.07% of the hours they worked in a pay period." The 12.07% figure comes from the statutory 5.6 weeks of leave divided across the 46.4 working weeks remaining in a year, which is why it can be applied directly to hours worked without a separate calculation for each business.

Step 3 adds this as its own cost line because a rota that lists only base pay understates the true cost of every hour an irregular-hours worker is scheduled, and a cost-versus-forecast comparison that ignores it is comparing the forecast to a number that is wrong on its own terms, not just imprecise.

Where the skill departs: the page's leave-year or monthly accrual methods for regular-hours workers are noted as not applicable to this 12.07% figure, and this skill does not attempt to express their holiday cost as a percentage, since the correct method for them is different in kind, not just in rate.

3. The National Minimum Wage Regulations 2015, regulation 59

https://www.legislation.gov.uk/uksi/2015/621/regulation/59, SI 2015/621, read 3 November 2026.

Regulation 59(1): the employer "must keep... in respect of that worker records sufficient to establish that the employer is remunerating the worker" "at a rate at least equal to the national minimum wage." Regulation 59(8) requires those records to be kept "for a period of six years" "beginning with the day upon which the pay reference period immediately following that to which they relate ends", a figure substituted in with effect from 1 April 2021, up from the original three years.

Step 4 exists because a labour-cost tool and an NMW record are, in effect, built from the same underlying data, hourly rate, hours worked, age band on the date of work, and gross pay, and a business that cannot answer a costing question from its own rota data would also struggle to answer an HMRC records request from the same gap. Checking sufficiency here is cheap; discovering the gap during an inspection is not, since failing to keep sufficient records is, per HMRC's own guidance, a criminal offence.

Where the skill departs: the regulation's detailed rules on the form records may take and on electronic storage are not used here; this skill checks only whether the four named fields exist for each worker and period, not the format they are stored in.

Best public prompt we found for this job

The closest public artefact is the `metrics-review` skill listed among this account's product-management plugins, which performs trend analysis and turns raw numbers into a scorecard with recommended actions, the same underlying shape as comparing a rota's real cost against a sales forecast. A directly comparable public repository example is harder to pin down for a bespoke workplace-cost check, so for a star-counted comparison this skill instead draws on the `crm-hygiene-check` skill in Anthropic's `knowledge-work-plugins` repository, raw source at https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/sales/skills/crm-hygiene-check/SKILL.md. The repository has 34,654 stars, read from api.github.com on 3 November 2026.

The useful part is its refusal to report a derived number without showing the inputs behind it, which this skill borrows directly into `shift-cost.csv` and `period-totals.csv` carrying every component of the total, base pay and accrual separately, rather than one blended labour-cost figure.

We did not copy its single-system assumption. A CRM audit checks one system against its own schema; a labour cost check has to combine a legal rate table that changes every 1 April, a holiday accrual formula that only applies to one contract type, and a record-keeping duty with a six-year look-back, three different sources of truth that a CRM field never has to reconcile. We also deliberately left out any industry-average labour cost percentage, of the kind widely quoted in hospitality trade press; this skill's rules name that omission directly, because no single verified current figure for UK hospitality labour cost as a share of turnover was found that could be quoted here without risking exactly the invented-benchmark problem this pack's rules forbid.

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.