@veyralabs/skills 0.4.1 → 0.5.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # VeyraSkills
2
2
 
3
- ![7 skills](https://img.shields.io/badge/skills-7-blue) ![npm](https://img.shields.io/npm/v/@veyralabs/skills) ![license](https://img.shields.io/badge/license-MIT-green)
3
+ ![8 skills](https://img.shields.io/badge/skills-8-blue) ![npm](https://img.shields.io/npm/v/@veyralabs/skills) ![license](https://img.shields.io/badge/license-MIT-green)
4
4
 
5
5
  Skills for Claude Code and other AI coding agents. Each skill is a plain text file that teaches your agent a specialized workflow - naming, branding, website cloning, Shopify development, and more.
6
6
 
@@ -8,6 +8,7 @@ Skills for Claude Code and other AI coding agents. Each skill is a plain text fi
8
8
  npx @veyralabs/skills install naming-suite
9
9
  npx @veyralabs/skills install webcloner
10
10
  npx @veyralabs/skills install shopify-suite
11
+ npx @veyralabs/skills install venture-suite
11
12
  ```
12
13
 
13
14
  Or install everything at once:
@@ -42,6 +43,16 @@ Two skills covering the full Shopify stack - one for developers building themes
42
43
  | [shopify-dev](./skills/shopify-suite/shopify-dev/SKILL.md) | Shopify development across all layers: Liquid themes, JSON templates, app development with Remix, Storefront and Admin API, CLI workflows, checkout extensions, Hydrogen. Fetches live Shopify documentation via Context7 before answering version-sensitive questions |
43
44
  | [shopify-store](./skills/shopify-suite/shopify-store/SKILL.md) | Store audit and optimization. Works in two modes: Mode A uses shopify-mcp to read real store data (products, orders, apps, metafields); Mode B uses public extraction when MCP is not available. Audits 6 dimensions: catalog health, collection architecture, navigation, SEO, app stack, conversion signals |
44
45
 
46
+ ### venture-suite
47
+
48
+ Research a startup or SaaS idea before building. Collects evidence from HN, Reddit, GitHub, and web searches - no API keys required.
49
+
50
+ | Skill | What it does |
51
+ |-------|-------------|
52
+ | [venture-analyst](./skills/venture-suite/venture-analyst/SKILL.md) | Four-phase idea validation: problem discovery (evidence from real sources), competitor intelligence (pricing, gaps, weaknesses), validation experiments (Mom Test, fake door, concierge MVP), and a Bull/Bear/Judge verdict with confidence score |
53
+
54
+ Includes Python scripts for zero-key data collection and auto-detection of available enhancements (SearXNG via Docker, optional API keys). All methodology references included: Lean Startup, Customer Development, Mom Test, Blue Ocean Strategy, Traction.
55
+
45
56
  ### webcloner
46
57
 
47
58
  Clone any landing page, marketing site, portfolio, or ecommerce storefront into a pixel-accurate Next.js replica.
@@ -66,6 +77,8 @@ npx @veyralabs/skills install webcloner
66
77
  npx @veyralabs/skills install shopify-suite
67
78
  npx @veyralabs/skills install shopify-dev
68
79
  npx @veyralabs/skills install shopify-store
80
+ npx @veyralabs/skills install venture-suite
81
+ npx @veyralabs/skills install venture-analyst
69
82
  npx @veyralabs/skills install domainforge
70
83
  ```
71
84
 
@@ -144,6 +157,8 @@ Each skill is also published as a standalone npm package if you only want one:
144
157
  - `@veyralabs/shopify-suite`
145
158
  - `@veyralabs/shopify-dev`
146
159
  - `@veyralabs/shopify-store`
160
+ - `@veyralabs/venture-suite`
161
+ - `@veyralabs/venture-analyst`
147
162
 
148
163
  ---
149
164
 
package/bin/cli.js CHANGED
@@ -11,8 +11,9 @@ const COMMANDS_DIR = path.join(__dirname, '..', 'commands');
11
11
 
12
12
  // pip packages required per skill
13
13
  const SKILL_PIP_DEPS = {
14
- 'shopify-store': ['scrapling'],
15
- 'webcloner': ['scrapling'],
14
+ 'shopify-store': ['scrapling'],
15
+ 'webcloner': ['scrapling'],
16
+ 'venture-analyst': ['scrapling', 'ddgs', 'trendspyg', 'requests'],
16
17
  };
17
18
 
18
19
  const AGENT_PATHS = {
@@ -0,0 +1,16 @@
1
+ Activate the venture-analyst skill. Task: $ARGUMENTS
2
+
3
+ Read the full skill at skills/venture-suite/venture-analyst/SKILL.md before doing anything else.
4
+
5
+ Then run the 4 phases in order:
6
+
7
+ 1. Problem Discovery - collect evidence from HN, Reddit, GitHub, trends using scripts/sources.py
8
+ 2. Competitor Intelligence - map the landscape using scripts/scraper.py and sources
9
+ 3. Validation Experiments - generate prioritized experiments using scripts/experiments.py
10
+ 4. Verdict - Bull case, Bear case, Judge verdict using the scoring system in SKILL.md
11
+
12
+ Start by detecting environment enhancements silently (scripts/enhance_detect.py) and use the best available search method without asking the user for any API keys.
13
+
14
+ If the user did not specify the idea clearly, ask one question: "What's the idea, and who is it for?"
15
+
16
+ Output the full verdict using templates/verdict.md as structure.
package/install.sh CHANGED
@@ -118,6 +118,7 @@ check_deps() {
118
118
  declare -A SKILL_PIP_DEPS=(
119
119
  ["shopify-store"]="scrapling"
120
120
  ["webcloner"]="scrapling"
121
+ ["venture-analyst"]="scrapling ddgs trendspyg requests"
121
122
  )
122
123
 
123
124
  install_pip_deps() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veyralabs/skills",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "VeyraSkills — A curated collection of Claude Code skills for founders, developers and AI builders",
5
5
  "bin": {
6
6
  "veyraskills": "bin/cli.js"
@@ -35,7 +35,11 @@
35
35
  "shopify-theme",
36
36
  "shopify-app",
37
37
  "shopify-audit",
38
- "ecommerce"
38
+ "ecommerce",
39
+ "startup-validation",
40
+ "market-research",
41
+ "idea-validation",
42
+ "lean-startup"
39
43
  ],
40
44
  "author": "VeyraLabs <hello@veyralabs.com>",
41
45
  "license": "MIT",
@@ -0,0 +1,269 @@
1
+ ---
2
+ name: venture-analyst
3
+ description: Startup and SaaS idea validation. Researches market evidence, maps competitors, scores viability, and generates concrete validation experiments. Zero API keys required.
4
+ ---
5
+
6
+ # Venture Analyst
7
+
8
+ Research a startup or SaaS idea and determine if it's worth building. No fluff — real evidence from real sources.
9
+
10
+ ## What this does
11
+
12
+ Four phases, each producing structured output:
13
+
14
+ 1. **Problem Discovery** - Find evidence the problem actually exists (Reddit, HN, GitHub issues)
15
+ 2. **Competitor Intelligence** - Map the landscape, find gaps, extract pricing signals
16
+ 3. **Validation Experiments** - Generate 3 prioritized experiments to test demand before building
17
+ 4. **Verdict** - Bull/Bear/Judge debate producing a final recommendation with confidence score
18
+
19
+ ## How to use
20
+
21
+ Describe your idea. Include:
22
+ - What it does (one sentence)
23
+ - Who it's for (target customer)
24
+ - What problem it solves
25
+
26
+ Optional: budget for experiments, market type (B2C/B2B), known competitors.
27
+
28
+ ## Phase 1 — Problem Discovery
29
+
30
+ **Goal:** Find evidence the problem is real and people talk about it unprompted.
31
+
32
+ Use `scripts/sources.py` to collect evidence:
33
+
34
+ ```python
35
+ from scripts.sources import search_hn, search_hn_comments, search_reddit, search_github_issues, get_trends
36
+
37
+ # HN: find discussions, Show HN, Ask HN about the problem space
38
+ hn_stories = search_hn(query, limit=20)
39
+ hn_comments = search_hn_comments(query, min_points=3, limit=30)
40
+
41
+ # Reddit: find complaints, questions, "is there a tool for X" posts
42
+ reddit_posts = search_reddit(query, limit=25, timeframe="year")
43
+
44
+ # GitHub: find feature requests and pain in related tools
45
+ gh_issues = search_github_issues(query, limit=20)
46
+
47
+ # Trends: is interest rising or declining?
48
+ trend_data = get_trends(keyword)
49
+ ```
50
+
51
+ **Synthesize findings:**
52
+
53
+ Look for these signals (strongest first):
54
+ - People spending money on bad solutions (evidence of willingness to pay)
55
+ - Recurring complaints with no good answer
56
+ - "Is there a tool that does X?" posts with many upvotes
57
+ - GitHub issues with many reactions and no resolution
58
+ - Rising trend line
59
+
60
+ Red flags:
61
+ - Zero discussion anywhere — not even a complaint
62
+ - Problem exists but nobody's tried to solve it (often means it's not painful enough)
63
+ - Only a few power users care, not a broad market
64
+
65
+ **Output format:**
66
+ ```
67
+ ## Problem Evidence
68
+
69
+ **Evidence Score:** [0-100] (use calculate_evidence_score())
70
+ **Trend:** [rising/stable/declining/no_data]
71
+
72
+ ### What people say (direct quotes preferred)
73
+ - [Source] "[quote or paraphrase]" — [upvotes/reactions]
74
+
75
+ ### Pain signals
76
+ - [description of signal + source count]
77
+
78
+ ### Gaps found
79
+ - [what existing solutions miss]
80
+ ```
81
+
82
+ ## Phase 2 — Competitor Intelligence
83
+
84
+ **Goal:** Map who's already solving this. Find pricing, positioning gaps, weak points.
85
+
86
+ ```python
87
+ from scripts.scraper import scrape_competitor
88
+ from scripts.sources import search_github_repos, search_web
89
+
90
+ # Find competitors via web and GitHub
91
+ repos = search_github_repos(f"{idea} tool", limit=8)
92
+ web_results = search_web(f"{idea} software alternatives", limit=8)
93
+
94
+ # Scrape each competitor's pricing + positioning
95
+ for url in competitor_urls:
96
+ data = scrape_competitor(url)
97
+ # data has: title, tagline, description, pricing, features, tech_stack
98
+ ```
99
+
100
+ **Competitive map structure:**
101
+ ```
102
+ | Name | Pricing | Target | Weakness | Stars |
103
+ |------|---------|--------|----------|-------|
104
+ | X | $49/mo | SMBs | No API | 2.1k |
105
+ ```
106
+
107
+ **Gaps to look for:**
108
+ - Price ceiling: is there a tier missing?
109
+ - Audience gap: power users vs beginners vs enterprise
110
+ - Feature gap: what do G2/Reddit reviews complain about?
111
+ - Distribution gap: who's not in a specific channel?
112
+
113
+ **G2 reviews (when Playwright available):**
114
+ ```python
115
+ from scripts.scraper import scrape_g2_reviews
116
+ reviews = scrape_g2_reviews("https://www.g2.com/products/[product]/reviews")
117
+ # Check for recurring "cons" patterns
118
+ ```
119
+
120
+ **Output format:**
121
+ ```
122
+ ## Competitor Map
123
+
124
+ ### Direct competitors
125
+ [table]
126
+
127
+ ### Indirect / adjacent
128
+ [list with one-line descriptions]
129
+
130
+ ### Market gaps
131
+ - Gap 1: [description + evidence]
132
+ - Gap 2: [description + evidence]
133
+
134
+ ### Pricing landscape
135
+ - Range: [$X - $Y/month]
136
+ - Free tier pattern: [present/absent]
137
+ - Typical model: [seat/flat/usage]
138
+ ```
139
+
140
+ ## Phase 3 — Validation Experiments
141
+
142
+ **Goal:** Before writing code, find out if people will actually pay.
143
+
144
+ ```python
145
+ from scripts.experiments import generate_experiments, format_experiment_output
146
+
147
+ experiments = generate_experiments(
148
+ idea=idea,
149
+ target_customer=target,
150
+ market_type="b2b", # or "b2c"
151
+ competition_level="medium", # low/medium/high
152
+ budget="zero", # zero / low / medium
153
+ )
154
+
155
+ print(format_experiment_output(experiments, idea))
156
+ ```
157
+
158
+ Always present experiments in priority order. Cheapest + highest-signal first.
159
+
160
+ **Mom Test enforcement** — when helping design interviews or outreach:
161
+ - See `references/mom-test.md` for good vs bad questions
162
+ - Detect and flag future-hypothetical questions ("would you use X?")
163
+ - Replace with past-behavior questions ("how do you currently handle X?")
164
+
165
+ ## Phase 4 — Verdict
166
+
167
+ **Goal:** Simulate a debate between Bull, Bear, and Judge. Reach a conclusion.
168
+
169
+ ### Bull case (write this first)
170
+ - Strongest evidence for building it
171
+ - Market timing arguments
172
+ - Why this team / why now
173
+ - Best-case scenario with numbers
174
+
175
+ ### Bear case (steelman the opposition)
176
+ - Strongest evidence AGAINST
177
+ - Why existing solutions might be good enough
178
+ - Market risks, timing risks, competition risks
179
+ - Why it might fail even if the problem is real
180
+
181
+ ### Judge verdict
182
+ Read both cases. Apply these criteria:
183
+
184
+ | Signal | Weight |
185
+ |--------|--------|
186
+ | Evidence score > 60 | +2 |
187
+ | Trend = rising | +1 |
188
+ | Competitors have clear weakness | +1 |
189
+ | No dominant player (>50% market) | +1 |
190
+ | B2B with willingness-to-pay signals | +1 |
191
+ | Price ceiling exists | +1 |
192
+ | Evidence score < 30 | -3 |
193
+ | Trend = declining | -2 |
194
+ | 1+ competitor with >100k users + free tier | -2 |
195
+ | Problem is niche (<10k potential users) | -1 |
196
+
197
+ **Verdict output:**
198
+ ```
199
+ ## Verdict
200
+
201
+ **Recommendation:** [BUILD / VALIDATE FIRST / AVOID]
202
+ **Confidence:** [High / Medium / Low]
203
+ **Score:** [+N or -N]
204
+
205
+ ### Judge's reasoning
206
+ [2-3 sentences. Direct. No hedging.]
207
+
208
+ ### If BUILD: suggested starting point
209
+ [Specific first step. Not generic advice.]
210
+
211
+ ### If VALIDATE FIRST: critical unknown
212
+ [The one thing that must be proven before spending time.]
213
+
214
+ ### If AVOID: core problem
215
+ [Why specifically this fails. What would have to change.]
216
+ ```
217
+
218
+ ## Enhancement detection
219
+
220
+ Run at session start to unlock better sources:
221
+
222
+ ```python
223
+ from scripts.enhance_detect import detect_level, ensure_searxng, best_search
224
+
225
+ env = detect_level()
226
+ # Returns: docker, searxng, veyrascrape_mcp, github_token, exa_key, tavily_key, groq_key
227
+
228
+ # If Docker available, auto-launch SearXNG for better web search
229
+ if env["docker"] and not env["searxng"]:
230
+ ensure_searxng() # silent, no user prompt
231
+
232
+ # Use best available search
233
+ results = best_search(query, env, limit=10)
234
+ ```
235
+
236
+ **Level 1 (always works):** HN + Reddit + GitHub + ddgs + trendspyg
237
+ **Level 2 (auto, no keys):** + SearXNG via Docker (if Docker installed)
238
+ **Level 3 (optional keys):** + Exa, Tavily, GitHub authenticated, VeyraScrape MCP
239
+
240
+ Never ask the user to set up API keys. Auto-detect and use what's available.
241
+
242
+ ## Evidence Score interpretation
243
+
244
+ From `calculate_evidence_score()` in `sources.py`:
245
+
246
+ | Score | Meaning |
247
+ |-------|---------|
248
+ | 0-20 | Weak - barely any signal. Rethink or pivot problem framing |
249
+ | 21-40 | Thin - some signal but not convincing |
250
+ | 41-60 | Moderate - proceed to competitor research |
251
+ | 61-80 | Strong - real problem, real people care |
252
+ | 81-100 | Very strong - validated pain, move to experiments immediately |
253
+
254
+ ## Methodology references
255
+
256
+ - `references/lean-startup.md` - validated learning, MVP types, pivot signals
257
+ - `references/customer-dev.md` - Steve Blank's 4 steps, problem interview structure
258
+ - `references/mom-test.md` - good vs bad interview questions
259
+ - `references/blue-ocean.md` - Value Curve, ERRC Grid, finding uncontested space
260
+ - `references/traction.md` - 19 acquisition channels, Bullseye framework
261
+
262
+ ## Output principles
263
+
264
+ 1. Lead with evidence, not opinions
265
+ 2. Quote real sources (HN post, Reddit thread, GitHub issue)
266
+ 3. Be specific about numbers (upvotes, stars, $prices)
267
+ 4. Separate fact from inference clearly
268
+ 5. Bull/Bear before Verdict — don't skip the debate
269
+ 6. Verdict must commit to a recommendation — no "it depends" without specifics
@@ -0,0 +1,130 @@
1
+ # Blue Ocean Strategy Reference
2
+
3
+ W. Chan Kim & Renee Mauborgne, "Blue Ocean Strategy" (2005, updated 2015).
4
+
5
+ ## Core concept
6
+
7
+ **Red Ocean:** existing market space. Competitors fight over same customers. Bloody from competition.
8
+ **Blue Ocean:** new market space. Create demand, not fight for it.
9
+
10
+ The goal: don't compete where everyone else is. Find (or create) a space where there's no direct competition.
11
+
12
+ This is not about being "different" for its own sake. It's about finding where existing solutions fail enough customers that a new approach can win without fighting incumbents.
13
+
14
+ ## Value Innovation
15
+
16
+ The foundation of blue ocean strategy. The simultaneous pursuit of:
17
+ - **Differentiation** (more value for customers) AND
18
+ - **Low cost** (lower cost to deliver)
19
+
20
+ Most companies choose one. Blue ocean does both by eliminating or reducing what the industry assumes is necessary.
21
+
22
+ Key: value innovation redefines what value means — it doesn't just add more features.
23
+
24
+ ## Value Curve
25
+
26
+ A visual tool. X-axis: factors the industry competes on. Y-axis: level of investment/offering.
27
+
28
+ Draw your value curve vs competitors:
29
+ 1. List all factors the industry competes on (price, features, quality, support, speed, etc.)
30
+ 2. Score each player 1-10 on each factor
31
+ 3. Connect the dots — that's the value curve
32
+
33
+ **What to look for:**
34
+ - Where are all competitors converging? (where you can differentiate)
35
+ - Where is investment high but customers don't care? (where you can eliminate/reduce)
36
+ - What do customers want that nobody offers? (where you can create/raise)
37
+
38
+ **Signs of a blue ocean opportunity:**
39
+ - Your curve looks completely different from competitors
40
+ - You're investing in factors they don't even measure
41
+ - You're not competing on any factor they compete on
42
+
43
+ ## ERRC Grid
44
+
45
+ The strategic tool for creating a new value curve.
46
+
47
+ | Action | Question | Why |
48
+ |--------|----------|-----|
49
+ | **Eliminate** | Which factors the industry takes for granted can be eliminated? | Remove cost + complexity customers don't value |
50
+ | **Reduce** | Which factors should be reduced well below the industry standard? | Stop over-delivering where it doesn't matter |
51
+ | **Raise** | Which factors should be raised well above the industry standard? | Solve what customers complain about |
52
+ | **Create** | Which factors should be created that the industry has never offered? | Add new value that opens new demand |
53
+
54
+ **How to use it for venture analysis:**
55
+
56
+ Look at the competitor landscape from Phase 2. Fill the ERRC grid:
57
+ - What do all competitors force customers to deal with? (Eliminate candidates)
58
+ - Where are they all investing heavily but customers complain anyway? (Reduce candidates)
59
+ - What do all G2/Reddit reviews say is missing? (Raise or Create candidates)
60
+
61
+ ## Three tiers of non-customers
62
+
63
+ Incumbents focus on existing customers. Blue ocean looks at non-customers:
64
+
65
+ **Tier 1 — "Soon-to-be" non-customers**
66
+ On the edge of the market. Use existing solutions but reluctantly. Would switch if something better existed.
67
+ - Find them: people who use tools but post complaints
68
+ - Signal: "I use X but I hate Y"
69
+
70
+ **Tier 2 — "Refusing" non-customers**
71
+ Consciously choose not to use existing solutions. Have the problem but handle it differently.
72
+ - Find them: "I could use X but I just [workaround] instead"
73
+ - Signal: "I tried X but gave up because..."
74
+
75
+ **Tier 3 — "Unexplored" non-customers**
76
+ Never considered as customers. In other markets or segments entirely.
77
+ - Find them: unexpected users of adjacent tools
78
+ - Signal: people solving your problem with tools not built for it
79
+
80
+ ## Red vs Blue Ocean signals in research
81
+
82
+ When analyzing a market, these signals matter:
83
+
84
+ ### Red Ocean signals (hard fight ahead)
85
+ - 5+ competitors with similar positioning and pricing
86
+ - Dominant player with >50% market share
87
+ - Feature comparison tables are the main marketing tool
88
+ - Price is primary differentiator
89
+ - High churn across all players (no moat)
90
+ - Reddit/HN: "X vs Y vs Z" comparison posts everywhere
91
+
92
+ ### Blue Ocean signals (opportunity)
93
+ - People solve the problem with spreadsheets or manual processes
94
+ - Niche community uses a tool far outside its intended purpose
95
+ - The "best" solution is widely criticized for the same thing
96
+ - Large group adjacent to current market who never adopted it
97
+ - Incumbents focused on enterprise; SMB underserved (or vice versa)
98
+ - Technology shift makes old assumptions invalid (mobile, AI, etc.)
99
+
100
+ ## Applying Blue Ocean to competitive analysis
101
+
102
+ In Phase 2, after mapping competitors, ask:
103
+
104
+ 1. **Which axis can you ignore entirely?**
105
+ - E.g., all competitors compete on features — can you win on simplicity instead?
106
+
107
+ 2. **What do customers actually use vs what they pay for?**
108
+ - If pricing is based on features but customers only use 20% of them, price simplicity
109
+
110
+ 3. **What's the "tax" on using existing solutions?**
111
+ - Setup time, training required, integrations needed, contracts, support tickets
112
+ - Eliminate the tax
113
+
114
+ 4. **Who's locked out of the market?**
115
+ - High price, high complexity, enterprise-only contracts
116
+ - If you can serve them, they're Tier 2/3 non-customers
117
+
118
+ ## Value Curve template
119
+
120
+ ```
121
+ Factor | Competitor A | Competitor B | Our position
122
+ ----------------|-------------|-------------|-------------
123
+ Price | High | Medium | ?
124
+ Ease of setup | Hard | Hard | ?
125
+ Feature breadth | Wide | Wide | ?
126
+ Support | Good | Poor | ?
127
+ [key factor] | ... | ... | ?
128
+ ```
129
+
130
+ A good blue ocean position looks different from all others — not just slightly better.
@@ -0,0 +1,147 @@
1
+ # Customer Development Reference
2
+
3
+ Steve Blank's framework. The complement to Lean Startup.
4
+ Source: "The Four Steps to the Epiphany" (2005) and "The Startup Owner's Manual" (2012).
5
+
6
+ ## Core thesis
7
+
8
+ Startups are not smaller versions of large companies. They exist to search for a repeatable, scalable business model — not to execute one. This search requires talking to customers before building.
9
+
10
+ Most founders skip Step 1 and go straight to building. This is why most startups fail.
11
+
12
+ ## The four steps
13
+
14
+ ### Step 1 — Customer Discovery
15
+
16
+ Validate that the problem exists and that your target customer experiences it.
17
+
18
+ **What you're testing:**
19
+ - Does the problem actually exist?
20
+ - Is your target customer the right one?
21
+ - Is this painful enough to pay to solve?
22
+
23
+ **How:**
24
+ - Interview 20-30 potential customers
25
+ - Listen, don't pitch
26
+ - Ask about their current behavior, not hypothetical preferences
27
+ - See `references/mom-test.md` for interview technique
28
+
29
+ **Pass criteria:**
30
+ - Multiple customers describe the same problem unprompted
31
+ - They have workarounds (evidence they tried to solve it)
32
+ - They can quantify the cost (time, money, frustration)
33
+
34
+ **Failure mode:** Founders who pitch instead of listen. "Nobody told me it was a bad idea" ≠ validation.
35
+
36
+ ### Step 2 — Customer Validation
37
+
38
+ Prove the business model. Find repeatable sales. Find a path to revenue.
39
+
40
+ **What you're testing:**
41
+ - Will they actually pay?
42
+ - Is the sales process repeatable?
43
+ - Can you find customers without your personal network?
44
+
45
+ **How:**
46
+ - Get 3-5 paying customers (even at a discount or free for design partners)
47
+ - Document the sales process step by step
48
+ - Find what objections come up and how to overcome them
49
+
50
+ **Pass criteria:**
51
+ - Customers pay without you having to chase them hard
52
+ - Different salespeople can close using the same process
53
+ - Customer acquisition is possible outside warm intros
54
+
55
+ **Failure mode:** Getting 3 customers who are personal favors. Real validation = strangers pay.
56
+
57
+ ### Step 3 — Customer Creation
58
+
59
+ Shift from search to execution. Scale what worked in Step 2.
60
+
61
+ **What you're doing:**
62
+ - Pick one channel and scale it
63
+ - Invest in marketing that repeats the validated sales motion
64
+ - Build demand generation around the validated message
65
+
66
+ **Only reach this step after Step 2 is solid.** Scaling a broken sales process just burns money.
67
+
68
+ ### Step 4 — Company Building
69
+
70
+ Transition from startup to company. Build processes, teams, and systems.
71
+
72
+ **Not relevant for early validation.** Focus on Steps 1 and 2 first.
73
+
74
+ ## Problem vs solution interviews
75
+
76
+ Two different conversations. Don't mix them.
77
+
78
+ ### Problem interview
79
+
80
+ Goal: validate the problem exists, understand current behavior.
81
+
82
+ Structure:
83
+ 1. Intro (2 min): "I'm researching how people handle X. No product to sell."
84
+ 2. Background (5 min): "Tell me about your role. What does a typical day look like?"
85
+ 3. Story (10 min): "Tell me about the last time you dealt with X. Walk me through it."
86
+ 4. Pain exploration (10 min): "What's most frustrating about that? How do you handle it now?"
87
+ 5. Wrap-up (5 min): "Who else would I talk to about this?"
88
+
89
+ **Do not:** mention your solution, ask hypotheticals, ask for feature preferences.
90
+
91
+ ### Solution interview
92
+
93
+ Only run after problem is validated.
94
+
95
+ Goal: validate your specific solution design.
96
+
97
+ Structure:
98
+ 1. Problem recap (3 min): confirm they have the problem
99
+ 2. Demo/mockup (10 min): show the concept, let them react
100
+ 3. Reactions (10 min): "What would you do with this? What's confusing?"
101
+ 4. Willingness to pay (5 min): not "would you pay?" — "how much do you currently spend on this?"
102
+
103
+ ## Earlyvangelists
104
+
105
+ The best early customers share all 5 traits:
106
+
107
+ 1. Have the problem
108
+ 2. Know they have the problem
109
+ 3. Actively searching for a solution
110
+ 4. Cobbled together a workaround
111
+ 5. Have budget to buy a solution
112
+
113
+ Finding earlyvangelists is the goal of Steps 1-2. They'll put up with incomplete products, give feedback, and refer others.
114
+
115
+ **Where to find them:** niche communities (subreddits, Slack groups, LinkedIn groups), people who asked public questions about the problem, power users of adjacent tools.
116
+
117
+ ## Beachhead market
118
+
119
+ Don't try to reach everyone. Pick the smallest possible market where you can win completely.
120
+
121
+ Criteria for a good beachhead:
122
+ - Homogeneous needs (all have the same problem in the same way)
123
+ - Word of mouth works within the group
124
+ - Referenceable (customers are willing to be named)
125
+ - Financially attractive enough to sustain the business
126
+
127
+ **Classic mistake:** TAM is huge, so we'll target everyone. Result: message resonates with nobody.
128
+
129
+ ## Customer segments to validate
130
+
131
+ For B2B especially, multiple people are involved in a purchase:
132
+
133
+ - **User** - uses the product daily
134
+ - **Influencer** - recommends or blocks purchase
135
+ - **Recommender** - brings options to the decision maker
136
+ - **Decision maker** - approves budget
137
+ - **Economic buyer** - controls the money
138
+
139
+ Your ICP might be the User but the Economic Buyer makes the call. Understand all of them before pricing or positioning.
140
+
141
+ ## Signals for pivot
142
+
143
+ - 10+ interviews and nobody describes the same problem
144
+ - Everyone says "that's interesting" but won't commit to a call with their boss
145
+ - The workaround they use is good enough and they know it
146
+ - Problem only affects extremely niche edge cases
147
+ - The real buyer is different from who you expected