Purpose
Reconcile an interval-by-interval contact volume forecast against the current agent schedule to pinpoint exactly where and when the center is over- or understaffed, quantify the resulting service level and cost impact, and produce concrete coverage fixes. Turns a vague "we keep missing SLA in the afternoons" complaint into a labeled gap map with prioritized actions.
When to Use
Invoke this skill when the user asks to:
- Compare a volume forecast against the current agent schedule to find coverage gaps
- Diagnose why service level or ASA targets are missed at certain times of day
- Identify intervals that are overstaffed and burning idle payroll
- Rebalance shifts, breaks, or skills to match demand
- Build an intraday staffing reallocation plan before publishing a schedule
- Right-size headcount requirements ahead of a forecast period
Inputs Required
Before starting, collect:
- Volume forecast: Contact volume by interval (15- or 30-min) across the day/week, with channel if multi-channel
- Average handle time (AHT): Expected AHT per interval or a single blended value in seconds
- Current schedule: Scheduled agents by interval (or shift start/end times + breaks) to derive coverage
- Service level target: Goal (e.g., 80% answered in 20 seconds) or ASA target
- Shrinkage assumption: % of paid time lost to breaks, training, aux, absence (default 30% if not provided)
- Interval length: 15 or 30 minutes (default 30)
- Skill/queue structure: Single skill or multi-skill/blended, and any hard constraints (min staffing, contractual shift rules)
If AHT, shrinkage, or service level target are missing, apply defaults (300s AHT, 30% shrinkage, 80/20 SL) and label each assumption explicitly in the output.
Instructions
Step 1: Calculate Required Staffing Per Interval
For each interval, compute the agents required to hit the service level target.
- Derive workload:
(Volume × AHT) / interval seconds= required productive agent-hours expressed as raw agents. - Apply Erlang C logic conceptually to convert raw workload into the staffing needed for the SL/ASA target (staffing rises non-linearly as target tightens — never staff to raw workload alone).
- Gross up for shrinkage:
Required (scheduled) = Required (on-phone) / (1 − shrinkage%). - State required agents per interval as whole numbers, rounding up.
Step 2: Map Scheduled Coverage Per Interval
- Translate shifts and breaks into agents actually available on-queue per interval.
- If given raw scheduled headcount, apply shrinkage to estimate effective coverage; if given interval-level on-phone counts, use directly.
- Produce a coverage figure aligned to the same intervals as Step 1.
Step 3: Compute the Gap and Classify It
For each interval, calculate Gap = Scheduled coverage − Required.
- Critical understaffing: Gap ≤ −2 agents OR projected SL below 50% of target
- Moderate understaffing: Gap of −1 agent OR SL 5–15 points below target
- Balanced: Gap within ±1 and SL within target band
- Moderate overstaffing: Gap of +1 to +2 with occupancy well below 75%
- Critical overstaffing: Gap ≥ +3 with occupancy below 60% Estimate projected service level and occupancy for each interval so gaps are tied to outcomes, not just headcount deltas.
Step 4: Quantify Impact
- Understaffing cost: Estimated abandoned/deferred contacts, SL points lost, and any occupancy-driven burnout risk (occupancy sustained above 90%).
- Overstaffing cost: Idle paid agent-hours and their approximate payroll waste (agent-hours × loaded hourly rate if provided; otherwise report hours).
- Roll up daily totals: net agent-hours short, net agent-hours surplus, worst 3 intervals, and blended projected SL vs. target.
Step 5: Recommend Coverage Fixes (Ranked)
Produce specific, ordered adjustments — not "add more agents":
- Shift the surplus to the shortage: Reallocate overstaffed intervals to understaffed ones via break/lunch retiming or shift start staggering.
- Break optimization: Move breaks and lunches out of critical understaffed intervals into overstaffed windows.
- Shift edge adjustments: Extend, compress, or stagger start times to cover peak gaps without adding heads.
- Skill reallocation: In multi-skill environments, route idle skills into the understaffed queue before hiring/OT.
- Discretionary levers: Voluntary time off (VTO) for overstaffed intervals; overtime or offline-task deferral for critical understaffing.
- Net headcount signal: If gaps persist after reallocation, state the incremental FTE required and the intervals driving it.
Step 6: Summarize the Gap Map
Present a heatmap-style interval table (Required / Scheduled / Gap / Class / Proj. SL) followed by the ranked action list and the daily rollup.
Output Format
- Structure: Interval gap table → impact quantification → ranked recommendations → daily rollup summary
- Length: 700–1,100 words plus the interval table
- Format: A per-interval table (Interval, Volume, Required, Scheduled, Gap, Classification, Proj. SL) followed by structured bullets and a numbered recommendation list
- Sections: Assumptions Used → Interval Gap Map (table) → Impact Summary → Ranked Coverage Fixes → Daily Rollup & Net Headcount Signal
- Tone: Workforce management analyst — quantitative, decisive, cost-aware; every claim tied to a number
Quality Checklist
Before delivering output, verify:
- [ ] Every interval in the forecast appears in the gap table with a Required, Scheduled, Gap, and Classification value
- [ ] Required staffing is grossed up for shrinkage — not left at raw workload
- [ ] Each gap is classified into one of the five bands using the stated thresholds
- [ ] Impact is quantified in agent-hours and SL points — not described vaguely
- [ ] Recommendations are ranked and specific (which intervals, which lever) — reallocation appears before any "add headcount" advice
- [ ] All applied defaults (AHT, shrinkage, SL target, interval length) are explicitly listed in the Assumptions section
Notes
- Non-linearity matters: doubling volume does not double staffing needs, and small forecast errors in short intervals produce outsized SL swings — flag any interval where required staffing is very sensitive to small volume changes.
- Solve for gaps with reallocation before recommending overtime or hiring; break and shift retiming close most intraday gaps at zero incremental cost.
- Sustained occupancy above 90% is an understaffing symptom even when SL looks acceptable — call it out, because it drives attrition that widens future gaps.
- If multi-channel or multi-skill data is blended into a single queue, note that concurrency and routing assumptions materially affect required staffing and recommend a per-skill run for precision.
How to use this skill
This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.
Installing in Claude Code:
~/.claude/skills/<folder-name>/SKILL.md— auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)<your-project>/.claude/skills/<folder-name>/SKILL.md— auto-loads only when working in that project (recommended for project-specific skills)
Restart Claude Code or open a new session to register.
Using in Claude.ai, ChatGPT, Gemini, or other AI tools:
- Drag this file into a new chat, or copy and paste its contents
- Send your task or request as your next message — the AI will apply the skill where it fits
For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills