[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M777FRFCJS8BWEPYDF5AW3CQ":3,"skill-same:01M777FRFCJS8BWEPYDF5AW3CQ":99},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M777FRFCJS8BWEPYDF5AW3CQ","commercial-forecaster",null,"Use when building a quarterly bookings forecast, ARR projection, pipeline forecast, NRR projection, or commit\u002Fbest-case\u002Fpipe-only board number — especially when the CRO needs to walk the board through funnel math + cohort ARR + per-stage conversion assumptions without the theatre of a single undefended number. Decomposes pipeline into commit, best-case, and pipe-only tiers; projects cohort-level NRR\u002FGRR to surface leaky cohorts before they show up in the consolidated number; scores per-stage funnel confidence so soft-floor stages get treated differently from high-confidence ones. Every output explicitly names the conversion rate used, the data window, and the weighting choice. For Head of Commercial, RevOps, VP Sales, and CRO at quarterly forecast or board prep. NOT financial close (see finance\u002Ffinancial-analysis). NOT strategic CRO hiring\u002Fterritory (see c-level-advisor\u002Fcro-advisor). NOT pricing (see sibling pricing-strategist).","kruxshnx\u002Fclaude-skills-devin","kruxshnx","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F127938788?v=4","01M757YM3F96N4K1BSE7Z0NQK7","ARJANGI GOVINDA KRISHNA","01M757YM43H5T7MP2B3DC13GZ2",2,"MIT","https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: commercial-forecaster\ndescription: \"Use when building a quarterly bookings forecast, ARR projection, pipeline forecast, NRR projection, or commit\u002Fbest-case\u002Fpipe-only board number — especially when the CRO needs to walk the board through funnel math + cohort ARR + per-stage conversion assumptions without the theatre of a single undefended number. Decomposes pipeline into commit, best-case, and pipe-only tiers; projects cohort-level NRR\u002FGRR to surface leaky cohorts before they show up in the consolidated number; scores per-stage funnel confidence so soft-floor stages get treated differently from high-confidence ones. Every output explicitly names the conversion rate used, the data window, and the weighting choice. For Head of Commercial, RevOps, VP Sales, and CRO at quarterly forecast or board prep. NOT financial close (see finance\u002Ffinancial-analysis). NOT strategic CRO hiring\u002Fterritory (see c-level-advisor\u002Fcro-advisor). NOT pricing (see sibling pricing-strategist).\"\nversion: 2.8.0\nauthor: claude-code-skills\nlicense: MIT\ntags: [commercial, forecasting, bookings, arr, nrr, grr, cohort, funnel, pipeline-math]\ncompatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]\n---\n\n# commercial-forecaster\n\n## Purpose\n\nHelp Commercial leaders answer three questions at the forecast moment:\n\n1. **What's the commit \u002F best-case \u002F pipe-only number?** (3-tier bookings forecast with disclosed assumptions)\n2. **Which cohorts are leaking, and is the consolidated NRR hiding the leak?** (per-cohort NRR\u002FGRR projection over horizon)\n3. **Which funnel stages are reliable, and which are statistical noise?** (per-stage coefficient-of-variation confidence band)\n\nThe skill recommends **three forecast numbers + an explicit assumption block**. The CRO presents the number, the board sees the assumptions, the theatre dies.\n\n## When to use\n\n- Building the quarterly bookings forecast for the board\n- Preparing the QBR forecast where the CFO will ask \"what's the commit, what's the best-case, what's the pipe-only\"\n- Projecting ARR for next 4-8 quarters using cohort retention data\n- Suspecting a consolidated NRR number is hiding a leaky recent cohort\n- Pipeline-coverage is shrinking and you need to know which stages are still trustworthy\n- You're being asked for a \"single number\" and you need the structured answer that surfaces the assumption\n\n**Do not use for:**\n- Backward-looking financial close + reporting → `finance\u002Ffinancial-analysis`\n- Strategic financial planning (multi-year, scenario, fundraise) → `c-level-advisor\u002Fcfo-advisor`\n- \"Should we hire a VP Sales?\" \u002F territory design \u002F comp plan → `c-level-advisor\u002Fcro-advisor`\n- Setting prices → sibling `pricing-strategist` (projects revenue *at* prices already set)\n- Per-deal discount approval → sibling `deal-desk`\n\n## Workflow\n\n### Step 1 — Intake pipeline + cohort + historical conversion data\n\nFill `assets\u002Fforecast_intake_template.md` (≈ 20 min). Captures: opportunity list with stage\u002Famount\u002Fclose-date\u002Fage\u002Flast-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.\n\n### Step 2 — Run 3-tier bookings forecast\n\n```\nscripts\u002Fbookings_forecaster.py --input intake.json --profile saas --output markdown\n```\n\nOutputs three numbers — **commit**, **best-case**, **pipe-only** — each with the conversion rate applied, the data window used (last-4Q vs. last-12Q weighted 70\u002F30), and the time-to-close probability adjustment. Surfaces variance between commit and pipe-only as the pipeline-risk indicator.\n\n**The assumption block is non-optional.** If you remove it, the forecast becomes theatre.\n\n### Step 3 — Project cohort-level ARR\n\n```\nscripts\u002Fcohort_arr_projector.py --input intake.json --output markdown\n```\n\nComputes 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.\n\nOutput includes the consolidated NRR\u002FGRR trajectory + the cohort heatmap + a leaky-cohort callout.\n\n### Step 4 — Score per-stage funnel confidence\n\n```\nscripts\u002Ffunnel_confidence_scorer.py --input intake.json --output markdown\n```\n\nPer stage: mean conversion %, standard deviation, coefficient of variation (CoV = StDev \u002F Mean), confidence band (HIGH \u003C 10%, MEDIUM 10-25%, LOW 25-50%, VERY LOW > 50%). Recommends treatment per stage: extend-data-window, treat-as-soft-floor, or commit-quality.\n\n### Step 5 — Assemble the forecast deck\n\nTake the 3-tier bookings number + cohort heatmap + funnel confidence into the QBR \u002F 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.\n\n## Scripts\n\n- `scripts\u002Fbookings_forecaster.py` — 3-tier bookings forecast (commit \u002F best-case \u002F pipe-only) with disclosed conversion-rate + data-window + weighting block\n- `scripts\u002Fcohort_arr_projector.py` — per-cohort NRR\u002FGRR projection over horizon with leaky-cohort callout\n- `scripts\u002Ffunnel_confidence_scorer.py` — per-stage CoV-based confidence bands with treatment recommendation\n\nAll scripts: stdlib only. `--help` and `--sample` work on all three.\n\n## References\n\n- `references\u002Fsaas_forecasting_canon.md` — Skok, Tunguz, OpenView, BVP, Pacific Crest\u002FKeyBanc, ProfitWell, Patrick Campbell\n- `references\u002Fcohort_analysis_canon.md` — Andrew Chen (a16z), Brian Balfour, Skok, Ramanujam, OpenView, Lenny Rachitsky, Reforge\n- `references\u002Fforecast_anti_patterns.md` — McKinsey, Tunguz, OpenView, MIT Sloan, Bain, Forrester, Pacific Crest\n\n## Assumptions\n\n- **Historical conversion is the prior, not the truth.** Last 4Q is weighted 70%, last 12Q is weighted 30%. The blend captures regime change (recent slowdown) without overfitting to a single bad quarter. Window + weighting are surfaced in every output.\n- **A forecast without a disclosed assumption block is theatre.** This is the skill's hard rule. The CLI refuses to omit the assumption block.\n- **Cohort decomposition reveals leaks 2-3 quarters before the consolidated number does.** Reporting NRR without per-cohort breakdown hides the leak.\n- **CoV (coefficient of variation) is the right discipline for stage confidence.** A stage with mean conversion 40% and stdev 4% (CoV 10%) is HIGH confidence; mean 40% stdev 20% (CoV 50%) is VERY LOW. The same average masks very different reliability.\n- **Industry profile tunes priors, not truth.** Profile shifts default stage-conversion rates by industry; your historical data overrides.\n- **The skill emits three numbers and an assumption block.** The CRO picks the commit number, owns the trade-off, and walks the board through the variance.\n\n## Anti-patterns\n\n- **Single-number forecast with no confidence band.** The board asks for \"the number\"; the discipline is to present three with named assumptions. See `forecast_anti_patterns.md`.\n- **Using last-12-quarter conversion blindly.** Hides recent slowdown. The 70\u002F30 blend on last-4Q vs. last-12Q corrects this.\n- **Reporting NRR without cohort decomposition.** The consolidated number can be flat while a recent cohort is leaking 15 pp; the leak surfaces in the topline 2-3 quarters later. Always decompose.\n- **Treating best-case as commit.** The CFO will eat you. Best-case includes weighted-stage opps that have a \u003C 50% time-to-close probability; commit only includes commit-grade stages.\n- **Hiding the assumption block.** The skill refuses; if you remove it manually, you own the theatre.\n- **No leaky-cohort callout.** If `cohort_arr_projector.py` flags a cohort and you suppress the flag in the deck, the leak owns you next quarter.\n- **Ignoring late-stage opp age.** A \"verbal\" deal that's been verbal for 180 days is not a commit. The bookings forecaster downweights stalled opps automatically; do not re-up them by hand.\n- **No pipeline-coverage check.** Industry rule of thumb: forecast > pipeline ÷ 3 is anti-pattern. The tool surfaces the ratio; respect it.\n\n## Distinct from\n\n- **`finance\u002Ffinancial-analysis`** — backward-looking financial close, GAAP\u002FIFRS reporting, variance vs. budget. commercial-forecaster is forward-looking pipeline math.\n- **`c-level-advisor\u002Fcfo-advisor`** — strategic multi-year financial planning, fundraise scenarios, runway. commercial-forecaster is one input to the CFO, not the strategy.\n- **`c-level-advisor\u002Fcro-advisor`** — strategic CRO judgment: \"do we hire a VP Sales?\", territory design, comp plan, when to add a sales engineer. commercial-forecaster is the math the CRO uses; cro-advisor is the judgment the CRO applies.\n- **sibling `pricing-strategist`** — sets the price (model + range). commercial-forecaster *projects revenue at those prices*. Pricing comes first; forecast comes after.\n- **sibling `deal-desk`** — per-deal scoring + discount approval routing. commercial-forecaster aggregates the pipeline that deal-desk operates on day-by-day.\n\n## Forcing-question library (Matt Pocock grill discipline)\n\nWalked one at a time by `\u002Fcs:grill-commercial` or the orchestrator. Recommended answer + canon citation per question. Never bundled.\n\n1. **\"What conversion rate are you using, and is it last-4Q or last-12Q?\"**\n   Recommended: a 70\u002F30 blend (last-4Q weighted 70%, last-12Q weighted 30%). Last-12Q alone hides recent slowdown; last-4Q alone overfits one bad quarter.\n   Canon: Tomasz Tunguz (Theory Ventures) — forecasting studies show single-window conversion estimates miss regime change at ~3-quarter lag.\n\n2. **\"What's your pipeline coverage ratio, and is your commit above pipeline ÷ 3?\"**\n   Recommended: 3x coverage is the SaaS-industry floor; below 3x means your commit is structurally unsupported.\n   Canon: Pacific Crest \u002F KeyBanc SaaS Survey — top-quartile SaaS companies maintain 3.0-4.5x pipeline coverage against committed bookings.\n\n3. **\"Can you show me NRR by cohort, not just consolidated?\"**\n   Recommended: never report a consolidated NRR without the per-cohort breakdown. Leaky cohorts hide in averages.\n   Canon: Patrick Campbell (ProfitWell) + David Skok — cohort-driven retention decomposition surfaces leaks 2-3 quarters before consolidated NRR moves.\n\n4. **\"What's the variance (CoV) on each stage's conversion rate over the last 12 quarters?\"**\n   Recommended: CoV \u003C 10% → commit-grade; 10-25% → moderate; 25-50% → soft floor only; > 50% → do not use this stage for forecasting.\n   Canon: MIT Sloan forecasting research \u002F Hyndman & Athanasopoulos (*Forecasting: Principles and Practice*) — CoV on the input series predicts forecast accuracy more reliably than mean.\n\n5. **\"How long has each late-stage opp been in late-stage?\"**\n   Recommended: stage-age > 2x the median stage-duration → treat as stalled, exclude from commit, keep in pipe-only.\n   Canon: David Skok (*For Entrepreneurs*) — stalled-opp identification by stage-age is the #1 forecast hygiene practice in top-decile SaaS pipelines.\n\n6. **\"Is your best-case forecast within 30% of your pipe-only?\"**\n   Recommended: if best-case is \u003C 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.\n   Canon: McKinsey research on forecast bias + OpenView SaaS benchmarks — most teams operate in one of two failure modes: sandbagging (commit \u003C\u003C earnings) or hockey-sticking (commit >> earnings).\n\n7. **\"What assumption block accompanies the number on the board slide?\"**\n   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.\n   Canon: Bain & Company commercial-forecasting practice + Forrester pipeline-coverage research — undisclosed-assumption forecasts have 2.3x higher variance against actuals than disclosed-assumption forecasts.\n\nWalk 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.\n","# commercial-forecaster\n\n## Purpose\n\nHelp Commercial leaders answer three questions at the forecast moment:\n\n1. **What's the commit \u002F best-case \u002F pipe-only number?** (3-tier bookings forecast with disclosed assumptions)\n2. **Which cohorts are leaking, and is the consolidated NRR hiding the leak?** (per-cohort NRR\u002FGRR projection over horizon)\n3. **Which funnel stages are reliable, and which are statistical noise?** (per-stage coefficient-of-variation confidence band)\n\nThe skill recommends **three forecast numbers + an explicit assumption block**. The CRO presents the number, the board sees the assumptions, the theatre dies.\n\n## When to use\n\n- Building the quarterly bookings forecast for the board\n- Preparing the QBR forecast where the CFO will ask \"what's the commit, what's the best-case, what's the pipe-only\"\n- Projecting ARR for next 4-8 quarters using cohort retention data\n- Suspecting a consolidated NRR number is hiding a leaky recent cohort\n- Pipeline-coverage is shrinking and you need to know which stages are still trustworthy\n- You're being asked for a \"single number\" and you need the structured answer that surfaces the assumption\n\n**Do not use for:**\n- Backward-looking financial close + reporting → `finance\u002Ffinancial-analysis`\n- Strategic financial planning (multi-year, scenario, fundraise) → `c-level-advisor\u002Fcfo-advisor`\n- \"Should we hire a VP Sales?\" \u002F territory design \u002F comp plan → `c-level-advisor\u002Fcro-advisor`\n- Setting prices → sibling `pricing-strategist` (projects revenue *at* prices already set)\n- Per-deal discount approval → sibling `deal-desk`\n\n## Workflow\n\n### Step 1 — Intake pipeline + cohort + historical conversion data\n\nFill `assets\u002Fforecast_intake_template.md` (≈ 20 min). Captures: opportunity list with stage\u002Famount\u002Fclose-date\u002Fage\u002Flast-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.\n\n### Step 2 — Run 3-tier bookings forecast\n\n```\nscripts\u002Fbookings_forecaster.py --input intake.json --profile saas --output markdown\n```\n\nOutputs three numbers — **commit**, **best-case**, **pipe-only** — each with the conversion rate applied, the data window used (last-4Q vs. last-12Q weighted 70\u002F30), and the time-to-close probability adjustment. Surfaces variance between commit and pipe-only as the pipeline-risk indicator.\n\n**The assumption block is non-optional.** If you remove it, the forecast becomes theatre.\n\n### Step 3 — Project cohort-level ARR\n\n```\nscripts\u002Fcohort_arr_projector.py --input intake.json --output markdown\n```\n\nComputes 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.\n\nOutput includes the consolidated NRR\u002FGRR trajectory + the cohort heatmap + a leaky-cohort callout.\n\n### Step 4 — Score per-stage funnel confidence\n\n```\nscripts\u002Ffunnel_confidence_scorer.py --input intake.json --output markdown\n```\n\nPer stage: mean conversion %, standard deviation, coefficient of variation (CoV = StDev \u002F Mean), confidence band (HIGH \u003C 10%, MEDIUM 10-25%, LOW 25-50%, VERY LOW > 50%). Recommends treatment per stage: extend-data-window, treat-as-soft-floor, or commit-quality.\n\n### Step 5 — Assemble the forecast deck\n\nTake the 3-tier bookings number + cohort heatmap + funnel confidence into the QBR \u002F 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.\n\n## Scripts\n\n- `scripts\u002Fbookings_forecaster.py` — 3-tier bookings forecast (commit \u002F best-case \u002F pipe-only) with disclosed conversion-rate + data-window + weighting block\n- `scripts\u002Fcohort_arr_projector.py` — per-cohort NRR\u002FGRR projection over horizon with leaky-cohort callout\n- `scripts\u002Ffunnel_confidence_scorer.py` — per-stage CoV-based confidence bands with treatment recommendation\n\nAll scripts: stdlib only. `--help` and `--sample` work on all three.\n\n## References\n\n- `references\u002Fsaas_forecasting_canon.md` — Skok, Tunguz, OpenView, BVP, Pacific Crest\u002FKeyBanc, ProfitWell, Patrick Campbell\n- `references\u002Fcohort_analysis_canon.md` — Andrew Chen (a16z), Brian Balfour, Skok, Ramanujam, OpenView, Lenny Rachitsky, Reforge\n- `references\u002Fforecast_anti_patterns.md` — McKinsey, Tunguz, OpenView, MIT Sloan, Bain, Forrester, Pacific Crest\n\n## Assumptions\n\n- **Historical conversion is the prior, not the truth.** Last 4Q is weighted 70%, last 12Q is weighted 30%. The blend captures regime change (recent slowdown) without overfitting to a single bad quarter. Window + weighting are surfaced in every output.\n- **A forecast without a disclosed assumption block is theatre.** This is the skill's hard rule. The CLI refuses to omit the assumption block.\n- **Cohort decomposition reveals leaks 2-3 quarters before the consolidated number does.** Reporting NRR without per-cohort breakdown hides the leak.\n- **CoV (coefficient of variation) is the right discipline for stage confidence.** A stage with mean conversion 40% and stdev 4% (CoV 10%) is HIGH confidence; mean 40% stdev 20% (CoV 50%) is VERY LOW. The same average masks very different reliability.\n- **Industry profile tunes priors, not truth.** Profile shifts default stage-conversion rates by industry; your historical data overrides.\n- **The skill emits three numbers and an assumption block.** The CRO picks the commit number, owns the trade-off, and walks the board through the variance.\n\n## Anti-patterns\n\n- **Single-number forecast with no confidence band.** The board asks for \"the number\"; the discipline is to present three with named assumptions. See `forecast_anti_patterns.md`.\n- **Using last-12-quarter conversion blindly.** Hides recent slowdown. The 70\u002F30 blend on last-4Q vs. last-12Q corrects this.\n- **Reporting NRR without cohort decomposition.** The consolidated number can be flat while a recent cohort is leaking 15 pp; the leak surfaces in the topline 2-3 quarters later. Always decompose.\n- **Treating best-case as commit.** The CFO will eat you. Best-case includes weighted-stage opps that have a \u003C 50% time-to-close probability; commit only includes commit-grade stages.\n- **Hiding the assumption block.** The skill refuses; if you remove it manually, you own the theatre.\n- **No leaky-cohort callout.** If `cohort_arr_projector.py` flags a cohort and you suppress the flag in the deck, the leak owns you next quarter.\n- **Ignoring late-stage opp age.** A \"verbal\" deal that's been verbal for 180 days is not a commit. The bookings forecaster downweights stalled opps automatically; do not re-up them by hand.\n- **No pipeline-coverage check.** Industry rule of thumb: forecast > pipeline ÷ 3 is anti-pattern. The tool surfaces the ratio; respect it.\n\n## Distinct from\n\n- **`finance\u002Ffinancial-analysis`** — backward-looking financial close, GAAP\u002FIFRS reporting, variance vs. budget. commercial-forecaster is forward-looking pipeline math.\n- **`c-level-advisor\u002Fcfo-advisor`** — strategic multi-year financial planning, fundraise scenarios, runway. commercial-forecaster is one input to the CFO, not the strategy.\n- **`c-level-advisor\u002Fcro-advisor`** — strategic CRO judgment: \"do we hire a VP Sales?\", territory design, comp plan, when to add a sales engineer. commercial-forecaster is the math the CRO uses; cro-advisor is the judgment the CRO applies.\n- **sibling `pricing-strategist`** — sets the price (model + range). commercial-forecaster *projects revenue at those prices*. Pricing comes first; forecast comes after.\n- **sibling `deal-desk`** — per-deal scoring + discount approval routing. commercial-forecaster aggregates the pipeline that deal-desk operates on day-by-day.\n\n## Forcing-question library (Matt Pocock grill discipline)\n\nWalked one at a time by `\u002Fcs:grill-commercial` or the orchestrator. Recommended answer + canon citation per question. Never bundled.\n\n1. **\"What conversion rate are you using, and is it last-4Q or last-12Q?\"**\n   Recommended: a 70\u002F30 blend (last-4Q weighted 70%, last-12Q weighted 30%). Last-12Q alone hides recent slowdown; last-4Q alone overfits one bad quarter.\n   Canon: Tomasz Tunguz (Theory Ventures) — forecasting studies show single-window conversion estimates miss regime change at ~3-quarter lag.\n\n2. **\"What's your pipeline coverage ratio, and is your commit above pipeline ÷ 3?\"**\n   Recommended: 3x coverage is the SaaS-industry floor; below 3x means your commit is structurally unsupported.\n   Canon: Pacific Crest \u002F KeyBanc SaaS Survey — top-quartile SaaS companies maintain 3.0-4.5x pipeline coverage against committed bookings.\n\n3. **\"Can you show me NRR by cohort, not just consolidated?\"**\n   Recommended: never report a consolidated NRR without the per-cohort breakdown. Leaky cohorts hide in averages.\n   Canon: Patrick Campbell (ProfitWell) + David Skok — cohort-driven retention decomposition surfaces leaks 2-3 quarters before consolidated NRR moves.\n\n4. **\"What's the variance (CoV) on each stage's conversion rate over the last 12 quarters?\"**\n   Recommended: CoV \u003C 10% → commit-grade; 10-25% → moderate; 25-50% → soft floor only; > 50% → do not use this stage for forecasting.\n   Canon: MIT Sloan forecasting research \u002F Hyndman & Athanasopoulos (*Forecasting: Principles and Practice*) — CoV on the input series predicts forecast accuracy more reliably than mean.\n\n5. **\"How long has each late-stage opp been in late-stage?\"**\n   Recommended: stage-age > 2x the median stage-duration → treat as stalled, exclude from commit, keep in pipe-only.\n   Canon: David Skok (*For Entrepreneurs*) — stalled-opp identification by stage-age is the #1 forecast hygiene practice in top-decile SaaS pipelines.\n\n6. **\"Is your best-case forecast within 30% of your pipe-only?\"**\n   Recommended: if best-case is \u003C 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.\n   Canon: McKinsey research on forecast bias + OpenView SaaS benchmarks — most teams operate in one of two failure modes: sandbagging (commit \u003C\u003C earnings) or hockey-sticking (commit >> earnings).\n\n7. **\"What assumption block accompanies the number on the board slide?\"**\n   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.\n   Canon: Bain & Company commercial-forecasting practice + Forrester pipeline-coverage research — undisclosed-assumption forecasts have 2.3x higher variance against actuals than disclosed-assumption forecasts.\n\nWalk 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.\n",{"name":5,"tags":24,"author":34,"license":15,"version":35,"description":7,"compatible_tools":36},[25,26,27,28,29,30,31,32,33],"commercial","forecasting","bookings","arr","nrr","grr","cohort","funnel","pipeline-math","claude-code-skills","2.8.0",[37,38,39,40,41,42],"claude-code","codex-cli","cursor","antigravity","opencode","gemini-cli","devin\u002F1780503568-install-devin-skills","c1c6a7ac191f1fb795ae7f57f2fbfa600d3ef56b","commercial\u002Fskills\u002Fcommercial-forecaster",0,"https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin","https:\u002F\u002Fgithub.com\u002Fkruxshnx","https:\u002F\u002Fgovinda-krishna.vercel.app\u002F","2026-06-04 00:21:41",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add kruxshnx\u002Fclaude-skills-devin --skill commercial-forecaster",{"tool":57,"command":58},"bunx","bunx skills add kruxshnx\u002Fclaude-skills-devin --skill commercial-forecaster",{"tool":60,"command":61},"pnpm","pnpm dlx skills add kruxshnx\u002Fclaude-skills-devin --skill commercial-forecaster","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002FSKILL.md",true,[65,71,77,81,85,91,95],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"assets\u002Fforecast_intake_template.md","ASSET","资产文件",6089,"https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002Fassets\u002Fforecast_intake_template.md",{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fcohort_analysis_canon.md","REFERENCE","参考文档",6570,"https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002Freferences\u002Fcohort_analysis_canon.md",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fforecast_anti_patterns.md",8732,"https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002Freferences\u002Fforecast_anti_patterns.md",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fsaas_forecasting_canon.md",7139,"https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002Freferences\u002Fsaas_forecasting_canon.md",{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Fbookings_forecaster.py","SCRIPT","脚本",18797,"https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002Fscripts\u002Fbookings_forecaster.py",{"path":92,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":93,"sourceHtmlUrl":94},"scripts\u002Fcohort_arr_projector.py",12487,"https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002Fscripts\u002Fcohort_arr_projector.py",{"path":96,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":97,"sourceHtmlUrl":98},"scripts\u002Ffunnel_confidence_scorer.py",7825,"https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fcommercial\u002Fskills\u002Fcommercial-forecaster\u002Fscripts\u002Ffunnel_confidence_scorer.py",[100,107,114,121,128,135],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":19},"01M779G0P3W78CJF700K9AHJ6M","syllabus","Generates a curated supplementary reading list from any course syllabus using Consensus academic search. Grill-me intake (syllabus input format + course audience + year range) plus a grouping forcing-options checkpoint before any search runs — so the reading list matches the course's level and recency need. Parses the syllabus to extract topics and learning outcomes, searches Consensus for recent peer-reviewed papers per topic, and produces a professionally formatted .docx with clickable Consensus links, plain-language summaries calibrated to audience level, and Bloom-higher-order discussion questions tied to course learning goals. Triggers whenever a user uploads a syllabus, course outline, or curriculum document and wants supplementary readings. Also triggers on: 'syllabus reading list', 'find papers for my course', 'create a reading list from this syllabus', 'recent research for my class', 'supplementary readings', 'find journal articles for these topics', 'what recent papers cover this material', 'any new research on these course topics', 'update my syllabus with recent papers'. Even casual mentions when a syllabus is attached should trigger this skill.","https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fresearch\u002Fsyllabus\u002Fskills\u002Fsyllabus\u002FSKILL.md",[],[],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":19},"01M779FBBF54JKVQAGBAYHWE0B","research","Default entry point for any research request — a hybrid router that classifies the question deterministically and either delegates to a specialist research skill (pulse for trends\u002Fsentiment, grants for NIH funding, litreview for academic literature, syllabus for course reading, patent for prior-art + IP landscape, dossier for entity research) or runs its own plan-decompose-multi-source-search-synthesize-cite fallback workflow when no specialist matches. Always surfaces the routing decision so users can override. Triggers — \"research [topic]\", \"look into [topic]\", \"what do we know about [topic]\", \"investigate [topic]\", \"find me information on [topic]\", \"do some research on [topic]\", \"I need to understand [topic]\", or any research request that doesn't obviously match a more-specific specialist skill. Output is a markdown briefing (default) or .docx document (on request) with full citations and an audit log.","https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fresearch\u002Fresearch\u002Fskills\u002Fresearch\u002FSKILL.md",[],[],{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":19},"01M779EQ39CGK5Q4V78KC0HNMV","pulse","Multi-source recency research skill that takes the pulse of any topic across Reddit, Hacker News, the open web, and optionally X\u002FTwitter within a configurable recent window (default 30 days). Forcing intake clarifies topic specificity, angle (trend\u002Fsentiment\u002Fproblems\u002Fopportunities\u002Fcomparison), time window, and platform scope before searching. Returns a synthesized briefing with citations, engagement metrics, and cross-platform pattern analysis. Triggers: 'pulse on [topic]', 'what's happening with [topic]', 'what are people saying about [topic]', 'current conversation about [topic]', 'take the pulse of [topic]', 'trending: [topic]', 'find me info on [topic]', or any variation requesting multi-source recency intelligence on a topic. Also use for competitor research, trend discovery, tool comparisons, and audience sentiment analysis.","https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fresearch\u002Fpulse\u002Fskills\u002Fpulse\u002FSKILL.md",[],[],{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":19},"01M779EDS05MYFXBF7PGTVSDMA","patent","Patent prior-art and landscape intelligence skill — not generic patent help. Commits to one of five sub-use-cases via forcing intake (novelty search \u002F freedom-to-operate \u002F competitive landscape \u002F acquisition diligence \u002F litigation prior-art) before any search runs. Searches Google Patents, Espacenet, USPTO, and optionally Lens.org for citation-graph signals. Output is an editable Word document (.docx) with verdict, ranked closest art (claim-text extracted), CPC-class-aware landscape, family-resolved hits, geographic coverage, FTO flags where applicable, strategy recommendations, and full audit log. Triggers: 'prior art search for [invention]', 'patent search on [topic]', 'freedom to operate analysis', 'FTO for [product]', 'patent landscape for [field]', 'is [invention] novel', 'patents on [topic]', 'competitive patent analysis', 'prior art for litigation', 'patent diligence on [company]'. Produces search signal, not legal advice — always recommends consulting a patent attorney before filing or licensing decisions. Trademark, copyright, and trade-secret questions are out of scope.","https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fresearch\u002Fpatent\u002Fskills\u002Fpatent\u002FSKILL.md",[],[],{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":19},"01M779DVA52T5F0YC5HSM9BW4Z","notebooklm","Browser automation skill for controlling Google's NotebookLM. Handles reading and querying notebooks, adding sources (URLs, text, files, YouTube links, synthesized content), generating Studio outputs (Audio Overview, infographics, slide decks, study guides, briefing docs, mind maps, timelines, FAQs), and creating new notebooks. Triggers on any phrase involving NotebookLM — 'open NotebookLM', 'check my [name] notebook', 'pull info from NotebookLM', 'ask my notebook about X', 'add [source] to NotebookLM', 'create an infographic in NotebookLM', 'use NotebookLM Studio', 'generate a slide deck from my notebook', or any variation where the goal involves NotebookLM. Requires browser automation environment — fails gracefully when unavailable.","https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fresearch\u002Fnotebooklm\u002Fskills\u002Fnotebooklm\u002FSKILL.md",[],[],{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":19},"01M779D3SGW8FM1N8G0HK860WT","litreview","Academic literature orientation skill that searches papers via Consensus, builds a strategic search plan using PICO (default) or SPIDER \u002F Decomposition \u002F hybrid as fallbacks, and synthesizes findings into a professionally formatted Word document (.docx) research guide. Grill-me intake (research question specificity + framework hint + tentative depth) before the recon search; a second forcing checkpoint after Phase 2 confirms framework + sub-areas + depth before searches consume budget. Configurable depth (5\u002F10\u002F20 queries) controls coverage vs. speed. Output is a 'launching pad' — not a finished review, but an orientation guide that lets a researcher dive in confidently. Triggers: 'litreview on [topic]', 'literature review on [topic]', 'I'm starting a literature review on X', 'I'm writing a paper on X', 'help me research X', 'I'm doing research on X', 'can you help me research X'. Do NOT trigger for single one-off paper searches where the user just wants a quick list — that's a plain Consensus search.","https:\u002F\u002Fgithub.com\u002Fkruxshnx\u002Fclaude-skills-devin\u002Fblob\u002Fdevin\u002F1780503568-install-devin-skills\u002Fresearch\u002Flitreview\u002Fskills\u002Flitreview\u002FSKILL.md",[],[]]