Shift Coverage Analyst
Finds the gap, the rest breach and the unplanned overtime before the rota is published
- 8hard rules
- Things it must never do, enforced in every run
- 5handover rules
- Conditions where it stops and gives the work to a person
- 10output fields
- A structured result, not a paragraph you have to re-read
- ≤6steps per run
- Bounded work: at most 4 tool calls, enforced by the runtime
Read-only by design. This agent has no path to sending, spending, publishing or committing anything. Where that limit is the product, removing it would remove the reason to trust the output.
Overview
Whoever builds the rota is solving four constraints at once in a spreadsheet: enough people per shift, everyone qualified for what they are doing, legal rest between shifts, and a wage bill that fits. They pull against each other, so the builder optimises the one they will be shouted at for — usually coverage — and the rest fail quietly.
The quiet failures are specific. Rest breached by a late finish followed by an early start, invisible because each shift alone is fine. A shift with nobody holding a certification it legally requires. Overtime nobody planned, which appears in the payroll run three weeks later. Consecutive-day limits crossed at the boundary between two published rotas, because each was checked alone.
And the same three people carrying every awkward shift — a retention problem the rota creates and nobody measures.
This agent checks a draft against all of it and reports what is wrong before anyone is told their hours. It assigns nobody: a published rota is a commitment to people's lives, and the constraints that decide who can work when are not all in the data.
Benefits
Problems found before publication
When a rota can still change without breaking promises.
Overtime that stops being a surprise
Priced in the draft rather than in the payroll run.
The load shared visibly
Which is a retention finding as much as a fairness one.
What it does
Checks across rota boundaries
Rest and consecutive-day limits break at the join between two published rotas, because each was checked alone.
Verifies qualifications per shift
A shift with nobody holding the certification it legally requires. Legal before it is operational.
Prices unplanned overtime before it happens
Rather than discovering it in the payroll run three weeks later.
Finds who carries every awkward shift
The same three people. A retention problem the rota creates, and nobody measures it.
Reports the trade-off honestly
Where coverage, legality and budget genuinely cannot all be met, it says so instead of picking one.
Assigns nobody
The constraints on who can work when are not all in the data. A rota is a commitment to people's lives.
What this changes
What this changes about your week
- It takes over
- Checking a draft rota for coverage, qualifications, rest and cost at once.
- Done today by
- Whoever builds the rota, in a spreadsheet, optimising one constraint.
- How often
- Every rota cycle.
- Typical manual effort
- Four constraints that pull against each other, checked across a boundary nobody checks.
Why Operations in particular. Rest and consecutive-day limits break at the join between two published rotas, because each rota was checked alone and each shift looks fine on its own.
Runs unattended
Started by you or by an event, and it finishes on its own. Nothing waits for someone to be at a desk.
The same standard every time
The two-hundredth item is held to the bar the first one was. Consistency is the part people cannot sustain.
It cannot act on its own
Shift Coverage Analyst has no path to sending, spending or committing. That limit is why its output is safe to act on.
How it runs
This agent runs server-side through the PROMIVO runtime. Each run is logged step by step and every tool call is permission-checked before it executes.
- 1InputValidated against the agent input schema
- 2Modelclaude-sonnet-5 with automatic fallback
- 3Toolsextract_structured_data
- 4PermissionsRuns READ actions automatically; anything higher waits for approval
- 5OutputStructured result matching the output schema
- 6LoggingTokens, duration and every step recorded
Demo
Demo dataIllustrative sample output, abridged.
Input
{
"staff": [],
"period": "Week 37",
"currency": "USD",
"draftRota": []
}Output
{
"escalate": true,
"overtime": {
"cost": 4320,
"hours": 96,
"sharePercent": 11.2
},
"disclaimer": "A check of a draft against the rules you configured. Nobody has been assigned, swapped or scheduled, no rota has been published, this is not legal advice on working time, and no statement is made that the rota is compliant.",
"coverageGaps": [
"Saturday afternoon is 2 short against a target of 7. Target rather than hard requirement."
],
"restBreaches": [
{
"between": "Sunday late finish 23:30 and Monday early start 06:00",
"minimum": 11,
"reference": "EMP-204",
"restHours": 6.5,
"acrossRotaBoundary": true
}
],
"escalationReason": "A shift has no qualified first aider, and a rest period of 6.5 hours against an 11-hour minimum occurs across the rota boundary.",
"loadDistribution": [
"Three people cover 61% of all night and weekend shifts. Reported as a rota pattern, with no assessment of anyone."
],
"qualificationGaps": [
{
"shift": "Sunday night",
"missing": "No qualified first aider on shift",
"hardRequirement": true
}
],
"unresolvableConflicts": [
"Sunday night cannot be covered to headcount without breaching EMP-204's rest. Both options are shown; the choice is yours."
],
"consecutiveDayBreaches": [
"EMP-118 works 9 consecutive days against a limit of 6. Days 1–3 sit in the previous rota, which is why neither check caught it alone."
]
}Requirements
Integrations
No integrations required.
Before you start
- The draft rota, and the previous one for boundary checks
- Staff with qualifications and contracted hours
- Your rest, consecutive-day and coverage rules
- Pay rates including overtime, where you want cost
- Requires the All-Access plan or higher
Use cases
Before publishing a rota
The standing check between draft and publication.
Covering absence
Whether a swap breaks something elsewhere.
Holiday periods
Where coverage and rest genuinely conflict.
Before an inspection
Evidence the rota was checked, every time.
Pricing
All-Access
Billed monthly through your PROMIVO subscription. Cancel at any time.
Runs consume your plan allowance for agent executions and tokens. See plan limits
FAQ
Does it build or publish rotas?
No. It checks a draft. Who can work when depends on childcare, study, health and agreements that are not in any rota system, and a tool that assigns people would get those wrong confidently.
Does it give legal advice on working time?
No. It checks against the rules you configure — your rest periods, your consecutive-day limits, your qualification requirements — and reports breaches of those. Which rules apply to you is a question for your own adviser.
What if coverage and rest cannot both be met?
It says so plainly and shows the trade-off rather than silently choosing. That conflict is real information for whoever has to decide.
Reviews
Reviews open once customers have run this agent.
Need this agent to work differently?
Tell us what to change and our team will scope a customised version for your business.
Customize this agent