── SKILL
pipeline-review-runbook✓ APPROVED

Run a pipeline review that finds problems, not recites them.

Coverage vs target, stage aging, week-over-week movement, stuck deals, and the question to ask per deal.

Inside: The coverage read, the aging, the movement lists, and per-deal questions.

01 / HOW TO USE

Install it in one line, or paste it in.

1
In Claude Code (one command)
Copy the install line, paste it into your terminal, and restart Claude Code. The skill installs itself to ~/.claude/skills/ and runs automatically when it is relevant.
2
In Claude, ChatGPT, or a Project (no terminal)
Open the file, then upload it to your chat or paste its contents in. A skill is just a markdown file of instructions, so any capable AI can follow it.
New to skills? A skill is a plain-text file that teaches your AI a workflow. Point any capable assistant at it and it follows the steps, on your data.
02 / MAKE IT YOURS

Connect your context. Set it to your motion.

CONNECT YOUR CONTEXT · AND WHY IT HELPS
a CRM

it reads all of the above automatically and can compare to last week without you keeping a snapshot.

a meeting or email tool

confirms which stuck deals are actually cold versus quietly progressing.

a product-analytics tool

adds trial momentum on deals gated by a pilot.

SET IT TO YOUR MOTION

This was built for a B2B SaaS org running a staged pipeline and a weekly team review. Set these to your stack:

Run any process you like. The skill checks movement and age against your stages, so point it at your fields, not anyone else's.

Set thisWhat it isDefault / Example
STAGE fieldthe opportunity stageOpportunity.StageName
AMOUNT fieldthe number that rolls upOpportunity.AmountARR
STAGE_ENTRY fieldwhen the deal entered its stagelast stage-change date
ACTIVITY sourceswhere "last touch" livesAccountOpportunityTaskEvent dates
TARGETthe period quota to coveryour team or rep target
COVERAGE_RATIOpipeline-to-target you expect3x (re-tune to your win rate)
AGING_DAYSdays in stage that count as agedper-stagee.g. 21 (re-tune)
03 / THE FULL SKILL

Everything the skill does, in full.

── WHAT THIS DOES

Turns your open pipeline into a review with an agenda. It measures coverage against the target, ages each deal in its current stage, shows what moved since last week and what did not, isolates the deals that are stuck, and gives you the specific question to ask on each one. You run the meeting off findings, not off a scroll through the CRM.

── THE METHOD
  1. 1
    Coverage vs target

    Open pipeline for the period divided by the target, compared to your expected COVERAGE_RATIO. Shown as a ratio and as a gap in currency. If coverage is below the ratio, the review is a pipeline-generation conversation, not a deal-by-deal one. Say which it is up front.

  2. 2
    Stage aging

    Every deal is aged against the day it entered its current stage, not the day it was created. Deals past the AGING_DAYS threshold for their stage are flagged. Aging is per-stage because a week in negotiation is not a week in discovery.

  3. 3
    Week-over-week movement

    Three lists: what advanced a stage, what slipped or pushed a close date, and what did not move at all. The did-not-move list is the one most reviews skip and the one that predicts the miss.

  4. 4
    Stuck-deal isolation

    A deal is stuck if it is past AGING_DAYS in stage with no forward step and no recent activity. These get pulled out of the roll-up and reviewed on their own, because averaging them into the total hides them.

  5. 5
    The question per deal

    Each stuck or slipping deal gets one scripted question aimed at the reason it is stuck: no next step, single-thread, close date drift, or a stage it does not qualify for. The question makes the rep commit to a date or a decision.

── QUALITY GATES
  • Coverage is stated as a ratio and a currency gap, never a vibe.
  • Aging is per-stage and measured from stage-entry, never from create date.
  • The did-not-move list is always shown, even when it is uncomfortable.
  • Every stuck deal carries one scripted question, not a general "let's discuss."
── OUTPUT (EXAMPLE)
EXAMPLE OUTPUT
PIPELINE REVIEW · period target $600K
Coverage: $1.42M open / $600K target = 2.4x (below 3x, short ~$360K)

Stage aging (flagged past threshold):
  Vertex     Negotiation   34 days   no next step
  Blend Labs Discovery     28 days   single-thread

Week-over-week:
  Advanced (2):  Acme -> Proposal, Cirrus -> Negotiation
  Slipped (1):   Northwind close pushed to next month
  Did not move (3): Vertex, Blend Labs, Delta

Ask on the stuck ones:
  1. Vertex. 34 days in negotiation. What single thing closes this, and when?
  2. Blend Labs. One contact for 4 weeks. Who else needs to be in the room?
  3. Coverage. Below 3x. Where do the next 5 deals come from?
── WHERE THE NUMBERS COME FROM

COVERAGE_RATIO (3x), and the per-stage AGING_DAYS defaults are starting points, not laws. They suited a mid-market SaaS cycle with a healthy win rate. If your win rate is higher, a lower ratio covers you. If your stages run long, raise the aging thresholds. The runbook does not change. The thresholds are yours.

── EXAMPLE CHAT
EXAMPLE CHAT
You
Prep my pipeline review. Team target's $600K this period. [pastes stage export]
CLAUDE
Here's the agenda, findings first. Coverage: $1.42M open / $600K target = 2.4x (below 3x, short ~$360K) Stage aging (flagged past threshold): Vertex Negotiation 34 days no next step Blend Labs Discovery 28 days single-thread Coverage is below your 3x bar, so I'd open the meeting as a pipeline-generation conversation, not a deal-by-deal one. That framing changes what the room should be talking about for the first ten minutes.
You
What do I actually ask Vertex's owner?
CLAUDE
1. Vertex. 34 days in negotiation. What single thing closes this, and when? 2. Blend Labs. One contact for 4 weeks. Who else needs to be in the room? Each question is aimed at the specific reason the deal is stuck, not a general "let's discuss." Sharpener: connect the CRM so week-over-week movement tracks automatically, which removes the need to keep a manual snapshot from last week's review.
04 / GO FURTHER

Where an operator takes this next.

Running this off a pasted export proves the runbook finds the right deals. Here's the version that never needs a manual snapshot again.

The runbook finds the deals worth discussing. The connectors are what keep the list current without you doing the pull.

01
Track movement without keeping your own copy

Connect the CRM so week-over-week comparison runs automatically against last week's live state, not a file you remembered to save.

02
Surface the stuck deals before the meeting

A scheduled Claude task runs the aging and stuck-deal check every Friday and drops the agenda into Slack ahead of Monday's review.

03
Confirm cold versus quiet

Connect a meeting or email tool so a "no next step" deal gets checked against real inbox activity before it lands on the stuck list, catching the ones that are actually progressing off-CRM.

05 / PART OF A BIGGER PLAY

One skill is the on-ramp.

── GET NEW SKILLS IN YOUR INBOX

One operator-built skill a week. Free.