Install
openclaw skills install solo-researchDeep market research — competitor analysis, user pain points, SEO/ASO keywords, naming/domain availability, and TAM/SAM/SOM sizing. Use when user says "research this idea", "find competitors", "check the market", "domain availability", "market size", or "analyze opportunity". Do NOT use for idea scoring (use /validate) or SEO auditing existing pages (use /seo-audit).
openclaw skills install solo-researchDeep research before PRD generation. Produces a structured research.md with competitive analysis, user pain points, SEO/ASO keywords, naming/domain options, and market sizing.
If MCP tools are available, prefer them over CLI:
kb_search(query, n_results) — search knowledge base for related docsweb_search(query, engines, include_raw_content) — web search with engine routingsession_search(query, project) — find how similar research was done beforeproject_info(name) — check project details and stackscodegraph_explain(project) — architecture overview of an existing project (stack, patterns, deps)codegraph_query(query) — raw Cypher queries against code graph (find shared packages, dependencies)project_code_search(query, project) — semantic search over project source codeMCP web_search supports engine override: engines="reddit", engines="youtube", etc.
If MCP tools are not available, use WebSearch/WebFetch as primary. If MCP web_search tool is available, use it for better results.
"product hunt outreach launch" — Bad: "product hunt scraper maker profiles linkedin outreach launch strategy"include_raw_content=true rarely works for Reddit — use fallback chain belowWhen a search finds a relevant Reddit post, reading its full content requires a fallback chain:
1. MCP Playwright (old.reddit.com) ← BEST: bypasses CAPTCHA, full post + comments
2. PullPush API (api.pullpush.io) ← search by query/subreddit/author/score/date
3. MCP web_search include_raw_content ← sometimes works, often truncated
4. WebFetch / WebSearch snippets ← last resort, partial data only
Method 1: MCP Playwright (recommended for full post content)
browser_navigate("https://old.reddit.com/r/...") — old.reddit.com loads without CAPTCHAwww.reddit.com shows CAPTCHA ("Prove your humanity"), always use old.reddit.comold.reddit.com/r/indiehackers/comments/abc123/post_title/Method 2: PullPush API (for search/discovery)
https://api.pullpush.io/reddit/submission/searchq, subreddit, author, score (e.g. >10,<100), since/until (unix timestamps), size (max 100)selftext, author, score, created_utc/reddit/comment/search (same params)curl -s "https://api.pullpush.io/reddit/submission/search?q=product+hunt+launch&subreddit=indiehackers&size=10"
Method 3: Reddit .json endpoint (often blocked)
.json to any Reddit URL: reddit.com/r/sub/comments/id.jsonMethod 4: PRAW (Reddit Official API, for live search/user profiles)
pip install praw / uv add prawUse multiple search backends together. Each has strengths:
| Step | Best backend | Why |
|---|---|---|
| Competitors | WebSearch + site:producthunt.com + site:g2.com | Broad discovery + Product Hunt + B2B reviews |
| Reddit / Pain points | MCP web_search with engines: reddit (max 3 keywords!) + MCP Playwright for full posts | PullPush API, selftext in content |
| YouTube reviews | MCP web_search with engines: youtube | Video reviews (views = demand) |
| Market size | WebSearch | Synthesizes numbers from 10 sources |
| SEO / ASO | WebSearch | Broader coverage, trend data |
| Page scraping | WebFetch or MCP web_search with include_raw_content | Up to 5000 chars of page content |
| Hacker News | WebSearch site:news.ycombinator.com | HN discussions and opinions |
| Funding / Companies | WebSearch site:crunchbase.com | Competitor funding, team size |
| Verified revenue | WebFetch trustmrr.com/startup/<slug> | Stripe-verified MRR, growth, tech stack, traffic |
Use WebSearch/WebFetch as primary. If MCP web_search tool is available, use it for better results (supports engine routing and raw content extraction).
Parse the idea from $ARGUMENTS. If empty, ask the user what idea they want to research.
Detect product type — infer from the idea description:
Search knowledge base and past work:
kb_search available: kb_search(query="<idea keywords>", n_results=5)session_search available: session_search(query="<idea keywords>") — check if this idea was researched before.md filesresearch.md or prd.md already exist for this idea.Check existing portfolio (if MCP codegraph tools available):
codegraph_explain(project="<similar project>") — architecture overview of related projects in the portfolioproject_code_search(query="<relevant pattern>", project="<sibling>") — find reusable code, patterns, infrastructurecodegraph_query("MATCH (p:Project)-[:DEPENDS_ON]->(pkg:Package) WHERE pkg.name CONTAINS '<relevant tech>' RETURN p.name, pkg.name") — find projects using similar techCompetitive analysis — use WebSearch (primary) + MCP web_search (if available):
"<idea> competitors alternatives 2026" — broad discovery"<idea> app review pricing" — pricing datainclude_raw_content=true: scrape competitor URLs for detailed pricingengines: reddit or WebSearch: "<idea> vs" — user opinions"site:producthunt.com <idea>" — Product Hunt launches"site:g2.com <idea>" or "site:capterra.com <idea>" — B2B reviews"site:crunchbase.com <competitor>" — funding, team size"site:trustmrr.com <idea>" or WebFetch trustmrr.com/startup/<slug> — Stripe-verified MRR, growth %, tech stack, traffic (24h/7d/30d)User pain points — use MCP web_search / WebSearch + YouTube:
engines: reddit or WebSearch: "<problem>" — Reddit discussions (max 3 keywords!)browser_navigate("https://old.reddit.com/r/...") — old.reddit.com bypasses CAPTCHAengines: youtube or WebSearch: "<problem> review" — video reviews"site:news.ycombinator.com <problem>" — Hacker News opinions"<problem> frustrating OR annoying" — broader sweepSEO / ASO analysis (depends on product type from step 2):
For web apps:
"<competitor> SEO keywords ranking" — competitor keywords"<problem domain> search volume trends 2026" — demand signalsinclude_raw_content: scrape competitor pages for meta tagsFor mobile apps:
"<category> App Store top apps keywords 2026" — category landscape"site:reddit.com <competitor app> review" — user complaintsNaming, domains, and company registration:
See references/domain-check.md (bundled with this skill) for TLD priority tiers, bash scripts, gotchas, and trademark check methods.
Market sizing (TAM/SAM/SOM) — use WebSearch (primary):
"<market> market size 2025 2026 report" — synthesizes numbers"<market> growth rate CAGR billion" — growth projectionsWrite research.md — write to docs/research.md in the current project directory. Create the directory if needed.
Output summary:
/validate <idea>See references/research-template.md (bundled with this skill) for the full output template (frontmatter, 6 sections, tables).
Cause: MCP server not running or not configured. Fix: Use WebSearch/WebFetch as primary. For better results with engine routing (Reddit, GitHub, YouTube), set up SearXNG (private, self-hosted, free) and configure solograph MCP.
Cause: .app/.dev whois shows TLD creation date for unregistered domains.
Fix: Use the triple verification method (whois -> dig -> RDAP). Check Name Server and Registrar fields, not creation date.
Cause: Previous research run for this idea. Fix: Skill asks before overwriting. Choose to merge new findings or start fresh.
old.reddit.com URLs to read full post + comments (bypasses CAPTCHA)trustmrr.com/startup/<slug> — Stripe-verified MRR, growth %, subscriptions, traffic"site:trustmrr.com <category or idea>" to find similar startups with verified revenueengines: github — often returns empty, use WebSearch as primaryMCP Playwright (best) → PullPush API (Reddit) → WebFetch → WebSearch snippets → MCP web_search include_raw_content
If a page returns 403/CAPTCHA via WebFetch:
old.reddit.com (always works, no CAPTCHA)api.pullpush.io (structured JSON, full selftext)browser_navigate (no captcha on most sites)