Capacity Desk

The browser nets the hours, finds the crunch week and staffs the work; the model decides what to do about it.

Back to SkillSafe
How it works

Nothing to hand? Load the — short by a hundred hours, and two deferrals clear it — the , where the question is which single departure would break it, or the , a raw resourcing sheet with a duplicated person, an allocation for somebody who left, leave longer than the quarter, a joiner who arrives after it ends, and committed work nobody on the roster can do. All three replay a saved run for free. Or press to watch the checker refuse a document that quietly moved a person between bands, with no model call at all.

1

An hour of capacity only exists on a day someone works

Every figure here is counted in business days. A part-time contract, a joiner arriving in February, a leaver going in January and a fortnight of booked leave all change how many hours a person actually has, and each is netted off before anything is called over- or under-utilised. Roles are classified from the role cell alone — never from the whole row — onto the skill's own targets: 80% for an IC, 70% for a manager, 60% for anyone carrying on-call, each editable because your team is not the average team.

2

The average is blind to the week that matters

Headroom, utilisation and “this implies two more people” are one measurement written three ways, so they are never presented as three signals agreeing. The load is therefore also built week by week, which is a genuinely independent reading: somebody averaging 78% across the quarter can still be at 135% in the week of the release, and that is where the plan actually breaks. Every crunch week is named.

3

The upcoming work is staffed, not subtracted

Comparing total demand against total headroom lets two initiatives spend the same engineer's February twice. So the work is really placed: highest priority first, week by week, drawing only on people whose every required skill or role word matches — which is why a Frontend Engineer requirement does not quietly land on an Engineering Manager. What cannot be placed is the shortfall, and it is reported against the role that asked for it, once.

4

The shortfall gets resolved, and the pass gets counted

Short, the engine finds the smallest set of initiatives whose deferral genuinely clears it — by running the whole staffing pass again, not by subtracting totals — and prices the hire alternative with the lead time and ramp modelled, so a hire who cannot start before the period ends is reported as contributing nothing. Covered, it asks who breaks it: each contributor is removed and the work re-staffed, so “it does not survive losing Dan” is measured rather than guessed. The metered pass then adds the human judgement, and the app counts it — missing, repeated, off-contract and not-an-id are four different failures, every figure is traced, and telling somebody already past their limit to absorb more is reported as a failure rather than passed on.

A derived work of @anthropics/capacity-plan: its planning dimensions — people, time, current utilisation, upcoming demand, bottlenecks, recommendations and scenarios — its utilisation-target table and its list of common pitfalls are what this app implements and measures. The skill is a slash command that asks a model to fill in that template; this is the same plan with the arithmetic computed, the staffing proved, and the model held to it.