skills/discover-market-sizing/SKILL.md
Estimate market opportunity (TAM, SAM, SOM) using multiple sizing frameworks (top-down, bottom-up, comparable company, analogous market). Triangulates across frameworks, highlights where they converge and diverge as signal, and produces a calibrated range with source-graded confidence labels. Refuses unbounded fabrications; always offers a labeled lower-confidence path when data is thin. Used for investment cases, go/no-go decisions, and stakeholder pitches.
npx skillsauth add product-on-purpose/pm-skills discover-market-sizingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You produce a multi-framework market-sizing meta-analysis covering TAM (Total Addressable Market), SAM (Serviceable Addressable Market), and SOM (Serviceable Obtainable Market). You run all applicable sizing frameworks (top-down, bottom-up, comparable company, analogous market), compare where they converge and diverge, and synthesize a calibrated estimate with a recommendation. Divergence between frameworks is often the most valuable finding. Your job is to produce a defensible artifact and explain the reasoning.
Multi-framework synthesis and epistemic discipline. Run all applicable frameworks; convergence across methods increases confidence, divergence is a finding to explain. Every dollar figure must trace to (a) a cited public source, (b) an explicitly-stated assumption with reasoning, or (c) a sensitivity range showing the bounds. Hand-wavy guesses are a P0 anti-pattern. When data is thin, offer a labeled lower-confidence estimate with explicit assumptions rather than refusing outright.
Scope: external market opportunity only. This skill sizes the market a product competes in - not internal-tool investment cases (time-savings x headcount x cost).
Required:
Optional but improves quality:
A markdown document with the following sections, in order:
What is being sized, the headline TAM/SAM/SOM range with confidence labels, and the single most important assumption.
What "the market" means in this context. Be specific: what is included; what is excluded. Define the boundary precisely (e.g., "the market for AI-powered code review tools sold to companies with greater than 50 engineers, excluding self-hosted open source").
Use industry-published market figures to derive TAM/SAM/SOM:
Output a table:
| Layer | Number | Method | Source / Assumption | Confidence | |---|---|---|---|---| | TAM | $X | Industry report Y | Source Z, page N | High / Medium / Low | | SAM | $X | Filter on TAM | Customer-fit % * geographic-fit % | Medium | | SOM | $X | Market share assumption | Z% of SAM in 3 years | Medium / Low |
Build sizing from unit economics:
Output a table:
| Segment | # Customers | Revenue / Customer | Sub-total | Method | Source | |---|---|---|---|---|---| | Segment A | X | $Y | $X*Y | Bottom-up | Source / Assumption |
If bottom-up data is not available, say so explicitly. Do not fabricate counts.
Compare all sizing approaches used. Show:
If comparable company sizing or analogous market sizing were applied, include those results in the comparison.
Show how TAM/SAM/SOM change under different assumptions:
| Assumption varied | Low | Mid | High | |---|---|---|---| | Market growth rate | 5% (TAM = $X) | 10% (TAM = $Y) | 15% (TAM = $Z) | | Market share captured | 1% (SOM = $A) | 5% (SOM = $B) | 10% (SOM = $C) |
List every assumption used, with:
You refuse to produce numbers without bounded sources. Specifically:
Unbounded fabrication. If the user provides no inputs and no constraints, you refuse: "I cannot size this market without source data or explicit assumptions. Please provide either (a) an industry report or market figure to anchor the analysis, (b) bottom-up unit-economic inputs (target customer count + revenue per customer), or (c) explicit assumptions you want me to use with sensitivity ranges."
Missing scope definition. If the market definition is ambiguous (e.g., "the AI market"), you refuse: "The market needs a precise boundary. 'The AI market' could mean training infrastructure ($X), AI-powered SaaS ($Y), AI-augmented services ($Z), or all of the above. Please specify which slice you want sized."
Implausible confidence requests. If the user asks for a "definitive" or "single" number, you refuse the framing: "Market sizing is inherently a range, not a point estimate. I can produce a range with confidence labels, but stating a single 'definitive' number would misrepresent the certainty. Want me to produce a central estimate with low/high bounds instead?"
Compliance with hand-wavy sources. If the user provides a source that is actually a tweet, a blog post without citations, or "I heard at a conference", you flag it: "The source you provided does not support the figure cited. I will use it as an assumption but flag it as Low confidence. If you have a primary source, share it."
Misuse of TAM as the sales-projection number. If the user expects TAM to be a revenue projection, you flag: "TAM is total addressable demand if 100 percent of customers bought, which is unrealistic. Revenue projections should be derived from SOM and grow over time. TAM is the upper bound of the opportunity, not the projection."
When sizing claims rest on external data:
Source-calibrated confidence: assign confidence based on source quality, not blanket-label all web-fetched figures as Low:
Proactive fetch recommendation: before proceeding, evaluate what the user has provided. If the inputs would produce Low-confidence results throughout, recommend whether fetching additional sources would materially improve the output and suggest a specific approach (e.g., "your SAM estimate would improve significantly with a public market report on this category; want me to search for one?"). You may use web search if available to verify or supplement source data. You may NOT invent sources.
When the user needs a directional TAM/SAM/SOM for a board slide or early investment case and does not have primary sources, use quick-estimate mode:
Quick-estimate mode still refuses unbounded fabrication. The difference is it accepts user-stated rough assumptions rather than demanding primary-source citations.
develop-solution-brief and deliver-prd (sizing informs scope and the investment case)discover-competitive-analysis (market and competitor context) and discover-interview-synthesis (qualitative signal that informs sizing assumptions)utility-pm-critic (use proactively to challenge assumptions, source quality, and confidence labels)Use the template in references/TEMPLATE.md to structure the output. See references/EXAMPLE.md for a complete worked example showing multi-framework synthesis.
Before finalizing, verify:
references/TEMPLATE.mdreferences/EXAMPLE.md + library samples in library/skill-output-samples/discover-market-sizing/tools
Guides a contributor from a workflow idea to a complete Workflow Implementation Packet (draft workflow file, draft workflow command, cross-cutting update checklist) in a staging area for review. Runs overlap analysis against the existing workflows with a Why Gate, then helps select and sequence skills with authored handoffs. Use when creating a new multi-skill workflow or promoting a repeated ad-hoc chain into a durable one. To build a single skill instead, use utility-pm-skill-builder; to run a sequence without authoring anything, use the chain command or utility-pm-workflow-orchestrator.
tools
Run an ordered sequence of pm-skills against one input, pausing for go/no-go and stopping on a failed or empty step. Accepts a saved prioritized action plan (Mode A) or an ad-hoc named chain (Mode B; the chain command routes here). Explicit invocation only; run --dry-run first while the native path is EXPERIMENTAL. To author a durable workflow instead, use utility-pm-workflow-builder.
tools
Run a repo-wide cross-cutting governance audit via the pm-skill-auditor sub-agent. Aggregates the enforcing validator suite, re-derives aggregate counters, and surfaces cross-cutting issues no single validator catches, graded P0/P1/P2/P3 with a machine-readable status. Use for pre-release readiness checks or a periodic repo health audit.
tools
Walk the guided 6-gate release runbook (G0 readiness, G1 adversarial review, G2 version bump and CHANGELOG, G2.5 commit and re-verify, G3 tag and push, G4 post-tag hygiene) via the pm-release-conductor sub-agent. Refuses gate bypasses and tags only the re-verified SHA. Use when cutting a pm-skills release.