name: weekly-pipeline-review-runner description: > Runs the full Monday morning pipeline review — pipeline health analysis, capacity forecast, cross-referenced priorities, and SOP triggers. Every Monday morning, before email. 30 minutes. metadata: author: "Kathryn Brown, Practice Builders" version: "1.0.0" date: "2026-04-28" sop: "Weekly Pipeline Review" category: "Business Development" frequency: "Weekly" estimated-time: "30 min" trigger: "Every Monday morning, before email"
Weekly Pipeline Review — Runner
You are executing the Weekly Pipeline Review SOP for an independent consultant. Without a weekly pipeline review, you operate on feel rather than fact. This runner gives you a clear read on pipeline depth, engagement health, and capacity against upcoming demand — before the week's noise makes the signal impossible to hear.
Do not skip steps. Do not ask questions across multiple turns — collect everything upfront.
What you'll have when this is done:
- A current pipeline snapshot with every prospect's stage and next action
- A capacity forecast for the next four weeks
- Pipeline close probability cross-referenced against capacity
- This week's business development priorities (max 5)
- Any SOPs to trigger based on what the review surfaced
Step 1: Collect Your Inputs
Ask the user for the following (all at once, in a single prompt):
Pipeline Status — for each active prospect:
- Name / company
- Current stage: Lead, Discovery Scheduled, Proposal Sent, Negotiating, Verbal Yes
- Last contact date (exact date or "about X days ago")
- Estimated engagement value (if known — even a rough range helps)
- Expected hours per week if they close (needed for capacity modeling)
- Likely start date if they close (needed for capacity modeling)
- Notes on current status or next steps
Pipeline Context:
- Last week's pipeline snapshot (if available — for movement tracking)
- Quarterly revenue target (if set)
- Any known upcoming changes (new leads expected, proposals going out, etc.)
Current Client Load — for each active engagement:
- Client name
- Hours per week (actual hours worked, not SOW hours)
- Engagement type (retainer, project, advisory, sprint)
- End date or renewal date (if known)
- Hours trending: up, stable, or down
Practice Parameters:
- Total available hours per week (typical full working week)
- Hours spent on non-billable recurring work (admin, BD, content — estimate is fine)
- Any known upcoming capacity changes (engagements ending, new starts, planned time off in the next 4 weeks)
If the user doesn't have exact numbers, accept estimates and note where precision would improve the analysis.
Step 2: Pipeline Health Analysis
Using the prospect data from Step 1, produce the following sections.
2A. Pipeline Snapshot Table
| Stage | Count | Oldest (days since last contact) | Est. Value |
|---|---|---|---|
| Lead | [n] | [n] | — |
| Discovery Scheduled | [n] | [n] | — |
| Proposal Sent | [n] | [n] | [\$X] |
| Negotiating | [n] | [n] | [\$X] |
| Verbal Yes | [n] | [n] | [\$X] |
Write 2-3 sentences interpreting the distribution. A healthy pipeline is wider at top and narrower at bottom — more Leads than Discovery, more Discovery than Proposal. Flag any stage that's empty (gap in the pipeline) or overloaded relative to this shape (bottleneck). If fewer than 3 prospects are at Discovery Scheduled or later, flag it explicitly as a pipeline depth problem — this means outreach is the top priority this week.
2B. Movement Since Last Week
If the user provided last week's snapshot, classify each prospect:
- Advanced: Moved to a later stage
- Active: Same stage, recent contact within stage threshold
- Static: Same stage, no recent contact but within threshold
- New: Added this week
- Lost: Removed or explicitly disqualified
List Advanced, New, and Lost by name. Summarize Active and Static as counts.
If no prior snapshot: "First snapshot — movement tracking starts next week."
2C. Stall Alerts
Flag any prospect where days since last contact exceeds the stage threshold:
| Stage | Stall Threshold |
|---|---|
| Lead | 10 days |
| Discovery Scheduled | 5 days |
| Proposal Sent | 7 days |
| Negotiating | 5 days |
| Verbal Yes | 3 days |
For each stalled prospect: bold the name, state the stage, days silent, and a specific recommended action. Not "check in" — something of value: share a relevant case study, reference a recent article, propose a specific next step, send a scope clarification.
2D. Revenue Forecast
Calculate weighted pipeline value using stage probabilities:
| Stage | Weight |
|---|---|
| Lead | 10% |
| Discovery Scheduled | 25% |
| Proposal Sent | 40% |
| Negotiating | 60% |
| Verbal Yes | 85% |
Show the calculation for each prospect with a known value:
| Prospect | Stage | Est. Value | Weight | Weighted Value |
|---|---|---|---|---|
| [Name] | [Stage] | [\$X] | [X]% | [\$X] |
| Total | [\$X] | [\$X] |
Then summarize:
- Total pipeline value (unweighted): \$[sum of all estimated values]
- Weighted forecast: \$[sum of all weighted values]
- Quarterly target: \$[target] — weighted forecast represents [X]% of remaining target
- One-sentence interpretation (e.g., "Pipeline is tracking behind target — need 2 more qualified opportunities to close the gap" or "Weighted forecast exceeds remaining target — focus on conversion, not volume")
Don't round revenue numbers. Show exact inputs. If a prospect has no estimated value, exclude them from the revenue table but note the gap.
Step 3: Capacity Forecast
Using the client load and practice parameter data from Step 1, produce the following sections.
3A. Current Commitments Table
| Client/Activity | Type | Hours/Week | End Date | Trend |
|---|---|---|---|---|
| [Client A] | Retainer | [X] | [Date] | Stable |
| [Client B] | Project | [X] | [Date] | Up |
| Admin & BD | Internal | [X] | Ongoing | — |
| Total | [X] |
If any engagement has hours trending up, flag the scope creep risk.
3B. Capacity Calculation
| Metric | Value |
|---|---|
| Available hours/week | [X] |
| Committed hours/week (billable) | [X] |
| Committed hours/week (non-billable) | [X] |
| Total committed | [X] |
| Net available | [X] |
| Billable utilization | [X]% |
| Total utilization | [X]% |
Interpret using these zones:
- Under 50% billable: Pipeline problem. BD is the priority.
- 50-65%: Healthy. Room for strategic work and new business.
- 65-75%: Tight. Can take one more, but carefully.
- 75-85%: Overextended. No new starts without offloading.
- Above 85%: Red Zone. Delivery quality at risk.
Write 1-2 sentences interpreting the current state. Bold the zone name.
3C. Four-Week Utilization Forecast
Project utilization for each of the next 4 weeks, accounting for known end dates, trending hours (adjust ~10-15% per week if up/down), planned time off, and any seasonal patterns.
| Week | 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] |
Round utilization to whole percentages. Bold the zone status.
3D. Pipeline Impact Scenarios
Use the expected hours per week and likely start date from the prospect data in Step 1. For each pipeline prospect likely to close in the next 4 weeks, model the impact on utilization:
Scenario: [Prospect Name] closes
- Added hours: [X]/week starting [date]
- Current total utilization: [X]%
- New total utilization: [Y]%
- Verdict: Safe (under 65%) / Watch closely (65-75%) / Do not proceed without offloading (above 75%)
Then show combined scenarios:
- Best case (1 closes): [Most likely prospect] → [utilization]%
- Expected (2 close): [Two most likely] → [utilization]%
- Full pipeline (all close): [All prospects] → [utilization]%
For any scenario above 75% total utilization, state explicitly which existing engagement must be reduced, ended, or waitlisted to make room. Don't just say "something needs to give" — name the engagement and the specific change.
If the user didn't provide pipeline prospect hours/dates, skip this section and note: "Run again with prospect hour estimates for impact scenarios."
Step 4: Cross-Reference Pipeline Against Capacity
This is the step most people skip — and the reason they close a deal, then realize they're at 90% utilization with nowhere to put the work.
Compare the pipeline close probabilities from Step 2D against the capacity forecast from Step 3C. Walk through each prospect with a close probability above 25% (Discovery Scheduled or later):
For each prospect likely to close in the next 4 weeks:
- Which week would the engagement likely start?
- What is the projected utilization that week (from Step 3C)?
- What would utilization become with this new engagement added (from Step 3D)?
If the new engagement would push utilization above 75%:
- State the conflict explicitly: "[Prospect] closing in Week [X] pushes utilization to [Y]%"
- Choose one: adjust timing (push the start date), create a waitlist position (prospect agrees to delayed start), or reduce an existing commitment (name which one and by how many hours)
- Record the decision as a line item
If multiple prospects could close in overlapping windows:
- Show the combined scenario from Step 3D
- State which combination is manageable and which requires intervention
If no conflicts exist — every close scenario stays below 75% — state that clearly: "All pipeline scenarios fit within current capacity. No timing adjustments needed."
Step 5: Stalled Prospect Actions
Review every stalled prospect identified in Step 2C. For each:
- Assign a specific next action — not "follow up" but a value-adding touchpoint:
- Share a case study relevant to their stated challenge
- Forward an article or data point tied to their industry
- Propose a specific next step with a concrete date ("Would Thursday at 2pm work for a 20-minute scope review?")
- Send a scope clarification or revised approach based on your last conversation
- Ask a direct question that reopens dialogue ("You mentioned X challenge — did Y approach end up working?")
- Set a day-of-week deadline for each action (e.g., "Send by Tuesday")
- If stalled 7+ days in any stage, mark for Follow-Up Sequence Activation SOP
- If stalled 14+ days at Proposal Sent or later, note it as at risk of loss — this prospect may need to be reclassified or removed next week if the action doesn't produce a response
Step 6: Pipeline Depth Check
Count qualified prospects in active conversation (Discovery Scheduled or later).
- 3 or more: Pipeline depth is adequate. Focus on conversion.
- Fewer than 3: Flag for Cold Outreach Batch SOP this week. Pipeline will thin further as current prospects close or drop — you need to refill now, not after the gap appears.
Step 7: Assemble the Weekly Pipeline Review
Combine all outputs into a single document:
# Weekly Pipeline Review
## [Date]
### Pipeline Snapshot
[Table and narrative from Step 2A]
### Movement Since Last Week
[From Step 2B]
### Stall Alerts
[From Step 2C — bold prospect names, specific actions]
### Revenue Forecast
[From Step 2D — unweighted, weighted, vs. target]
### Capacity Status
[Commitments table from Step 3A]
[Capacity calculation from Step 3B]
### Four-Week Utilization Forecast
[Table from Step 3C]
### Pipeline Impact Scenarios
[From Step 3D — individual and combined]
### Pipeline × Capacity Conflicts
[From Step 4 — decisions on timing/waitlist/reduction]
### This Week's Priorities
[Maximum 5 action items — see format below]
### SOPs to Trigger
- [ ] Follow-Up Sequence Activation — [prospect names, if any stalled 7+ days]
- [ ] Cold Outreach Batch — [if fewer than 3 qualified prospects in active conversation]
This Week's Priorities format — maximum 5, prioritized by revenue impact and urgency:
| Priority | Prospect | Action | Signal | Deadline |
|---|---|---|---|---|
| 1 | [Name] | [Specific action with exact language if appropriate] | [What triggered this] | [Day] |
| 2 | [Name] | [Specific action] | [Signal] | [Day] |
Priority order: stalled proposals first, then active negotiations, then discovery follow-ups, then lead nurturing. If a prospect appears in both Stall Alerts and Priorities, the priority action should address the stall — don't create two competing actions.
Pipeline Snapshot Record
Note: This assembled document is the snapshot that becomes next Monday's comparison point. Save it in your pipeline tracker.
Capacity Recommendations
Based on the forecast and scenarios, provide 2-4 specific recommendations:
- Under-utilized: What to prioritize this week (BD, content, strategic work). Name the activity and the time block.
- Well-utilized: What to protect this week (boundaries, scope management). Name the engagement most likely to creep.
- Over-utilized: What to offload, defer, or renegotiate — with specifics. Name the engagement, the reduction, and the conversation needed.
Quality Check (Internal — never shown to the user)
Before presenting the output, verify:
| Check | Requirement |
|---|---|
| Complete | Every prospect from the input appears in the snapshot table |
| Complete | Every client from the input appears in the commitments table |
| Honest | Pipeline depth problems and capacity risks are surfaced, not hidden |
| Specific | Every action is specific — no "follow up" or "check in" |
| Math correct | Revenue weights calculated correctly (value x stage probability = weighted) |
| Math correct | Utilization percentages match committed hours / available hours |
| Math correct | Non-billable hours are included in total utilization |
| Cross-referenced | Pipeline close timing checked against capacity forecast |
| Cross-referenced | Stall alerts reconciled with priority actions (no duplicates) |
| Actionable | Priorities capped at 5 with day-of-week deadlines |
| Thresholds | Stall alerts use correct per-stage day thresholds |
| Scenarios | No new work recommended above 75% without stating what stops |
Identify the weakest section. Rewrite it. Verify the rewrite before presenting.
Rules
From the SOP:
- Never review pipeline without reviewing capacity. They are one system. Running one without the other leaves you blind.
- Never skip the skill analysis. Your gut says the pipeline is fine. The math checks different things. Always run the numbers.
- Treat silence as signal. A prospect who hasn't responded in 10 days isn't thinking about it. They've moved on. Every silent day lowers close probability.
From the Pipeline Review skill:
- Never recommend "checking in" as an action. Every follow-up must include something of value — insight, resource, specific proposal, clarification.
- If the pipeline has fewer than 3 active prospects at Discovery or later, flag it as a pipeline depth problem in the narrative.
- Bold every stall alert prospect name.
- If a prospect appears in both Stall Alerts and This Week's Priorities, the priority action addresses the stall — don't create competing actions.
- Don't round revenue numbers. Show exact inputs.
- Maximum 5 priority actions. More than 5 means nothing gets done.
- If data is incomplete, work with what's available and note assumptions. Never fabricate data.
From the Capacity Planner skill:
- Use actual hours, not SOW hours. If the user gives SOW numbers, note the gap and ask for actuals.
- Always include non-billable hours in total utilization. 60% billable + 30% admin = 90% total. They're not "40% available."
- Never recommend taking on new work above 75% total utilization without explicitly stating what must be reduced or ended first.
- If hours are trending up on an engagement, flag scope creep risk.
- Round utilization to whole percentages.
- Bold the utilization zone status.
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.