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.
Install it in one line, or paste it in.
~/.claude/skills/ and runs automatically when it is relevant.Connect your context. Set it to your motion.
it reads all of the above automatically and can compare to last week without you keeping a snapshot.
confirms which stuck deals are actually cold versus quietly progressing.
adds trial momentum on deals gated by a pilot.
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 this | What it is | Default / Example |
|---|---|---|
| STAGE field | the opportunity stage | Opportunity.StageName |
| AMOUNT field | the number that rolls up | Opportunity.AmountARR |
| STAGE_ENTRY field | when the deal entered its stage | last stage-change date |
| ACTIVITY sources | where "last touch" lives | AccountOpportunityTaskEvent dates |
| TARGET | the period quota to cover | your team or rep target |
| COVERAGE_RATIO | pipeline-to-target you expect | 3x (re-tune to your win rate) |
| AGING_DAYS | days in stage that count as aged | per-stagee.g. 21 (re-tune) |
Everything the skill does, in full.
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.
- 1Coverage 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.
- 2Stage 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.
- 3Week-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.
- 4Stuck-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.
- 5The 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.
- 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."
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?
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.
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.
Connect the CRM so week-over-week comparison runs automatically against last week's live state, not a file you remembered to save.
A scheduled Claude task runs the aging and stuck-deal check every Friday and drops the agenda into Slack ahead of Monday's review.
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.
One skill is the on-ramp.
A single skill does one job. Chained into a playbook, or run as a full build, it becomes a system. Here is where this one plugs in.