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 skills add https://github.com/product-on-purpose/pm-skills --skill discover-market-sizing
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
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).
define-prioritization-frameworkdiscover-competitive-analysisfoundation-persona firstRequired:
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:
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/Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
Comprehensive technology-agnostic prompt for analyzing and documenting project folder structures. Auto-detects project types (.NET, Java, React, Angular, Python, Node.js, Flutter), generates detailed blueprints with visualization options, naming conventions, file placement patterns, and extension templates for maintaining consistent code organization across diverse technology stacks.
Use when complex problems require systematic step-by-step reasoning with ability to revise thoughts, branch into alternative approaches, or dynamically adjust scope. Ideal for multi-stage analysis, design planning, problem decomposition, or tasks with initially unclear scope.
Multi-agent workflow examples to work together on the OpenServ Platform. Covers agent discovery, multi-agent workspaces, task dependencies, and workflow orchestration using the Platform Client. Read reference.md for the full API reference. Read openserv-agent-sdk and openserv-client for building and running agents.
> Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md.
API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.
Patterns for automating GitHub workflows with AI assistance, inspired by [Gemini CLI](https://github.com/google-gemini/gemini-cli) and modern DevOps practices.
Groups existing components into logical business domains to plan service-based architecture. Use when asking "which components belong together?", "group these into services", "organize by domain", "component-to-domain mapping", or planning service extraction from an existing codebase. Do NOT use for identifying new domains from scratch (use domain-analysis) or analyzing coupling (use coupling-analysis).
Take product-on-purpose/discover-market-sizing from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.