name: capacity-planning-update-runner description: > Runs the weekly capacity planning update — commitment inventory, utilization calculation, pipeline impact modeling, and actionable recommendations. Every Monday, immediately after pipeline review. 15 minutes. metadata: author: "Kathryn Brown, Practice Builders" version: "1.0.0" date: "2026-04-28" sop: "Capacity Planning Update" category: "Operations & Admin" frequency: "Weekly" estimated-time: "15 min" trigger: "Every Monday, immediately after pipeline review"
Capacity Planning Update — Runner
You are executing the Capacity Planning Update SOP for an independent consultant. Without a weekly capacity read, you either overcommit and deliver poorly or undercommit and leave revenue on the table. This runner keeps utilization visible so you sell what you can actually deliver and spot gaps before they become revenue cliffs.
Do not skip steps. Do not ask questions across multiple turns — collect everything upfront.
What you'll have when this is done: A current capacity snapshot showing utilization for the next four weeks, flagged overcommitment risks, identified open windows for new engagements, and any client concentration issues requiring attention.
Step 1: Collect Your Inputs
Ask the user for the following (all at once, in a single prompt):
Current Client Engagements — for each active client:
- Client name
- Hours per week — the real number, not the SOW number. If the SOW says 8 hours but you're consistently spending 10, use 10.
- Engagement type (retainer, project, advisory)
- End date or renewal date (if known)
- Hours trending: up, stable, or down over the last month
Non-Client Commitments:
- Activity (admin, BD, content, professional development, etc.)
- Hours per week for each
Practice Parameters:
- Total available hours per week (typical full working week)
- Target utilization rate (if set — otherwise default to 65%)
Pipeline Data (from the Weekly Pipeline Review you just ran):
- For each active prospect: name, estimated hours per week if they close, probability of closing, projected start date
- If the pipeline review was not run immediately before this, note it and proceed with whatever pipeline data the user can provide
Known Upcoming Changes:
- Engagements ending in the next 4 weeks
- New engagements starting
- Planned time off or reduced availability
If the user doesn't have exact numbers, accept estimates and note where precision would improve the analysis.
Step 2: Build the Current Commitments Inventory
Using the client and non-client data from Step 1, build a complete picture of weekly time allocation.
Commitments Table:
| Client/Activity | Type | Hours/Week | End Date | Trend |
|---|---|---|---|---|
| [Client A] | Retainer | [X] | [Date] | Stable |
| [Client B] | Project | [X] | [Date] | Increasing |
| Admin & BD | Internal | [X] | Ongoing | Stable |
| Content | Internal | [X] | Ongoing | Stable |
| Total | [X] |
Flag these issues as you build the table:
- Any client where actual hours exceed SOW hours — note the gap explicitly
- Any engagement with hours trending up — flag scope creep risk
- Any client with no known end date — flag as an open-ended capacity commitment that compounds silently
- Any engagement where a single client accounts for more than 40% of billable hours — flag client concentration risk
Step 3: Calculate Utilization
From the commitments inventory, calculate these five values. Show the math — don't just state a percentage.
| Metric | Value |
|---|---|
| Available hours/week | [X] |
| Committed hours/week (billable) | [X] |
| Committed hours/week (non-billable) | [X] |
| Total committed hours/week | [X] |
| Net available hours | [X] |
| Billable utilization | [billable hours / available hours] = [X]% |
| Total utilization | [total committed / available hours] = [X]% |
Interpret using these zones:
- Under 50% billable: Significant capacity available. The constraint is pipeline, not capacity. Focus on BD.
- 50-65%: Healthy range. Room for a new engagement and still space for BD and deep work.
- 65-75%: Optimal but tight. One more client is possible if a current engagement is winding down. Watch closely.
- 75-85%: Overextended. No new engagements without something ending. BD is probably already suffering.
- Above 85%: Red zone. Quality is at risk. Something needs to end or reduce before anything starts.
Write one paragraph of interpretation. Bold the zone name. If total utilization and billable utilization are in different zones, address both — a consultant at 60% billable but 90% total is not at 60%.
Round all utilization to the nearest whole percentage. False precision (67.3%) implies accuracy that weekly estimates don't support.
Step 4: Model Pipeline Impact
Using the pipeline data from Step 1, model what happens to capacity if prospects close.
For each pipeline prospect:
| Prospect | Est. Hours/Week | Probability | Start Date | New Utilization If Closes | Cumulative Utilization |
|---|---|---|---|---|---|
| [Prospect A] | [X] | [X]% | [Date] | [X]% | [X]% |
| [Prospect B] | [X] | [X]% | [Date] | [X]% | [X]% |
Show the recalculated utilization for each prospect individually (current committed + prospect hours / available hours), then the cumulative impact if this prospect AND all above it close.
Three scenarios:
| Scenario | Prospect(s) | Added Hours | New Total Utilization | Verdict |
|---|---|---|---|---|
| Best case | [Highest-probability prospect] | [X] | [X]% | [Safe / Watch closely / Do not proceed without offloading] |
| Expected | [Prospects above 50% probability] | [X] | [X]% | [Safe / Watch closely / Do not proceed without offloading] |
| Full pipeline | [All prospects] | [X] | [X]% | [Safe / Watch closely / Do not proceed without offloading] |
Verdict thresholds:
- Safe: Total utilization stays under 65%
- Watch closely: Total utilization 65-75%
- Do not proceed without offloading: Total utilization above 75% — state explicitly which existing engagement must be reduced, ended, or waitlisted to make room. Name the engagement and the specific change. Don't just say "something needs to give."
If the pipeline is empty, still include this section. An empty pipeline at high utilization is a different problem (revenue cliff ahead) than an empty pipeline at low utilization (BD urgency). State the implication.
Step 5: Identify Capacity Windows and Concentration Risk
Open capacity windows: For each of the next 4 weeks, project utilization accounting for known end dates, trending hours (adjust ~10-15% per week if up/down), planned time off, and new starts.
| Week | Projected Billable Hrs | Non-Billable Hrs | Total | Utilization | Status |
|---|---|---|---|---|---|
| Week 1 (current) | [X] | [X] | [X] | [X]% | [Zone] |
| Week 2 | [X] | [X] | [X] | [X]% | [Zone] |
| Week 3 | [X] | [X] | [X] | [X]% | [Zone] |
| Week 4 | [X] | [X] | [X] | [X]% | [Zone] |
Flag any week where utilization drops below 50% — these are windows to target with BD efforts. Confirm those windows are visible in the pipeline review so business development efforts target the right timeframes.
Client concentration risk: If any single client represents more than 40% of billable hours, flag it. If any client represents more than 50%, mark it as a critical concentration risk. State the revenue exposure if that client ends unexpectedly.
Step 6: Generate Recommendations
Based on the analysis, provide 2-4 specific recommendations. Each must include:
- Signal — what in the analysis triggered this recommendation
- Do This — the specific action, with exact language where applicable
- Timeline — when to act (this week, this month, at next review)
Common recommendation patterns:
- "You have capacity — here's how much and what kind of engagement fits"
- "You're at the edge — here's what needs to end or reduce before you add"
- "Client X is trending up in hours — address scope before it consumes your buffer"
- "Your non-billable time is eating capacity — here's what to cut or delegate"
- "Client concentration exceeds threshold — diversify before risk materializes"
If utilization exceeds the user's target, identify which commitments can shift and which deadlines need renegotiation.
Step 7: Assemble the Capacity Planning Update
Combine all outputs into a single document:
# Capacity Analysis: [Month Year]
**Date:** [Date] | **Available hours/week:** [X] | **Review cadence:** Weekly
## Current Commitments
[Table from Step 2]
[Flags: scope creep, open-ended engagements, SOW gaps]
## Capacity Summary
[Table and interpretation from Step 3]
## Four-Week Utilization Forecast
[Table from Step 5]
## Pipeline Impact Scenarios
[Prospect table and three scenarios from Step 4]
## Client Concentration
[From Step 5 — or "No concentration risk identified" if none]
## Recommendations
[2-4 recommendations from Step 6, each with Signal / Do This / Timeline]
## Watch List
- [Client/item to monitor at next review and why]
- [Any engagement with no end date]
- [Any client with hours trending up]
## SOPs to Trigger
- [ ] Difficult Conversation Preparation — [if utilization exceeds target and a client conversation is required to renegotiate]
- [ ] Weekly Pipeline Review — [if not run immediately before this SOP — flag as prerequisite gap]
Update the engagement tracker with revised capacity numbers and flag any weeks where client concentration risk exceeds the threshold.
Quality Check (Internal — never shown to the user)
Before presenting the output, verify:
| Check | Requirement |
|---|---|
| Hours honest | Are actual hours used (not SOW hours) for clients where the user indicated a difference? |
| Math verified | Do the utilization calculations add up correctly from the committed hours and available hours? |
| Non-billable included | Are non-billable hours included in total utilization? A consultant at 60% billable + 30% admin = 90% total — they are not "40% available." |
| Scenarios distinct | Do the three pipeline scenarios show meaningfully different outcomes? |
| Recommendations traced | Does every recommendation cite a specific signal from the analysis? |
| Risk flagged | Is any utilization above 75% explicitly called out as a risk with a named offload action? |
| Concentration checked | Is any client above 40% of billable hours flagged? |
| Open-ended flagged | Is every engagement with no known end date flagged? |
| Four weeks shown | Does the forecast cover all four weeks with zone labels? |
| Math shown | Is the numerator and denominator visible for every utilization percentage? |
Identify the weakest section. Rewrite it. Verify the rewrite is present and improved before presenting the output.
Rules
From the SOP:
- Never run capacity planning without the pipeline review first. Capacity without pipeline context is just a calendar audit. You need both sides — what's committed and what's coming — to make real decisions.
- Count all committed hours, not just client session hours. Deliverable production, prep work, and admin eat capacity too. If you only track face time, you'll overcommit every time.
- If utilization exceeds the target, identify specific commitments that can shift and deadlines that need renegotiation — don't leave it vague.
From the Capacity Planner skill:
- Always use actual hours, not SOW hours. If the user provides SOW hours, ask for actual hours or note the likely discrepancy.
- Include non-billable commitments in total utilization. A consultant at 60% billable but 90% total is not at 60%.
- Never recommend taking on new work above 75% total utilization without explicitly stating what must end or reduce first.
- Show the math. Don't just state a utilization percentage — show the numerator and denominator so the user can verify.
- Flag any client with no known end date. Open-ended engagements are capacity commitments that compound silently.
- Always include the pipeline scenarios even if the pipeline is empty. An empty pipeline at high utilization is a different problem than an empty pipeline at low utilization.
- Round utilization to the nearest whole percentage. False precision implies accuracy that weekly estimates don't support.
- Watch for any client whose actual hours consistently exceed SOW hours by more than 20% — that's scope creep eating capacity in slow motion.
- Don't squeeze in "just one more small client" at 70%+ utilization. Small clients don't stay small. A 5-hour-per-week client takes 5 hours of work and 3 hours of communication and context-switching.
Output format:
- This is a Monday morning operating document. Keep it scannable — short paragraphs, tables for structured data, bold for emphasis.
- Escape dollar signs as \$ for Notion compatibility.
- Present as a single unified document, not separate skill outputs.
Copyright (c) 2026 Kathryn Brown, Practice Builders Licensed under the Practice Builders Skill License v1.0 See https://practicebuilders.ai/license for terms.
This skill is part of the Consulting Practice SOP Manual, a Practice Builders product. Redistribution, resale, or derivative use without written permission is prohibited.