commercial-forecaster — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited commercial-forecaster (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Help Commercial leaders answer three questions at the forecast moment:
The skill recommends three forecast numbers + an explicit assumption block. The CRO presents the number, the board sees the assumptions, the theatre dies.
Do not use for:
finance/financial-analysisc-level-advisor/cfo-advisorc-level-advisor/cro-advisorpricing-strategist (projects revenue at prices already set)deal-deskFill assets/forecast_intake_template.md (≈ 20 min). Captures: opportunity list with stage/amount/close-date/age/last-activity; historical stage-to-stage conversion across last 4Q and last 12Q; per-cohort ARR + per-quarter retention + expansion data; funnel stage names with 12-quarter conversion history.
scripts/bookings_forecaster.py --input intake.json --profile saas --output markdownOutputs three numbers — commit, best-case, pipe-only — each with the conversion rate applied, the data window used (last-4Q vs. last-12Q weighted 70/30), and the time-to-close probability adjustment. Surfaces variance between commit and pipe-only as the pipeline-risk indicator.
The assumption block is non-optional. If you remove it, the forecast becomes theatre.
scripts/cohort_arr_projector.py --input intake.json --output markdownComputes per-cohort NRR + GRR over the projection horizon. Flags any cohort whose NRR is declining vs. the trailing-cohort average — these are the leaky cohorts that the consolidated number will hide for 2-3 quarters before the leak surfaces in the topline.
Output includes the consolidated NRR/GRR trajectory + the cohort heatmap + a leaky-cohort callout.
scripts/funnel_confidence_scorer.py --input intake.json --output markdownPer stage: mean conversion %, standard deviation, coefficient of variation (CoV = StDev / Mean), confidence band (HIGH < 10%, MEDIUM 10-25%, LOW 25-50%, VERY LOW > 50%). Recommends treatment per stage: extend-data-window, treat-as-soft-floor, or commit-quality.
Take the 3-tier bookings number + cohort heatmap + funnel confidence into the QBR / board deck. The assumption block goes on the slide with the number. If the slide has a single number and no assumption block, the slide is theatre.
scripts/bookings_forecaster.py — 3-tier bookings forecast (commit / best-case / pipe-only) with disclosed conversion-rate + data-window + weighting blockscripts/cohort_arr_projector.py — per-cohort NRR/GRR projection over horizon with leaky-cohort calloutscripts/funnel_confidence_scorer.py — per-stage CoV-based confidence bands with treatment recommendationAll scripts: stdlib only. --help and --sample work on all three.
references/saas_forecasting_canon.md — Skok, Tunguz, OpenView, BVP, Pacific Crest/KeyBanc, ProfitWell, Patrick Campbellreferences/cohort_analysis_canon.md — Andrew Chen (a16z), Brian Balfour, Skok, Ramanujam, OpenView, Lenny Rachitsky, Reforgereferences/forecast_anti_patterns.md — McKinsey, Tunguz, OpenView, MIT Sloan, Bain, Forrester, Pacific Crestforecast_anti_patterns.md.cohort_arr_projector.py flags a cohort and you suppress the flag in the deck, the leak owns you next quarter.Walked one at a time by /cs:grill-commercial or the orchestrator. Recommended answer + canon citation per question. Never bundled.
Recommended: a 70/30 blend (last-4Q weighted 70%, last-12Q weighted 30%). Last-12Q alone hides recent slowdown; last-4Q alone overfits one bad quarter. Canon: Tomasz Tunguz (Theory Ventures) — forecasting studies show single-window conversion estimates miss regime change at ~3-quarter lag.
Recommended: 3x coverage is the SaaS-industry floor; below 3x means your commit is structurally unsupported. Canon: Pacific Crest / KeyBanc SaaS Survey — top-quartile SaaS companies maintain 3.0-4.5x pipeline coverage against committed bookings.
Recommended: never report a consolidated NRR without the per-cohort breakdown. Leaky cohorts hide in averages. Canon: Patrick Campbell (ProfitWell) + David Skok — cohort-driven retention decomposition surfaces leaks 2-3 quarters before consolidated NRR moves.
Recommended: CoV < 10% → commit-grade; 10-25% → moderate; 25-50% → soft floor only; > 50% → do not use this stage for forecasting. Canon: MIT Sloan forecasting research / Hyndman & Athanasopoulos (Forecasting: Principles and Practice) — CoV on the input series predicts forecast accuracy more reliably than mean.
Recommended: stage-age > 2x the median stage-duration → treat as stalled, exclude from commit, keep in pipe-only. Canon: David Skok (For Entrepreneurs) — stalled-opp identification by stage-age is the #1 forecast hygiene practice in top-decile SaaS pipelines.
Recommended: if best-case is < 50% of pipe-only, your stage-conversion assumptions are pessimistic and you're sandbagging; if best-case > 80% of pipe-only, you're hockey-sticking. Canon: McKinsey research on forecast bias + OpenView SaaS benchmarks — most teams operate in one of two failure modes: sandbagging (commit << earnings) or hockey-sticking (commit >> earnings).
Recommended: every forecast number on a board slide names (a) the conversion rate, (b) the data window, (c) the weighting choice, (d) the pipeline-coverage ratio. No assumption block = the slide is theatre. Canon: Bain & Company commercial-forecasting practice + Forrester pipeline-coverage research — undisclosed-assumption forecasts have 2.3x higher variance against actuals than disclosed-assumption forecasts.
Walk depth-first. Lock 1-3 before opening 4-7. After all 7 are answered, invoke bookings_forecaster.py → cohort_arr_projector.py → funnel_confidence_scorer.py in sequence.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.