Market Validate
Turn a raw / half-baked idea into an evidence-backed validation report for an
independent developer (solo founder / OPC). Bias toward honest negatives
as much as positives. Prefer primary signals from real people complaining, paying,
or shipping — not generic “AI market size” fluff.
When not to use
- Ready for real user interviews (Mom Test) → prefer
z-customer-discovery
- Ready to test demand with a page + waitlist → prefer
z-landing-smoke
- Idea is already shipping and needs growth experiments (different skill later)
- Pure technical design / architecture (use eng planning skills)
- Legal/compliance deep dive only
Output language
Write the final report in the same language the user used for the idea
(Chinese → Chinese report; English → English). Keep source quotes in original
language with short translations when helpful.
Non-negotiables
- No empty confidence. Every major claim needs a source link or a clear “not found”.
- Seek disconfirming evidence. Actively search for “scam”, “hate”, “cancelled”, “alternative”, “too expensive”, “doesn’t work”.
- Indie lens. Score suitability for one person (scope, support burden, distribution, regulation, capital).
- Short-term return is hard. Call out when “quick money” claims are weak; prefer 30/90-day plausible paths over fantasy ARR.
- Do not invent numbers. If you cannot measure volume, say so and use qualitative bands.
- Tools are host-specific. Use whatever the host provides: web search, X/Twitter search, page fetch/browse, Reddit search, etc. If a channel is unreachable, mark it
blocked and continue.
- Evidence does not upgrade on handoff. Preserve each claim's canonical
class —
primary behavior, observed experiment, secondary public,
search signal, or assumption — when another skill consumes it.
- The handoff is a fixed interface. End the primary report with exactly
one two-column, seven-row Evidence handoff table headed
Field | Value.
Its first column must use these exact plain-text labels: Current decision,
Evidence classes, Supported claims, Still unproven, Contradictions / exclusions, Source anchors, and Next validation. Do not format,
translate, split, or rename them. The class cell may contain only applicable
names from primary behavior, observed experiment, secondary public,
search signal, and assumption. Planned work does not add a current class.
Never leave the class cell empty. Use assumption when inputs are only
missing, invalid, or unverified, and state that limit elsewhere.
Workflow
Phase 0 — Intake (≤ 5 questions if needed)
If the idea is too vague to search, ask only what blocks research. Prefer
inferring the rest and stating assumptions.
Minimum to proceed:
| Field |
Example |
| One-liner |
“AI that turns meeting notes into client invoices for freelancers” |
| Who suffers |
Freelancers / agencies / Chinese SMBs / … |
| Geography |
Global / US / CN / … |
| Rough shape |
SaaS / template / content / marketplace / CLI / mobile |
Optional (ask only if missing and material): willingness-to-pay guess, skills the
founder already has, hard constraints (no marketplace, no hardware, offline only).
Record assumptions explicitly in the report.
Phase 1 — Research frame (do this before searching)
Produce a short internal frame (can be in notes, not full user-facing yet):
- Problem statement (user pain in their words, not product words)
- Search query pack (8–20 queries) covering pain, demand, competitors,
alternatives, pricing, failure/churn, and relevant language variants
- Success signals (what would count as “real demand”)
- Kill signals (what would make this a no-go for an indie)
Read references/sources.md for channel tactics and query recipes.
Read references/report-template.md before writing the final doc.
Phase 2 — Multi-channel demand scan
Read and apply references/sources.md. When tools allow, scan at least 4
relevant channels, including one buyer habitat rather than only founder
communities. Choose among X/Twitter, Reddit, Hacker News, Product Hunt, Indie
Hackers, app/review sites, and public search pages; for China-primary or
bilingual ideas, add reachable sources such as 即刻、微博、小红书、知乎、V2EX、
少数派, or buyer-relevant comments. Mark every chosen channel searched,
partial, blocked, or skipped (reason); never imply access you did not have.
For each useful hit, capture a signal card:
- channel:
- url:
- date: (if known)
- quote/summary: (short)
- polarity: demand | praise | objection | churn | competitor | pricing | noise
- weight: high | med | low # high = recent + specific + emotional/paying intent
- indie_relevance: high | med | low
Aim for 12–30 signal cards, not 200 dumps. Prefer quality and diversity
(different channels and polarities).
Phase 3 — Competition & substitutes
Identify 3–8 alternatives people already use (including “do nothing”, Excel,
agencies, manual process). For each:
- Who it’s for
- Pricing (if public)
- Gaps people complain about
- Why an indie might still win a wedge (or why not)
Phase 4 — Scoring (explicit, humble)
Use the exact six-dimension score table and formula in
references/report-template.md. Score each dimension 1–5 with one-line
evidence; midpoint 3 means mixed or weak evidence. Competition intensity is the
only reversed raw input: calculate competition_fit = 6 - competition_intensity, then average demand, pay, competition fit, indie fit,
time-to-signal, and short-term return. Calculate and round once to two decimals,
then copy that exact display value everywhere. Any mismatch is an invalid report.
Also pick a recommendation band:
| Band |
Meaning |
| Build wedge now |
Enough pain + indie-shaped + learning path |
| Explore with spike |
Unclear; 1–2 week research/build spike only |
| Park / reshape |
Weak demand, bad indie fit, or only vanity market |
| Avoid (as stated) |
Kill criteria hit; only proceed if idea changes |
Never let a high “market size story” override empty primary signals.
Phase 5 — Indie short-term return judgment
Answer explicitly (no hedging without saying why):
- Commercial value? Yes / Mixed / Weak — in one paragraph with evidence.
- Fit for independent developer? Yes / Conditional / No — scope, support, channels, skills.
- Short-term return (30–90 days) odds? High / Medium / Low — what “return” means (first $100, first 10 users, consulting lead, etc.).
- If going deeper, best entry direction — pick one primary wedge + 1–2 backups; say what to ship first and what to measure.
Prefer wedges that are:
- Narrow ICP
- Manual-first or uglier MVP OK
- Distribution via communities already scanned
- Avoid winner-take-all platforms on day one
Phase 6 — Deliver the report
Read and follow references/report-template.md, then apply
references/quality-bar.md before delivery; both are binding.
Do not rename, split, or replace the template's seven Evidence handoff rows with
equivalent prose or custom fields.
Delivery options:
- Default: paste the full report in chat.
- If the user is in a product repo and wants a file: write
docs/z-market-validate-<slug>-<YYYYMMDD>.md (or path they specify).
Finish with the strongest supporting and opposing links available, exactly three
bounded next-48-hour actions, and the fixed Evidence handoff.
Method notes (anti-BS)
- Upvotes ≠ revenue. PH medals ≠ retention.
- Loud Twitter ≠ paying customers.
- “I’d use this” comments are cheap; “I pay for X and hate Y” is gold.
- Founder echo chambers overstate novelty; search the buyer’s habitat, not only builder habitats.
- If everything looks positive, you under-sampled objections — go back to Phase 2.
- If everything looks negative, separate “bad idea” from “bad positioning / wrong ICP”.
Guardrails
- Do not claim survey statistical significance from a few posts.
- Do not recommend illegal, spammy, or ToS-abusive growth tactics.
- Do not scrape behind logins if the host cannot; mark
blocked.
- Do not shame the user’s idea; be direct and constructive.
- If tools fail entirely, say so and give a manual research checklist from
references/sources.md instead of fabricating a report.
1---2name: z-market-validate3description: Use when an independent developer needs public market research to decide whether an early product idea is worth deeper validation. Scans communities and competitors for demand, objections, alternatives, solo-founder fit, entry wedges, and a go, narrow, or stop recommendation.4---56# Market Validate78Turn a **raw / half-baked idea** into an evidence-backed validation report for an9**independent developer** (solo founder / OPC). Bias toward **honest negatives**10as much as positives. Prefer primary signals from real people complaining, paying,11or shipping — not generic “AI market size” fluff.1213## When not to use1415- Ready for real user interviews (Mom Test) → prefer `z-customer-discovery`16- Ready to test demand with a page + waitlist → prefer `z-landing-smoke`17- Idea is already shipping and needs growth experiments (different skill later)18- Pure technical design / architecture (use eng planning skills)19- Legal/compliance deep dive only2021## Output language2223Write the **final report in the same language the user used** for the idea24(Chinese → Chinese report; English → English). Keep source quotes in original25language with short translations when helpful.2627## Non-negotiables28291. **No empty confidence.** Every major claim needs a source link or a clear “not found”.302. **Seek disconfirming evidence.** Actively search for “scam”, “hate”, “cancelled”, “alternative”, “too expensive”, “doesn’t work”.313. **Indie lens.** Score suitability for **one person** (scope, support burden, distribution, regulation, capital).324. **Short-term return is hard.** Call out when “quick money” claims are weak; prefer 30/90-day *plausible* paths over fantasy ARR.335. **Do not invent numbers.** If you cannot measure volume, say so and use qualitative bands.346. **Tools are host-specific.** Use whatever the host provides: web search, X/Twitter search, page fetch/browse, Reddit search, etc. If a channel is unreachable, mark it `blocked` and continue.357. **Evidence does not upgrade on handoff.** Preserve each claim's canonical36 class — `primary behavior`, `observed experiment`, `secondary public`,37 `search signal`, or `assumption` — when another skill consumes it.388. **The handoff is a fixed interface.** End the primary report with exactly39 one two-column, seven-row Evidence handoff table headed `Field | Value`.40 Its first column must use these exact plain-text labels: `Current decision`,41 `Evidence classes`, `Supported claims`, `Still unproven`, `Contradictions /42 exclusions`, `Source anchors`, and `Next validation`. Do not format,43 translate, split, or rename them. The class cell may contain only applicable44 names from `primary behavior`, `observed experiment`, `secondary public`,45 `search signal`, and `assumption`. Planned work does not add a current class.46 Never leave the class cell empty. Use `assumption` when inputs are only47 missing, invalid, or unverified, and state that limit elsewhere.4849---5051## Workflow5253### Phase 0 — Intake (≤ 5 questions if needed)5455If the idea is too vague to search, ask only what blocks research. Prefer56inferring the rest and stating assumptions.5758Minimum to proceed:5960| Field | Example |61|-------|---------|62| **One-liner** | “AI that turns meeting notes into client invoices for freelancers” |63| **Who suffers** | Freelancers / agencies / Chinese SMBs / … |64| **Geography** | Global / US / CN / … |65| **Rough shape** | SaaS / template / content / marketplace / CLI / mobile |6667Optional (ask only if missing and material): willingness-to-pay guess, skills the68founder already has, hard constraints (no marketplace, no hardware, offline only).6970Record assumptions explicitly in the report.7172### Phase 1 — Research frame (do this before searching)7374Produce a short internal frame (can be in notes, not full user-facing yet):75761. **Problem statement** (user pain in their words, not product words)772. **Search query pack** (8–20 queries) covering pain, demand, competitors,78 alternatives, pricing, failure/churn, and relevant language variants793. **Success signals** (what would count as “real demand”)804. **Kill signals** (what would make this a no-go for an indie)8182Read `references/sources.md` for channel tactics and query recipes.83Read `references/report-template.md` before writing the final doc.8485### Phase 2 — Multi-channel demand scan8687Read and apply `references/sources.md`. When tools allow, scan **at least 488relevant channels**, including one buyer habitat rather than only founder89communities. Choose among X/Twitter, Reddit, Hacker News, Product Hunt, Indie90Hackers, app/review sites, and public search pages; for China-primary or91bilingual ideas, add reachable sources such as 即刻、微博、小红书、知乎、V2EX、92少数派, or buyer-relevant comments. Mark every chosen channel `searched`,93`partial`, `blocked`, or `skipped (reason)`; never imply access you did not have.9495For each useful hit, capture a **signal card**:9697```text98- channel:99- url:100- date: (if known)101- quote/summary: (short)102- polarity: demand | praise | objection | churn | competitor | pricing | noise103- weight: high | med | low # high = recent + specific + emotional/paying intent104- indie_relevance: high | med | low105```106107Aim for **12–30 signal cards**, not 200 dumps. Prefer quality and diversity108(different channels and polarities).109110### Phase 3 — Competition & substitutes111112Identify 3–8 alternatives people already use (including “do nothing”, Excel,113agencies, manual process). For each:114115- Who it’s for116- Pricing (if public)117- Gaps people complain about118- Why an indie might still win a **wedge** (or why not)119120### Phase 4 — Scoring (explicit, humble)121122Use the exact six-dimension score table and formula in123`references/report-template.md`. Score each dimension **1–5** with one-line124evidence; midpoint 3 means mixed or weak evidence. Competition intensity is the125only reversed raw input: calculate `competition_fit = 6 -126competition_intensity`, then average demand, pay, competition fit, indie fit,127time-to-signal, and short-term return. Calculate and round once to two decimals,128then copy that exact display value everywhere. Any mismatch is an invalid report.129130Also pick a **recommendation band**:131132| Band | Meaning |133|------|---------|134| **Build wedge now** | Enough pain + indie-shaped + learning path |135| **Explore with spike** | Unclear; 1–2 week research/build spike only |136| **Park / reshape** | Weak demand, bad indie fit, or only vanity market |137| **Avoid (as stated)** | Kill criteria hit; only proceed if idea changes |138139Never let a high “market size story” override empty primary signals.140141### Phase 5 — Indie short-term return judgment142143Answer explicitly (no hedging without saying why):1441451. **Commercial value?** Yes / Mixed / Weak — in one paragraph with evidence.1462. **Fit for independent developer?** Yes / Conditional / No — scope, support, channels, skills.1473. **Short-term return (30–90 days) odds?** High / Medium / Low — what “return” means (first $100, first 10 users, consulting lead, etc.).1484. **If going deeper, best entry direction** — pick **one primary wedge** + 1–2 backups; say what to ship first and what to measure.149150Prefer wedges that are:151152- Narrow ICP153- Manual-first or uglier MVP OK154- Distribution via communities already scanned155- Avoid winner-take-all platforms on day one156157### Phase 6 — Deliver the report158159Read and follow `references/report-template.md`, then apply160`references/quality-bar.md` before delivery; both are binding.161162Do not rename, split, or replace the template's seven Evidence handoff rows with163equivalent prose or custom fields.164165Delivery options:1661671. **Default:** paste the full report in chat.1682. If the user is in a product repo and wants a file: write169 `docs/z-market-validate-<slug>-<YYYYMMDD>.md` (or path they specify).170171Finish with the strongest supporting and opposing links available, exactly three172bounded next-48-hour actions, and the fixed Evidence handoff.173174---175176## Method notes (anti-BS)177178- Upvotes ≠ revenue. PH medals ≠ retention.179- Loud Twitter ≠ paying customers.180- “I’d use this” comments are cheap; “I pay for X and hate Y” is gold.181- Founder echo chambers overstate novelty; search the buyer’s habitat, not only builder habitats.182- If everything looks positive, you under-sampled objections — go back to Phase 2.183- If everything looks negative, separate “bad idea” from “bad positioning / wrong ICP”.184185## Guardrails186187- Do not claim survey statistical significance from a few posts.188- Do not recommend illegal, spammy, or ToS-abusive growth tactics.189- Do not scrape behind logins if the host cannot; mark `blocked`.190- Do not shame the user’s idea; be direct and constructive.191- If tools fail entirely, say so and give a **manual research checklist** from `references/sources.md` instead of fabricating a report.