// execute
Pipeline And Forecast
Use when the user wants to forecast sales or check pipeline health — whether there's enough pipeline to hit the number and what's likely to close. Also use when the user mentions sales forecast, pipeline coverage, weighted pipeline, quota attainment, pipeline gap, commit vs best case, coverage ratio, or "will we hit our number." Produces a weighted forecast (commit vs best case), a pipeline coverage ratio against the target, the gap, and how much new pipeline is needed.
npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecast// when to use it
Use when the user wants to forecast sales or check pipeline health — whether there's enough pipeline to hit the number and what's likely to close. Also use when the user mentions sales forecast, pipeline coverage, weighted pipeline, quota attainment, pipeline gap, commit vs best case, coverage ratio, or "will we hit our number." Produces a weighted forecast (commit vs best case), a pipeline coverage ratio against the target, the gap, and how much new pipeline is needed.
// what you give
The target/quota, open deals (amount + stage), the stage-to-probability mapping, and the average win rate.
// what you get
A weighted forecast (commit vs best case), coverage ratio, gap to target, new pipeline needed, and the recommended lever.
Pipeline & Forecast
See whether the pipeline can actually hit the target — weighted forecast, coverage, the gap, and how much new pipeline to build.
When to use
When forecasts are sandbagged or wishful and you want a grounded number, when you need to know whether there's enough pipeline to make quota, when deciding whether to add pipeline or push the deals you have, or for board/quota reporting.
Before you start
- Read the brand/product context first. Pull any relevant goals/targets from
.agents/product-marketing.md. If none exists, ask the user. - Gather inputs: the target/quota for the period, the open deals (amount + stage), the stage→probability mapping (from
sales-process-designor historical conversion — not optimism), and the average win rate. If stages and probabilities aren't defined, runsales-process-designfirst. - Confirm the objective: a defensible number and the right lever to pull. (For LTV/CAC/payback questions, that's
unit-economics.)
Method
Weight open pipeline by real stage probabilities to get an expected forecast, then compare open pipeline to the target as a coverage ratio against the ~1/win-rate benchmark. Separate commit (near-certain) from best case (everything open) so the number is honest, and name the lever: build pipeline if coverage is thin, or improve conversion if coverage is fine but the forecast is short.
Workflow
- Gather the target and the open pipeline — deals with amount and stage.
- Apply stage→probability weights from real conversion history to get the weighted forecast.
- Compute coverage = open pipeline ÷ target (the engine flags it against ~1/win-rate).
- Compute the gap and the new pipeline needed = gap ÷ win rate.
- Separate commit from best case.
- Name the lever and present the result.
The framework
weighted forecast = Σ (deal amount × stage probability)
coverage = open pipeline ÷ target
required coverage ≈ 1 ÷ win rate
gap = target − weighted forecast
new pipeline need = gap ÷ win rate
commit = Σ amount for deals at prob ≥ 0.75 · best case = Σ amount (all open)
Run the tool
Paths assume you installed with
npx skills add. From a clone of this repo, useskills/pipeline-and-forecast/resources/…instead.
node .agents/skills/pipeline-and-forecast/resources/forecast.js --input=pipeline.json
node .agents/skills/pipeline-and-forecast/resources/forecast.js # built-in demo
Input JSON: { "target": 500000, "winRate": 0.25, "stageProbabilities": { "Proposal": 0.5, ... }, "deals": [ { "name": "Acme", "amount": 60000, "stage": "Proposal" } ] }. It prints the weighted forecast, commit vs best case, coverage ratio with a healthy/thin flag, the gap, the new pipeline needed, and the recommended lever. Use these exact numbers — don't restate them from memory.
Reference
The forecast engine and its input shape live in resources/forecast.js. Stage probabilities should come from sales-process-design or historical conversion data.
Present the result
- Weighted forecast, with commit vs best case.
- Coverage ratio against target, with a healthy/thin flag.
- Gap to target and new pipeline needed at the current win rate.
- The recommended lever — build pipeline vs. improve conversion.
Guardrails & common mistakes
- Probabilities must come from real conversion history. Flag clearly when they're assumed — an optimistic forecast is just a wish.
- Keep commit and best case separate. Reporting only the upside is how forecasts miss.
- Fit the benchmark to the win rate. A 3× coverage rule is wrong at a 10% win rate.
- Mark assumed inputs as assumptions so no one mistakes the model for a promise.
Related AAJ resources
- AAJ tools — https://aajconsult.com/tools.
Related skills
sales-process-design · target-account-list · unit-economics · marketing-budget-planning
Credits
Original AAJ skill. The Agent Skills format and the marketing-skills catalog by Corey Haines (coreyhaines31/marketingskills, MIT) were references for structure and coverage; this skill is independently written. See the repository README for the full reference list.
// faq
// install
npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecast// run it
node .agents/skills/pipeline-and-forecast/resources/forecast.js --demo// worked example
Get the worked example for pipeline-and-forecast
One email. The filled-in config, the output, and how to read it.
// sprint
Unit Economics & Retention Sprint — $3,500, 10 business days
This skill is one of the engines behind the Unit Economics & Retention Sprint — $3,500, ten business days.
LTV, CAC, payback and churn on your actual numbers — with a verdict, not a dashboard.
// human in the loop
Need a human in the loop?
AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.
Skills