Forecast a defensible range, not a hero number.
Category definitions, coverage math, historical conversion, and a low / likely / high range vs quota.
Inside: The category rules, the coverage math, and the range.
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 the live pipeline and category assignments automatically, across every rep.
it pulls historical close rates by category and stage so the model runs on your numbers, not a benchmark.
pushes the range and coverage into a dashboard leadership can watch move.
This was built for a B2B SaaS org forecasting a quarter on a staged pipeline. Set these to your stack:
Pin your category rules first. A commit that means "rep feels good" and a commit that means "verbal yes, paper in legal" produce very different forecasts from the same pipeline.
| Set this | What it is | Default / Example |
|---|---|---|
| CRM | your CRM connector | a CRM (Salesforce |
| WAREHOUSE | optional history source | a data warehouse (SnowflakeBigQuery) |
| CATEGORIES | your forecast categories | CommitBest CasePipelineOmitted |
| CATEGORY rules | what qualifies a deal for each | your entry criteria per category |
| TARGET | the number for the period | quotaper rep and rolled up |
| PERIOD | the forecast window | current quarter |
| HISTORY window | how far back conversion is drawn | trailing 4 quarters |
Everything the skill does, in full.
Reads your open pipeline and builds a forecast that survives scrutiny. It pins what each category actually means, computes coverage against the number you have to hit, applies your own historical conversion instead of a hopeful guess, and reports a range with a low, likely, and high case rather than one number that is wrong to the dollar. The output tells you not just what you will close but how much to trust it.
- 1Category definitions
State what each category means as an entry rule, not a vibe. Commit is deals meeting the commit criteria. Best Case is upside that could close with things breaking right. Pipeline is everything else still live. Omitted is out. Every deal lands in exactly one, and the rule is printed.
- 2Coverage math
Divide open pipeline for the period by the target to get coverage. Report it overall and per rep. A team needing the number with 1.5x coverage is in a different reality than one with 4x, and the forecast should say which. State the coverage ratio, do not bury it.
- 3Historical conversion
Apply your own trailing close rate by category and stage, not a benchmark and not 100 percent of commit. If commit historically closes at 85 percent, the model says so. Where history is too thin to trust, widen the range instead of pretending precision.
- 4The range, not the number
Report three cases. Low is roughly commit at its historical rate. Likely blends commit and a slice of best case at their rates. High is commit plus best case landing well. A single number is a false promise. A range with its assumptions printed is a forecast.
- 5Gap to target
Set the range against the target and name the gap or the cushion. If the likely case lands short, say by how much and what category would have to overperform to close it. That is the sentence leadership actually needs.
- Every category prints its entry rule. No undefined commit.
- Conversion rates are historical and sourced, never assumed at 100 percent.
- The forecast is always a range. Any single number is labeled as one case within it.
- Thin history widens the range. The model never fakes precision it has not earned.
FORECAST · current quarter · target $2.40M · coverage 2.8x Category Open $ Hist. close Weighted Commit $1.10M 85% $0.94M Best Case $0.90M 42% $0.38M Pipeline $1.80M 14% $0.25M Range for the quarter: Low $0.98M commit at rate, best case misses Likely $1.55M commit + partial best case at historical rates High $2.05M commit + best case land well Gap: likely case is $0.85M short of target. Best Case would need to nearly double its close rate to close it.
The history window (trailing 4 quarters) and the blend that builds the likely case are defaults, not laws. They suited a mid-market SaaS quarter. If your cycle is longer or your volume thinner, widen the history and the range. The category rules and close rates are yours.
Where an operator takes this next.
The model works from a pasted pipeline snapshot. Here is where it stops being a one-time build.
A forecast that updates itself is one nobody has to defend from memory.
A scheduled Claude task rebuilds the range every Monday from Salesforce so the gap-to-target number is never more than a week stale.
Connect Snowflake or your warehouse so category-to-stage conversion is computed from actual closed deals, not a single quarter's snapshot.
Send the low/likely/high case into a BI dashboard so the range updates live instead of living in a slide that's out of date by the next standup.
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.