fortunto2/solo-factory/customer-finder
Claude Code and agent skill by fortunto2/solo-factory
- community
Checking that the SKILL.md file is still in the repository.
Use when "find first customers", "первые клиенты", "early adopters", "design partners", "who would buy this", "prospect list", or need an evidence-backed shortlist of potential first customers from public signals. Do NOT use for community thread replies (/community-outreach), market research (/research), or GTM strategy (/launch).
Install
npx vskill@latest install fortunto2/solo-factory/customer-finderSKILL.md
/customer-finder
Turn a product URL or idea into a short, evidence-backed list of plausible FIRST customers. Every prospect must link to a public pain/demand/timing signal — a company that merely matches the industry is NOT a prospect. Output is a research hypothesis, not a customer database.
Difference from /community-outreach: that skill finds threads to reply in; this one finds named prospects (companies, projects, public professionals) with scores and outreach openers.
MCP Tools (use if available)
web_search(query, engines, include_raw_content)— SearXNG with engine routing (Reddit, HN, GitHub)web_extract(url, size, page)— one page as clean markdown, paginated for long docskb_search(query)— prior research in KBproject_info(name)— project details
Fallback: WebSearch/WebFetch.
Steps
- Product brief. Parse
$ARGUMENTS(project slug, URL, or idea + optional mode). Readdocs/prd.mdanddocs/research.mdif present — reuse ICP, pain points, competitors instead of re-deriving. Define: product + promised outcome, primary user vs economic buyer, urgent job-to-be-done, current workaround, adoption trigger, geography/language, disqualifiers. One primary ICP + one adjacent. Don't start searching until the brief is specific enough to REJECT weak matches. Ask one question via AskUserQuestion only if ambiguity would change the search.
- Query buckets. Search several angles, not one query repeated (adapt wording to the audience's language):
- Explicit demand: "looking for", "recommend a tool", "alternative to", "does anything exist"
- Pain: "takes hours", "manual", "frustrating", "keeps breaking"
- Workaround: spreadsheets, copy-paste, scripts, VAs, repeated manual steps
- Switching: cancellation, migration, missing feature, pricing complaints
- Timing: launch, hiring, expansion, new regulation/integration relevant to the product
- Search public sources (parallel): forums/Reddit, HN, product & marketplace reviews, GitHub issues and feature requests, public company pages / job posts / changelogs, "looking for a tool" posts. Open the original page — never qualify from a search snippet. Record: source URL, type, visible date (or "date unavailable"), exact evidence quote (minimal) or paraphrase.
- Qualify and score each prospect 0-5 per dimension:
```text score = pain_strength/525 + product_fit/525 + timing/5*20
- reachability/515 + evidence_quality/515
```
80-100 strong candidate · 65-79 promising, validate fast · 50-64 missing a material signal · <50 drop from shortlist.
Stage labels: high-intent (publicly requesting/switching) · problem-aware (describes the pain) · trigger-present (business event makes product relevant) · potential-fit (ICP match, thin evidence — keep OUT of primary shortlist). Old signals: keep if explicit, but cut timing score and label the date. Dedupe.
- Draft openers — never send. Per prospect, one opener ≤90 words on the channel already associated with the source: (1) mention the public context naturally, (2) connect to the exact problem, (3) product in one sentence, (4) one low-friction question. No fake familiarity, no unrelated personal details. Do not send, follow, comment, or create CRM records — drafts only.
- Write report to
docs/customers.md:
```markdown # First Customers: {Project}
Generated: {YYYY-MM-DD} · Mode: {mode}
## Verdict {Are there reachable early-customer signals? 2-3 sentences.}
## ICP Buyer / job / trigger / disqualifiers. Adjacent ICP one line.
## Top Prospect {Strongest evidence-backed candidate and why NOW.}
## Shortlist
| # | Prospect | Score | Stage | Signal (quote/paraphrase) | Source + date | Channel |
|---|
### Openers {per prospect, ≤90 words each}
## Repeated Patterns {pains/triggers seen across prospects — feeds /launch and /landing-gen}
## 7-Day Manual Outreach Plan {low-volume sequence: which prospect, which day, which channel}
## Limits {missing evidence; what only real conversations can confirm}
Prospects are hypotheses from public signals — not confirmed buyers. Review before any outreach. ```
- Summary — verdict, top-3 prospects with scores, next action.
Modes
- quick — up to 5 strong prospects
- standard (default) — up to 10 across several source types
- deep — up to 20 + repeated-pattern analysis
- design-partners — feedback-willing users over immediate buyers
- b2b — companies, public business triggers, decision roles
- community — explicit requests and public discussions
Critical Rules
- Public signals only — intentionally shared professional/business info. No login walls, paywalls, robots bypass, data brokers, leaked datasets, private groups, personal email/phone enrichment.
- No sensitive traits — never target via health, finances, politics, religion, sexuality.
- Never claim interest or consent — label everything "potential customer based on public signals".
- Never send — outreach stays manual; skill produces drafts only.
- Evidence or out — no cited pain/demand/timing signal → not in the primary shortlist.
- 10 strong > 50 generic.
Gotchas
- LinkedIn is login-walled — don't research there; use public company pages, blogs, job boards instead.
- Snippet ≠ evidence — search snippets truncate and misattribute; always open the page before scoring.
- GitHub issues are the best B2B-dev signal — "feature request" + "workaround" labels on competitor repos = high-intent switching prospects.
- Stale threads — >12 months old: keep only explicit requests, cut timing to 1, show the date in the report.
- Same author ≠ same buyer — a dev complaining on Reddit may not be the economic buyer; score reachability against the actual decision role (b2b mode).
Common Issues
Web search not available
Fix: WebSearch/WebFetch as primary. Better engine routing (Reddit/HN/GitHub) via self-hosted SearXNG + solograph MCP.
Everything scores <50
Cause: ICP too broad or product too early for public demand signals. Fix: Rerun in design-partners mode (feedback-seekers score differently), or go back to /research — the niche may lack evidenced pain.
Prospects are all companies with no reachable human
Fix: b2b mode — search job posts and changelogs for the team that owns the pain; the posting itself names the role to contact.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/customer-finder/SKILL.md
Popularity
- Repository stars
- 18
- Repository forks
- 3
- 7-day trend score
- 15
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/fortunto2/solo-factory/customer-finder)