autodoc-agent-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +362 -0
  2. package/package.json +49 -0
  3. package/src/core/module.yaml +5 -0
  4. package/src/modules/design/module.yaml +9 -0
  5. package/src/modules/design/skills/brand-guidelines/LICENSE.txt +202 -0
  6. package/src/modules/design/skills/brand-guidelines/SKILL.md +73 -0
  7. package/src/modules/design/skills/frontend-design/LICENSE.txt +177 -0
  8. package/src/modules/design/skills/frontend-design/SKILL.md +42 -0
  9. package/src/modules/design/skills/web-artifacts-builder/SKILL.md +229 -0
  10. package/src/modules/devops/module.yaml +10 -0
  11. package/src/modules/devops/skills/devops-helper/SKILL.md +60 -0
  12. package/src/modules/devops/skills/k8s-helm/SKILL.md +360 -0
  13. package/src/modules/devops/skills/monitoring-observability/SKILL.md +240 -0
  14. package/src/modules/devops/skills/security-auditor/SKILL.md +105 -0
  15. package/src/modules/engineering/module.yaml +22 -0
  16. package/src/modules/engineering/skills/ai-sdk/SKILL.md +314 -0
  17. package/src/modules/engineering/skills/api-designer/SKILL.md +77 -0
  18. package/src/modules/engineering/skills/code-reviewer/SKILL.md +71 -0
  19. package/src/modules/engineering/skills/db-architect/SKILL.md +50 -0
  20. package/src/modules/engineering/skills/debugger/SKILL.md +59 -0
  21. package/src/modules/engineering/skills/docs-generator/SKILL.md +51 -0
  22. package/src/modules/engineering/skills/git-workflow/SKILL.md +258 -0
  23. package/src/modules/engineering/skills/mcp-builder/LICENSE.txt +202 -0
  24. package/src/modules/engineering/skills/mcp-builder/SKILL.md +236 -0
  25. package/src/modules/engineering/skills/mcp-builder/reference/evaluation.md +602 -0
  26. package/src/modules/engineering/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  27. package/src/modules/engineering/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  28. package/src/modules/engineering/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  29. package/src/modules/engineering/skills/mcp-builder/scripts/connections.py +151 -0
  30. package/src/modules/engineering/skills/mcp-builder/scripts/evaluation.py +373 -0
  31. package/src/modules/engineering/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  32. package/src/modules/engineering/skills/mcp-builder/scripts/requirements.txt +2 -0
  33. package/src/modules/engineering/skills/nextjs-15/SKILL.md +312 -0
  34. package/src/modules/engineering/skills/perf-optimizer/SKILL.md +60 -0
  35. package/src/modules/engineering/skills/react-19/SKILL.md +257 -0
  36. package/src/modules/engineering/skills/refactorer/SKILL.md +60 -0
  37. package/src/modules/engineering/skills/skill-authoring-workflow/SKILL.md +183 -0
  38. package/src/modules/engineering/skills/skill-creator/LICENSE.txt +202 -0
  39. package/src/modules/engineering/skills/skill-creator/SKILL.md +356 -0
  40. package/src/modules/engineering/skills/skill-creator/references/output-patterns.md +82 -0
  41. package/src/modules/engineering/skills/skill-creator/references/workflows.md +28 -0
  42. package/src/modules/engineering/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
  43. package/src/modules/engineering/skills/skill-creator/scripts/init_skill.py +303 -0
  44. package/src/modules/engineering/skills/skill-creator/scripts/package_skill.py +110 -0
  45. package/src/modules/engineering/skills/skill-creator/scripts/quick_validate.py +95 -0
  46. package/src/modules/engineering/skills/typescript/SKILL.md +231 -0
  47. package/src/modules/engineering/skills/zod-4/SKILL.md +223 -0
  48. package/src/modules/product/module.yaml +51 -0
  49. package/src/modules/product/skills/acquisition-channel-advisor/SKILL.md +643 -0
  50. package/src/modules/product/skills/acquisition-channel-advisor/examples/conversation-flow.md +531 -0
  51. package/src/modules/product/skills/ai-shaped-readiness-advisor/SKILL.md +923 -0
  52. package/src/modules/product/skills/altitude-horizon-framework/SKILL.md +250 -0
  53. package/src/modules/product/skills/altitude-horizon-framework/examples/sample.md +85 -0
  54. package/src/modules/product/skills/business-health-diagnostic/SKILL.md +783 -0
  55. package/src/modules/product/skills/company-research/SKILL.md +385 -0
  56. package/src/modules/product/skills/company-research/examples/sample.md +164 -0
  57. package/src/modules/product/skills/company-research/template.md +60 -0
  58. package/src/modules/product/skills/context-engineering-advisor/SKILL.md +763 -0
  59. package/src/modules/product/skills/customer-journey-map/SKILL.md +346 -0
  60. package/src/modules/product/skills/customer-journey-map/examples/meta-product-manager-skills.md +40 -0
  61. package/src/modules/product/skills/customer-journey-map/examples/sample.md +33 -0
  62. package/src/modules/product/skills/customer-journey-map/template.md +28 -0
  63. package/src/modules/product/skills/customer-journey-mapping-workshop/SKILL.md +523 -0
  64. package/src/modules/product/skills/director-readiness-advisor/SKILL.md +351 -0
  65. package/src/modules/product/skills/director-readiness-advisor/examples/conversation-flow.md +96 -0
  66. package/src/modules/product/skills/discovery-interview-prep/SKILL.md +410 -0
  67. package/src/modules/product/skills/discovery-process/SKILL.md +504 -0
  68. package/src/modules/product/skills/discovery-process/examples/sample.md +60 -0
  69. package/src/modules/product/skills/discovery-process/template.md +39 -0
  70. package/src/modules/product/skills/eol-message/SKILL.md +348 -0
  71. package/src/modules/product/skills/eol-message/examples/sample.md +87 -0
  72. package/src/modules/product/skills/eol-message/template.md +74 -0
  73. package/src/modules/product/skills/epic-breakdown-advisor/SKILL.md +665 -0
  74. package/src/modules/product/skills/epic-hypothesis/SKILL.md +277 -0
  75. package/src/modules/product/skills/epic-hypothesis/examples/sample.md +104 -0
  76. package/src/modules/product/skills/epic-hypothesis/template.md +30 -0
  77. package/src/modules/product/skills/executive-onboarding-playbook/SKILL.md +280 -0
  78. package/src/modules/product/skills/executive-onboarding-playbook/examples/sample.md +116 -0
  79. package/src/modules/product/skills/feature-investment-advisor/SKILL.md +639 -0
  80. package/src/modules/product/skills/feature-investment-advisor/examples/conversation-flow.md +538 -0
  81. package/src/modules/product/skills/finance-based-pricing-advisor/SKILL.md +763 -0
  82. package/src/modules/product/skills/finance-metrics-quickref/SKILL.md +309 -0
  83. package/src/modules/product/skills/jobs-to-be-done/SKILL.md +370 -0
  84. package/src/modules/product/skills/jobs-to-be-done/examples/sample.md +80 -0
  85. package/src/modules/product/skills/jobs-to-be-done/template.md +65 -0
  86. package/src/modules/product/skills/lean-ux-canvas/SKILL.md +561 -0
  87. package/src/modules/product/skills/lean-ux-canvas/examples/sample.md +88 -0
  88. package/src/modules/product/skills/lean-ux-canvas/template.md +32 -0
  89. package/src/modules/product/skills/opportunity-solution-tree/SKILL.md +420 -0
  90. package/src/modules/product/skills/opportunity-solution-tree/examples/sample.md +104 -0
  91. package/src/modules/product/skills/opportunity-solution-tree/template.md +33 -0
  92. package/src/modules/product/skills/pestel-analysis/SKILL.md +376 -0
  93. package/src/modules/product/skills/pestel-analysis/examples/sample.md +143 -0
  94. package/src/modules/product/skills/pestel-analysis/template.md +53 -0
  95. package/src/modules/product/skills/pol-probe/SKILL.md +217 -0
  96. package/src/modules/product/skills/pol-probe/examples/sample.md +136 -0
  97. package/src/modules/product/skills/pol-probe/template.md +59 -0
  98. package/src/modules/product/skills/pol-probe-advisor/SKILL.md +492 -0
  99. package/src/modules/product/skills/positioning-statement/SKILL.md +230 -0
  100. package/src/modules/product/skills/positioning-statement/examples/sample.md +51 -0
  101. package/src/modules/product/skills/positioning-statement/template.md +25 -0
  102. package/src/modules/product/skills/positioning-workshop/SKILL.md +424 -0
  103. package/src/modules/product/skills/prd-development/SKILL.md +655 -0
  104. package/src/modules/product/skills/prd-development/examples/sample.md +43 -0
  105. package/src/modules/product/skills/prd-development/template.md +55 -0
  106. package/src/modules/product/skills/press-release/SKILL.md +269 -0
  107. package/src/modules/product/skills/press-release/examples/sample.md +73 -0
  108. package/src/modules/product/skills/press-release/template.md +39 -0
  109. package/src/modules/product/skills/prioritization-advisor/SKILL.md +448 -0
  110. package/src/modules/product/skills/problem-framing-canvas/SKILL.md +466 -0
  111. package/src/modules/product/skills/problem-framing-canvas/examples/sample.md +58 -0
  112. package/src/modules/product/skills/problem-framing-canvas/template.md +22 -0
  113. package/src/modules/product/skills/problem-statement/SKILL.md +246 -0
  114. package/src/modules/product/skills/problem-statement/examples/sample.md +82 -0
  115. package/src/modules/product/skills/problem-statement/template.md +37 -0
  116. package/src/modules/product/skills/product-strategy-session/SKILL.md +426 -0
  117. package/src/modules/product/skills/product-strategy-session/examples/sample.md +67 -0
  118. package/src/modules/product/skills/product-strategy-session/template.md +38 -0
  119. package/src/modules/product/skills/proto-persona/SKILL.md +326 -0
  120. package/src/modules/product/skills/proto-persona/examples/sample.md +97 -0
  121. package/src/modules/product/skills/proto-persona/template.md +45 -0
  122. package/src/modules/product/skills/recommendation-canvas/SKILL.md +375 -0
  123. package/src/modules/product/skills/recommendation-canvas/examples/sample.md +94 -0
  124. package/src/modules/product/skills/recommendation-canvas/template.md +86 -0
  125. package/src/modules/product/skills/roadmap-planning/SKILL.md +505 -0
  126. package/src/modules/product/skills/roadmap-planning/examples/sample.md +62 -0
  127. package/src/modules/product/skills/roadmap-planning/template.md +30 -0
  128. package/src/modules/product/skills/saas-economics-efficiency-metrics/SKILL.md +694 -0
  129. package/src/modules/product/skills/saas-economics-efficiency-metrics/examples/cash-trap.md +365 -0
  130. package/src/modules/product/skills/saas-economics-efficiency-metrics/examples/healthy-unit-economics.md +279 -0
  131. package/src/modules/product/skills/saas-economics-efficiency-metrics/template.md +263 -0
  132. package/src/modules/product/skills/saas-revenue-growth-metrics/SKILL.md +630 -0
  133. package/src/modules/product/skills/saas-revenue-growth-metrics/examples/healthy-saas.md +131 -0
  134. package/src/modules/product/skills/saas-revenue-growth-metrics/examples/warning-signs.md +229 -0
  135. package/src/modules/product/skills/saas-revenue-growth-metrics/template.md +192 -0
  136. package/src/modules/product/skills/storyboard/SKILL.md +252 -0
  137. package/src/modules/product/skills/storyboard/examples/sample.md +71 -0
  138. package/src/modules/product/skills/storyboard/template.md +41 -0
  139. package/src/modules/product/skills/tam-sam-som-calculator/SKILL.md +392 -0
  140. package/src/modules/product/skills/tam-sam-som-calculator/examples/sample.md +142 -0
  141. package/src/modules/product/skills/tam-sam-som-calculator/scripts/market-sizing.py +95 -0
  142. package/src/modules/product/skills/tam-sam-som-calculator/template.md +35 -0
  143. package/src/modules/product/skills/user-story/SKILL.md +272 -0
  144. package/src/modules/product/skills/user-story/examples/sample.md +110 -0
  145. package/src/modules/product/skills/user-story/scripts/user-story-template.py +65 -0
  146. package/src/modules/product/skills/user-story/template.md +32 -0
  147. package/src/modules/product/skills/user-story-mapping/SKILL.md +285 -0
  148. package/src/modules/product/skills/user-story-mapping/examples/sample.md +77 -0
  149. package/src/modules/product/skills/user-story-mapping/template.md +41 -0
  150. package/src/modules/product/skills/user-story-mapping-workshop/SKILL.md +477 -0
  151. package/src/modules/product/skills/user-story-mapping-workshop/template.md +28 -0
  152. package/src/modules/product/skills/user-story-splitting/SKILL.md +303 -0
  153. package/src/modules/product/skills/user-story-splitting/examples/sample.md +147 -0
  154. package/src/modules/product/skills/user-story-splitting/template.md +37 -0
  155. package/src/modules/product/skills/vp-cpo-readiness-advisor/SKILL.md +409 -0
  156. package/src/modules/product/skills/vp-cpo-readiness-advisor/examples/conversation-flow.md +95 -0
  157. package/src/modules/product/skills/workshop-facilitation/SKILL.md +87 -0
  158. package/src/modules/productivity/module.yaml +9 -0
  159. package/src/modules/productivity/skills/doc-coauthoring/SKILL.md +375 -0
  160. package/src/modules/productivity/skills/internal-comms/LICENSE.txt +202 -0
  161. package/src/modules/productivity/skills/internal-comms/SKILL.md +32 -0
  162. package/src/modules/productivity/skills/internal-comms/examples/3p-updates.md +47 -0
  163. package/src/modules/productivity/skills/internal-comms/examples/company-newsletter.md +65 -0
  164. package/src/modules/productivity/skills/internal-comms/examples/faq-answers.md +30 -0
  165. package/src/modules/productivity/skills/internal-comms/examples/general-comms.md +16 -0
  166. package/src/modules/productivity/skills/technical-writing/SKILL.md +266 -0
  167. package/src/modules/qa/module.yaml +9 -0
  168. package/src/modules/qa/skills/test-strategy/SKILL.md +263 -0
  169. package/src/modules/qa/skills/test-writer/SKILL.md +57 -0
  170. package/src/modules/qa/skills/webapp-testing/LICENSE.txt +202 -0
  171. package/src/modules/qa/skills/webapp-testing/SKILL.md +96 -0
  172. package/src/modules/qa/skills/webapp-testing/examples/console_logging.py +35 -0
  173. package/src/modules/qa/skills/webapp-testing/examples/element_discovery.py +40 -0
  174. package/src/modules/qa/skills/webapp-testing/examples/static_html_automation.py +33 -0
  175. package/src/modules/qa/skills/webapp-testing/scripts/with_server.py +106 -0
  176. package/tools/autodoc-npx-wrapper.js +34 -0
  177. package/tools/cli/autodoc-cli.js +55 -0
  178. package/tools/cli/commands/install.js +36 -0
  179. package/tools/cli/commands/status.js +35 -0
  180. package/tools/cli/commands/uninstall.js +60 -0
  181. package/tools/cli/installers/lib/core/installer.js +164 -0
  182. package/tools/cli/installers/lib/core/manifest.js +49 -0
  183. package/tools/cli/installers/lib/ide/manager.js +112 -0
  184. package/tools/cli/installers/lib/ide/platform-codes.yaml +207 -0
  185. package/tools/cli/installers/lib/modules/manager.js +59 -0
  186. package/tools/cli/lib/ui.js +199 -0
  187. package/tools/cli/lib/welcome.js +82 -0
@@ -0,0 +1,392 @@
1
+ ---
2
+ name: tam-sam-som-calculator
3
+ description: Calculate TAM, SAM, and SOM with explicit assumptions, methods, and caveats. Use when sizing a market for a product idea, business case, or executive review.
4
+ intent: >-
5
+ Guide product managers through calculating Total Addressable Market (TAM), Serviceable Available Market (SAM), and Serviceable Obtainable Market (SOM) for a product idea by asking adaptive, contextually relevant questions. Use this to build defensible market size estimates backed by real-world citations, economic projections, and population data—essential for pitching to investors, securing budget, or validating product-market fit.
6
+ type: interactive
7
+ ---
8
+
9
+
10
+ ## Purpose
11
+ Guide product managers through calculating Total Addressable Market (TAM), Serviceable Available Market (SAM), and Serviceable Obtainable Market (SOM) for a product idea by asking adaptive, contextually relevant questions. Use this to build defensible market size estimates backed by real-world citations, economic projections, and population data—essential for pitching to investors, securing budget, or validating product-market fit.
12
+
13
+ This is not a back-of-napkin guess—it's a structured, citation-backed analysis that withstands scrutiny.
14
+
15
+ ## Key Concepts
16
+
17
+ ### TAM/SAM/SOM Framework
18
+ The three-tier market sizing model:
19
+
20
+ **Total Addressable Market (TAM):**
21
+ - The total market demand for a product or service
22
+ - "If we captured 100% of the market, what's the revenue?"
23
+ - Broadest possible market (no constraints)
24
+
25
+ **Serviceable Available Market (SAM):**
26
+ - The segment of TAM your company can realistically target
27
+ - Narrowed by geography, firmographics, demographics, or product constraints
28
+ - "Who can we actually reach with our product?"
29
+
30
+ **Serviceable Obtainable Market (SOM):**
31
+ - The portion of SAM you can realistically capture
32
+ - Accounts for competition, market constraints, go-to-market capacity
33
+ - "What can we capture in the next 1-3 years?"
34
+
35
+ ### Why This Works
36
+ - **Top-down validation:** TAM → SAM → SOM ensures estimates are grounded in reality
37
+ - **Investor-friendly:** Standard framework VCs and execs understand
38
+ - **Citation-backed:** Real data sources (Census, Statista, World Bank) add credibility
39
+ - **Adaptive:** Questions adjust based on context (B2B vs. B2C, US vs. global, etc.)
40
+
41
+ ### Anti-Patterns (What This Is NOT)
42
+ - **Not a single-number guess:** "The market is $10B" without supporting data
43
+ - **Not static:** Markets evolve—reassess annually
44
+ - **Not a substitute for customer validation:** Market size ≠ product-market fit
45
+
46
+ ### When to Use This
47
+ - Pitching to investors or execs (need market size in deck)
48
+ - Validating product ideas (is the market big enough?)
49
+ - Prioritizing product lines (which has bigger opportunity?)
50
+ - Setting growth targets (what's realistic to capture?)
51
+
52
+ ### When NOT to Use This
53
+ - For internal tools with captive users (no external market)
54
+ - Before defining the problem (market sizing requires clear problem space)
55
+ - As the only validation (pair with customer research)
56
+
57
+ ---
58
+
59
+ ### Facilitation Source of Truth
60
+
61
+ Use [`workshop-facilitation`](../workshop-facilitation/SKILL.md) as the default interaction protocol for this skill.
62
+
63
+ It defines:
64
+ - session heads-up + entry mode (Guided, Context dump, Best guess)
65
+ - one-question turns with plain-language prompts
66
+ - progress labels (for example, Context Qx/8 and Scoring Qx/5)
67
+ - interruption handling and pause/resume behavior
68
+ - numbered recommendations at decision points
69
+ - quick-select numbered response options for regular questions (include `Other (specify)` when useful)
70
+
71
+ This file defines the domain-specific assessment content. If there is a conflict, follow this file's domain logic.
72
+
73
+ ## Application
74
+
75
+ Use `template.md` for the full fill-in structure.
76
+
77
+ This interactive skill asks **up to 4 adaptive questions**, offering **enumerated context-aware options** at each step. The agent adapts questions based on previous responses.
78
+
79
+ ---
80
+
81
+ ### Step 0: Gather Context (Before Questions)
82
+
83
+ **Agent suggests:**
84
+
85
+ Before we begin, it's helpful to have product context. If available, please share:
86
+
87
+ **For Your Own Product:**
88
+ - Website copy (homepage, product pages, value prop statements)
89
+ - Marketing emails or landing pages
90
+ - Product descriptions or positioning statements
91
+ - Case studies or customer testimonials
92
+ - Sales deck or pitch materials
93
+
94
+ **If You Don't Have a Product Yet:**
95
+ - Find a similar or adjacent product (competitor or analog)
96
+ - Copy their website homepage, product description, or landing page
97
+ - We'll use this as a reference point for market sizing
98
+
99
+ **You can paste this content directly, or we can proceed with a brief description.**
100
+
101
+ **Why this helps:**
102
+ - Marketing materials already contain target audience, pain points, and value props
103
+ - Analyzing real content (yours or competitors') grounds the analysis in reality
104
+ - You can benchmark against similar products' market positioning
105
+
106
+ ---
107
+
108
+ ### Optional Helper Script (Deterministic Math)
109
+
110
+ If you already have population and ARPU numbers (or a TAM estimate), you can run a deterministic helper to compute TAM/SAM/SOM and generate a Markdown table. This script does **not** fetch data or write files.
111
+
112
+ ```bash
113
+ python3 scripts/market-sizing.py --population 5400000 --arpu 1000 --sam-share 30% --som-share 10%
114
+ ```
115
+
116
+ ---
117
+
118
+ ### Question 1: Problem Space
119
+
120
+ **Agent asks:**
121
+ "Based on the context you've provided (or will describe), what problem space are you exploring for market sizing?"
122
+
123
+ **Offer 4 enumerated examples (user can select by number or write custom):**
124
+
125
+ 1. **B2B SaaS productivity** — E.g., "Workflow automation for small business operations" (like Zapier, Integromat)
126
+ 2. **Consumer fintech** — E.g., "Personal budgeting app for Gen Z users" (like Mint, YNAB)
127
+ 3. **Healthcare/telehealth** — E.g., "Mental health support for remote workers" (like BetterHelp, Talkspace)
128
+ 4. **E-commerce enablement** — E.g., "Payment processing for online sellers" (like Stripe, Square)
129
+
130
+ **Or write your own problem space description based on the marketing materials you shared.**
131
+
132
+ **Tip:** If you provided website copy or marketing materials, the agent can extract the problem space from phrases like:
133
+ - "We help [target] solve [problem]"
134
+ - "The #1 solution for [use case]"
135
+ - Customer pain points in testimonials or case studies
136
+
137
+ **User response:** [Selection or custom description]
138
+
139
+ ---
140
+
141
+ ### Question 2: Geographic Region
142
+
143
+ **Agent asks:**
144
+ "What geographic region are you targeting?"
145
+
146
+ **Offer 4 enumerated options (adapted based on problem space):**
147
+
148
+ 1. **United States** — Best for detailed Census Bureau data, BLS stats, robust industry reports
149
+ 2. **European Union** — Use Eurostat, local statistical agencies; note GDPR/compliance considerations
150
+ 3. **Global** — World Bank, IMF data; broader but less granular
151
+ 4. **Specific country/region** — E.g., "Canada," "Southeast Asia," "Latin America"
152
+
153
+ **Or specify your own region.**
154
+
155
+ **User response:** [Selection or custom]
156
+
157
+ **Adaptation logic:**
158
+ - If user selected B2B SaaS (Question 1, Option 1) → Emphasize US/EU markets (mature SaaS adoption)
159
+ - If user selected Consumer fintech (Question 1, Option 2) → Mention emerging markets (higher mobile adoption)
160
+
161
+ ---
162
+
163
+ ### Question 3: Industry/Market Segments
164
+
165
+ **Agent asks:**
166
+ "What specific industry or market segments does this problem space relate to?"
167
+
168
+ **Offer 4 enumerated options (adapted based on problem space + geography):**
169
+
170
+ **Example (if Question 1 = B2B SaaS, Question 2 = US):**
171
+ 1. **SMB services sector** — 5.4M businesses, $1.2T revenue (US Census, 2023)
172
+ 2. **Professional services (legal, accounting)** — 1.1M firms, $850B revenue (IBISWorld, 2023)
173
+ 3. **Healthcare providers** — 900K practices, $4T industry (BLS, 2023)
174
+ 4. **Tech/software companies** — 500K firms, $1.8T revenue (Statista, 2023)
175
+
176
+ **Or describe your own industry segment.**
177
+
178
+ **User response:** [Selection or custom]
179
+
180
+ **Adaptation logic:**
181
+ - If Question 1 = Consumer fintech, offer consumer segments (e.g., "Gen Z 18-25," "Millennials 25-40")
182
+ - If Question 1 = Healthcare, offer segments (e.g., "Primary care physicians," "Therapists/counselors")
183
+
184
+ ---
185
+
186
+ ### Question 4: Potential Customers (Demographics/Firmographics)
187
+
188
+ **Agent asks:**
189
+ "Who are the potential customers affected by this problem?"
190
+
191
+ **Offer 4 enumerated options (adapted based on previous answers):**
192
+
193
+ **Example (if Question 1 = B2B SaaS, Question 3 = SMB services sector):**
194
+ 1. **SMBs with 10-50 employees** — 1.2M businesses, $400B revenue (Census Bureau, 2023)
195
+ 2. **SMBs with 50-250 employees** — 600K businesses, $800B revenue (Census Bureau, 2023)
196
+ 3. **Solo entrepreneurs/freelancers** — 3.5M self-employed, $200B revenue (BLS, 2023)
197
+ 4. **Service businesses with online presence** — 2M businesses, $600B e-commerce (Statista, 2023)
198
+
199
+ **Or describe your own customer segment (firmographics, demographics, income, etc.).**
200
+
201
+ **User response:** [Selection or custom]
202
+
203
+ ---
204
+
205
+ ### Output: Generate TAM/SAM/SOM Analysis
206
+
207
+ After collecting responses, the agent generates a structured analysis:
208
+
209
+ ```markdown
210
+ # TAM/SAM/SOM Analysis
211
+
212
+ **Problem Space:** [User's input from Question 1]
213
+ **Geographic Region:** [User's input from Question 2]
214
+ **Industry/Market Segments:** [User's input from Question 3]
215
+ **Potential Customers:** [User's input from Question 4]
216
+
217
+ ---
218
+
219
+ ## Total Addressable Market (TAM)
220
+
221
+ **Definition:** The total market demand if you captured 100% of potential customers in the problem space.
222
+
223
+ **Population Estimate:** [Calculated from data sources]
224
+ - **Source:** [Citation, e.g., "US Census Bureau, 2023"]
225
+ - **Calculation:** [Show math, e.g., "5.4M SMBs × $1.2T revenue = $1.2T TAM"]
226
+
227
+ **Market Size Estimate:** $[X] billion/million
228
+ - **Source:** [Industry report citation]
229
+ - **URL:** [Clickable link to source]
230
+
231
+ ---
232
+
233
+ ## Serviceable Available Market (SAM)
234
+
235
+ **Definition:** The segment of TAM you can realistically target with your product (narrowed by geography, firmographics, product fit).
236
+
237
+ **Segment of TAM:** [User's narrowed segment from Question 4]
238
+
239
+ **Population Estimate:** [Calculated]
240
+ - **Source:** [Citation]
241
+ - **Calculation:** [Show math, e.g., "1.2M SMBs with 10-50 employees"]
242
+
243
+ **Market Size Estimate:** $[X] billion/million
244
+ - **Source:** [Citation]
245
+ - **URL:** [Link]
246
+
247
+ **Assumptions:**
248
+ - [List key assumptions, e.g., "Assumes 50% of SMBs have budget for automation tools"]
249
+
250
+ ---
251
+
252
+ ## Serviceable Obtainable Market (SOM)
253
+
254
+ **Definition:** The portion of SAM you can realistically capture in the next 1-3 years, accounting for competition and market constraints.
255
+
256
+ **Realistically Capturable Market:** [Agent's estimation based on market maturity, competition]
257
+
258
+ **Population Estimate:** [Calculated]
259
+ - **Source:** [Citation]
260
+ - **Calculation:** [Show math, e.g., "1.2M SMBs × 5% market share (Year 1) = 60K customers"]
261
+
262
+ **Market Size Estimate:** $[X] million
263
+ - **Assumptions:**
264
+ - [Competition assumption, e.g., "5 major competitors, market leader has 15% share"]
265
+ - [GTM assumption, e.g., "Sales capacity: 50 customers/month in Year 1"]
266
+ - [Conversion assumption, e.g., "10% trial-to-paid conversion"]
267
+
268
+ **Year 1-3 Projections:**
269
+ - **Year 1:** [X]K customers, $[X]M revenue (5% of SAM)
270
+ - **Year 2:** [X]K customers, $[X]M revenue (10% of SAM)
271
+ - **Year 3:** [X]K customers, $[X]M revenue (15% of SAM)
272
+
273
+ ---
274
+
275
+ ## Data Sources & Citations
276
+
277
+ - [Source 1: e.g., "US Census Bureau (2023). County Business Patterns. URL: census.gov"]
278
+ - [Source 2: e.g., "IBISWorld (2023). Professional Services Industry Report. URL: ibisworld.com"]
279
+ - [Source 3: e.g., "Statista (2023). SMB Software Market Size. URL: statista.com"]
280
+ - [Add all sources used]
281
+
282
+ ---
283
+
284
+ ## Validation Questions
285
+
286
+ 1. **Does TAM align with industry reports?** [Compare to 3rd-party market research]
287
+ 2. **Is SAM realistically serviceable?** [Can your GTM motion reach this segment?]
288
+ 3. **Is SOM achievable given competition?** [Is 5-15% market share realistic in 3 years?]
289
+
290
+ ---
291
+
292
+ ## Next Steps
293
+
294
+ 1. **Validate with customer interviews:** Does the problem resonate with target segment?
295
+ 2. **Benchmark against competitors:** What market share do incumbents have?
296
+ 3. **Refine SOM based on GTM capacity:** Can sales/marketing support this growth?
297
+ 4. **Update annually:** Markets shift—reassess TAM/SAM/SOM yearly
298
+
299
+ ---
300
+
301
+ **Would you like to refine any assumptions or explore a different segment?**
302
+ ```
303
+
304
+ ---
305
+
306
+ ## Examples
307
+
308
+ See `examples/sample.md` for a full TAM/SAM/SOM analysis example.
309
+
310
+ Mini example excerpt:
311
+
312
+ ```markdown
313
+ **TAM:** 5.4M SMBs × $2,000 ARPA = $10.8B
314
+ **SAM:** 1.2M SMBs × $2,000 ARPA = $2.4B
315
+ **SOM:** 5% of SAM = $120M
316
+ ```
317
+
318
+ ## Common Pitfalls
319
+
320
+ ### Pitfall 1: TAM Without Citations
321
+ **Symptom:** "The market is $50B" (no source)
322
+
323
+ **Consequence:** Can't defend the number to investors or execs.
324
+
325
+ **Fix:** Cite industry reports (Gartner, IBISWorld, Statista) with URLs.
326
+
327
+ ---
328
+
329
+ ### Pitfall 2: SOM Equals SAM
330
+ **Symptom:** "SAM is $5B, SOM is $5B" (assuming 100% capture)
331
+
332
+ **Consequence:** Unrealistic projection—no market has zero competition.
333
+
334
+ **Fix:** SOM should be 1-20% of SAM in Year 1-3, accounting for competition.
335
+
336
+ ---
337
+
338
+ ### Pitfall 3: No Population Estimates
339
+ **Symptom:** Only dollar amounts, no customer counts
340
+
341
+ **Consequence:** Can't build sales/marketing plans without knowing customer volume.
342
+
343
+ **Fix:** Always include population (e.g., "1.2M businesses" or "60K customers in Year 1").
344
+
345
+ ---
346
+
347
+ ### Pitfall 4: Static Assumptions
348
+ **Symptom:** TAM/SAM/SOM calculated once, never updated
349
+
350
+ **Consequence:** Stale data as markets shift.
351
+
352
+ **Fix:** Reassess annually. Markets grow/shrink, competition changes, new data emerges.
353
+
354
+ ---
355
+
356
+ ### Pitfall 5: Ignoring GTM Constraints
357
+ **Symptom:** "SOM is 50% of SAM in Year 1" (but no sales team)
358
+
359
+ **Consequence:** SOM isn't realistic given GTM capacity.
360
+
361
+ **Fix:** Ground SOM in GTM constraints (sales capacity, marketing budget, conversion rates).
362
+
363
+ ---
364
+
365
+ ## References
366
+
367
+ ### Related Skills
368
+ - `skills/positioning-statement/SKILL.md` — TAM/SAM/SOM informs "For [target]" segment size
369
+ - `skills/problem-statement/SKILL.md` — Problem space defines the market
370
+ - `skills/recommendation-canvas/SKILL.md` — Market sizing informs business outcome projections
371
+
372
+ ### Optional Helpers
373
+ - `skills/tam-sam-som-calculator/scripts/market-sizing.py` — Deterministic TAM/SAM/SOM calculator (no network access)
374
+
375
+ ### External Frameworks
376
+ - Steve Blank, *The Four Steps to the Epiphany* (2005) — Market sizing for startups
377
+ - Lean Startup methodology — Validate market size with experiments, not just desk research
378
+
379
+ ### Data Sources (For Citations)
380
+ - **US:** US Census Bureau, Bureau of Labor Statistics, IBISWorld, Statista
381
+ - **Europe:** Eurostat, local statistical agencies
382
+ - **Global:** World Bank, IMF, Gartner, Forrester
383
+
384
+ ### Dean's Work
385
+ - TAM/SAM/SOM Prompt Generator (multi-turn adaptive market sizing)
386
+
387
+ ---
388
+
389
+ **Skill type:** Interactive
390
+ **Suggested filename:** `tam-sam-som-calculator.md`
391
+ **Suggested placement:** `/skills/interactive/`
392
+ **Dependencies:** None (standalone interactive skill)
@@ -0,0 +1,142 @@
1
+ # TAM/SAM/SOM Examples
2
+
3
+ ### Example 1: Good TAM/SAM/SOM Analysis (B2B SaaS Workflow Automation)
4
+
5
+ **Step 0 - Context Provided:**
6
+ User shares Zapier's homepage copy:
7
+ > "Zapier connects your apps and automates workflows. Easy automation for busy people. Move info between your web apps automatically, so you can focus on your most important work."
8
+
9
+ **Question 1 Response:** "B2B SaaS productivity — Workflow automation for small business operations" (extracted from "automates workflows" and "busy people")
10
+ **Question 2 Response:** "United States"
11
+ **Question 3 Response:** "SMB services sector"
12
+ **Question 4 Response:** "SMBs with 10-50 employees"
13
+
14
+ ---
15
+
16
+ **Generated Analysis:**
17
+
18
+ ```markdown
19
+ # TAM/SAM/SOM Analysis: Workflow Automation for SMBs
20
+
21
+ **Problem Space:** Workflow automation for small business operations
22
+ **Geographic Region:** United States
23
+ **Industry/Market Segments:** SMB services sector
24
+ **Potential Customers:** SMBs with 10-50 employees
25
+
26
+ ---
27
+
28
+ ## Total Addressable Market (TAM)
29
+
30
+ **Definition:** Total US market for workflow automation tools across all business sizes.
31
+
32
+ **Population Estimate:** 33.2M businesses (US Census Bureau, 2023)
33
+
34
+ **Market Size Estimate:** $50B
35
+ - **Source:** Gartner, "Business Process Automation Market, 2023"
36
+ - **URL:** [gartner.com/business-automation-report]
37
+ - **Breakdown:** $30B (large enterprise), $15B (mid-market), $5B (SMB)
38
+
39
+ ---
40
+
41
+ ## Serviceable Available Market (SAM)
42
+
43
+ **Definition:** US SMBs (10-50 employees) in services sector that could use workflow automation.
44
+
45
+ **Segment of TAM:** SMBs with 10-50 employees in services sector
46
+
47
+ **Population Estimate:** 1.2M businesses
48
+ - **Source:** US Census Bureau, "County Business Patterns, 2023"
49
+ - **URL:** [census.gov/cbp]
50
+ - **Calculation:** 5.4M total SMBs × 22% (10-50 employee size) = 1.2M
51
+
52
+ **Market Size Estimate:** $3.6B
53
+ - **Source:** IBISWorld, "SMB Software Market, 2023"
54
+ - **Calculation:** 1.2M businesses × $3,000 avg spend/year = $3.6B
55
+ - **URL:** [ibisworld.com/smb-software]
56
+
57
+ **Assumptions:**
58
+ - 50% of SMBs have budget for automation tools ($1.8B addressable)
59
+ - Avg $3,000/year spend on software (Statista, 2023)
60
+
61
+ ---
62
+
63
+ ## Serviceable Obtainable Market (SOM)
64
+
65
+ **Definition:** Market share we can realistically capture in next 3 years.
66
+
67
+ **Realistically Capturable Market:** 5-15% of SAM over 3 years
68
+
69
+ **Year 1 Population Estimate:** 12K customers (1% of SAM)
70
+ - **Calculation:** 1.2M businesses × 1% = 12K
71
+ - **Revenue:** $36M (12K × $3,000 ARPU)
72
+
73
+ **Year 3 Population Estimate:** 180K customers (15% of SAM)
74
+ - **Calculation:** 1.2M businesses × 15% = 180K
75
+ - **Revenue:** $540M (180K × $3,000 ARPU)
76
+
77
+ **Assumptions:**
78
+ - **Competition:** 5 major players (Zapier 20% share, Integromat 10%, others <5%)
79
+ - **GTM Capacity:** PLG motion, 1K trial signups/month in Year 1, scaling to 15K/month by Year 3
80
+ - **Conversion:** 10% trial-to-paid conversion
81
+ - **Churn:** 15% annual churn (industry standard for SMB SaaS)
82
+
83
+ **Year 1-3 Projections:**
84
+ - **Year 1:** 12K customers, $36M revenue (1% of SAM)
85
+ - **Year 2:** 60K customers, $180M revenue (5% of SAM)
86
+ - **Year 3:** 180K customers, $540M revenue (15% of SAM)
87
+
88
+ ---
89
+
90
+ ## Data Sources & Citations
91
+
92
+ - US Census Bureau (2023). County Business Patterns. [census.gov/cbp]
93
+ - Gartner (2023). Business Process Automation Market Report. [gartner.com]
94
+ - IBISWorld (2023). SMB Software Market Analysis. [ibisworld.com]
95
+ - Statista (2023). SMB Software Spending. [statista.com]
96
+
97
+ ---
98
+
99
+ ## Validation Questions
100
+
101
+ 1. **Does TAM align with industry reports?** ✅ Yes—Gartner estimates $50B total BPA market
102
+ 2. **Is SAM realistically serviceable?** ✅ Yes—PLG motion can reach 1.2M SMBs via digital marketing
103
+ 3. **Is SOM achievable given competition?** ⚠️ Stretch goal—Zapier has 20% share; 15% in Year 3 requires strong differentiation
104
+
105
+ ---
106
+
107
+ ## Next Steps
108
+
109
+ 1. **Validate with 20 customer interviews:** Confirm $3K/year budget exists
110
+ 2. **Benchmark against Zapier/Integromat:** Study their GTM, pricing, churn
111
+ 3. **Refine SOM based on pilot:** Run 6-month pilot, measure actual conversion/churn
112
+ 4. **Reassess annually:** SMB market growing 5%/year—update TAM/SAM annually
113
+ ```
114
+
115
+ **Why this works:**
116
+ - Citations for every data point (Census, Gartner, IBISWorld, Statista)
117
+ - Shows math and assumptions transparently
118
+ - Realistic SOM (1% → 5% → 15% over 3 years)
119
+ - Identifies validation gaps ("⚠️ Stretch goal")
120
+
121
+ ---
122
+
123
+ ### Example 2: Bad TAM/SAM/SOM Analysis (No Citations, Vague)
124
+
125
+ ```markdown
126
+ # TAM/SAM/SOM Analysis: Productivity Tool
127
+
128
+ **TAM:** The productivity market is huge, probably $100 billion.
129
+
130
+ **SAM:** We're targeting small businesses, so maybe $10 billion.
131
+
132
+ **SOM:** We think we can get 1% in the first year, so $100 million.
133
+ ```
134
+
135
+ **Why this fails:**
136
+ - No citations (where did "$100B" come from?)
137
+ - Vague segments ("small businesses" = how many? what size?)
138
+ - No assumptions documented (1% of SAM—why?)
139
+ - No population estimates (how many customers?)
140
+ - No validation questions or next steps
141
+
142
+ ---
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/env python3
2
+ """Deterministic TAM/SAM/SOM calculator.
3
+
4
+ No network access. Prints a Markdown summary to stdout.
5
+ """
6
+
7
+ import argparse
8
+ import sys
9
+
10
+
11
+ def parse_share(value: str) -> float:
12
+ raw = value.strip()
13
+ if raw.endswith("%"):
14
+ raw = raw[:-1]
15
+ return float(raw) / 100.0
16
+ return float(raw)
17
+
18
+
19
+ def format_money(value: float, currency: str) -> str:
20
+ rounded = round(value, 2)
21
+ formatted = f"{rounded:,.2f}"
22
+ if formatted.endswith(".00"):
23
+ formatted = formatted[:-3]
24
+ return f"{currency}{formatted}"
25
+
26
+
27
+ def parse_args() -> argparse.Namespace:
28
+ parser = argparse.ArgumentParser(
29
+ description="Calculate TAM/SAM/SOM from population and ARPU or a TAM value.",
30
+ )
31
+ basis = parser.add_mutually_exclusive_group(required=True)
32
+ basis.add_argument("--tam", type=float, help="Total Addressable Market value.")
33
+ basis.add_argument("--population", type=float, help="Total potential customers.")
34
+
35
+ parser.add_argument("--arpu", type=float, help="Annual revenue per customer.")
36
+ parser.add_argument("--sam-share", required=True, help="SAM share of TAM (0-1 or 0-100%).")
37
+ parser.add_argument("--som-share", required=True, help="SOM share of SAM (0-1 or 0-100%).")
38
+ parser.add_argument("--currency", default="$", help="Currency symbol prefix (default: $).")
39
+
40
+ args = parser.parse_args()
41
+ if args.population is not None and args.arpu is None:
42
+ parser.error("--arpu is required when using --population")
43
+ return args
44
+
45
+
46
+ def validate_share(name: str, value: float) -> None:
47
+ if value <= 0 or value >= 1:
48
+ raise ValueError(f"{name} must be between 0 and 1 (exclusive).")
49
+
50
+
51
+ def main() -> int:
52
+ try:
53
+ args = parse_args()
54
+ sam_share = parse_share(args.sam_share)
55
+ som_share = parse_share(args.som_share)
56
+ validate_share("sam-share", sam_share)
57
+ validate_share("som-share", som_share)
58
+
59
+ if args.tam is not None:
60
+ tam = args.tam
61
+ basis = f"TAM input: {format_money(tam, args.currency)}"
62
+ else:
63
+ tam = args.population * args.arpu
64
+ basis = (
65
+ f"Population x ARPU: {args.population:,.0f} x "
66
+ f"{format_money(args.arpu, args.currency)}"
67
+ )
68
+
69
+ sam = tam * sam_share
70
+ som = sam * som_share
71
+
72
+ print("# Market Size Summary\n")
73
+ print("Inputs:")
74
+ print(f"- {basis}")
75
+ print(f"- SAM share of TAM: {sam_share:.0%}")
76
+ print(f"- SOM share of SAM: {som_share:.0%}\n")
77
+ print("| Metric | Formula | Estimate |")
78
+ print("| --- | --- | --- |")
79
+ print(
80
+ f"| TAM | {basis} | {format_money(tam, args.currency)} |"
81
+ )
82
+ print(
83
+ f"| SAM | TAM x {sam_share:.0%} | {format_money(sam, args.currency)} |"
84
+ )
85
+ print(
86
+ f"| SOM | SAM x {som_share:.0%} | {format_money(som, args.currency)} |"
87
+ )
88
+ return 0
89
+ except (ValueError, argparse.ArgumentError) as exc:
90
+ print(f"Error: {exc}", file=sys.stderr)
91
+ return 1
92
+
93
+
94
+ if __name__ == "__main__":
95
+ raise SystemExit(main())
@@ -0,0 +1,35 @@
1
+ # TAM/SAM/SOM Template
2
+
3
+ Use this template to calculate market size with citations and assumptions.
4
+
5
+ ## Template
6
+ ```markdown
7
+ # TAM/SAM/SOM Analysis
8
+
9
+ **Problem Space:** [Description]
10
+ **Geographic Region:** [Region]
11
+ **Industry/Segments:** [Segments]
12
+ **Target Customers:** [Demographics/Firmographics]
13
+
14
+ ## Total Addressable Market (TAM)
15
+ - **Definition:** [What market demand represents 100% capture]
16
+ - **Population Estimate:** [Source + number]
17
+ - **Calculation:** [Show math]
18
+ - **Market Size:** $[X]
19
+
20
+ ## Serviceable Available Market (SAM)
21
+ - **Definition:** [Subset you can reach]
22
+ - **Population Estimate:** [Source + number]
23
+ - **Calculation:** [Show math]
24
+ - **Market Size:** $[X]
25
+
26
+ ## Serviceable Obtainable Market (SOM)
27
+ - **Definition:** [Realistic capture in 1-3 years]
28
+ - **Assumption:** [Market share %]
29
+ - **Calculation:** [Show math]
30
+ - **Market Size:** $[X]
31
+
32
+ ## Sources
33
+ - [Citation 1]
34
+ - [Citation 2]
35
+ ```