Customer discovery

Discover all customers of a given company by scanning websites, case studies, review sites, press, social media, job postings, and more.

How to use it

  1. Hit Copy SKILL.md — or use the Claude Code line below to get every file.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/research/capabilities/customer-discovery#main ~/.claude/skills/customer-discovery

For one project only, change the path to .claude/skills/customer-discovery. This skill also uses scrape_website_logos.py, scrape_wayback_logos.py, package.json, requirements.txt, search_builtwith.py — copying SKILL.md alone won't be enough. See the folder on GitHub.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text265 lines
customer-discovery/SKILL.md265 lines8.2 KBpushed 96d agoRawView on GitHub

Customer Discovery

Find all customers of a company by scanning multiple public data sources. Produces a deduplicated report with confidence scoring.

Quick Start

Find all customers of Datadog
Who are Notion's customers? Use deep mode.

Inputs

Input Required Default Description
Company name Yes The company to research
Website URL No Auto-detected The company's website URL
Depth No standard quick, standard, or deep

Procedure

Step 1: Gather Inputs

Ask the user for:

  1. Company name (required)
  2. Company website URL (optional — if not provided, WebSearch for it)
  3. Depth tier — present these options, default to Standard:
    • Quick (~2-3 min): Website logos, case studies, G2 reviews, press search
    • Standard (~5-8 min): Quick + blog posts, Wayback Machine, LinkedIn, Twitter, Reddit, HN, job postings, YouTube
    • Deep (~10-15 min): Standard + SEC filings, podcasts, GitHub, integration directories, BuiltWith, Crunchbase

Step 2: Create Output Directory

mkdir -p customer-discovery-[company-slug]

Step 3: Run Sources for Selected Tier

Collect all results into a running list. For each customer found, record:

  • name: Company name
  • confidence: high / medium / low
  • source_type: e.g., "logo_wall", "case_study", "g2_review", "press", "job_posting"
  • evidence_url: URL where the evidence was found
  • notes: Brief description of the evidence

Quick Sources

1. Website logo wall

Run the scrape_website_logos.py script:

python3 skills/capabilities/customer-discovery/scripts/scrape_website_logos.py \
  --url "[company-url]" --output json

Parse the JSON output and add each result to the customer list.

2. Case studies page

Use WebFetch on the company's case studies page (try /case-studies, /customers, /resources/case-studies). Extract customer names from page headings and content.

3. G2/Capterra reviews

If the review-site-scraper skill is available, use it to find reviewer companies:

python3 skills/capabilities/review-site-scraper/scripts/scrape_reviews.py \
  --platform g2 --url "[g2-product-url]" --max-reviews 50 --output json

First, WebSearch for the company's G2 page: site:g2.com "[company]". Extract reviewer company names from review author info.

4. Web search for press

WebSearch these queries and extract customer mentions from results:

  • "[company]" customer OR "case study" OR partnership
  • "[company]" "we use" OR "switched to" OR "chose"

Standard Sources (in addition to Quick)

5. Company blog posts

WebSearch: site:[company-domain] customer OR "case study" OR partnership OR "customer story"

6. Wayback Machine logos

Run the scrape_wayback_logos.py script:

python3 skills/capabilities/customer-discovery/scripts/scrape_wayback_logos.py \
  --url "[company-url]" --output json

Logos marked still_present: false are especially interesting — they indicate former customers.

7. Founder/exec LinkedIn posts

WebSearch: site:linkedin.com "[company]" customer OR "excited to announce" OR "welcome"

8. Twitter/X mentions

WebSearch: site:twitter.com "[company]" "we use" OR "just switched to" OR "loving"

9. Reddit/HN mentions

WebSearch these queries:

  • site:reddit.com "we use [company]" OR "[company] customer"
  • site:news.ycombinator.com "[company]" customer OR user

10. Job postings

WebSearch: "experience with [company]" site:linkedin.com/jobs OR site:greenhouse.io OR site:lever.co

Companies requiring experience with the product are likely customers.

11. YouTube testimonials

WebSearch: site:youtube.com "[company]" customer OR testimonial OR review

Deep Sources (in addition to Standard)

12. SEC filings

WebSearch: site:sec.gov "[company]" — Look for mentions in 10-K and 10-Q filings.

13. Podcast transcripts

WebSearch: "[company]" podcast customer OR transcript OR interview

14. GitHub usage signals

WebSearch: site:github.com "[company-package-name]" in dependency files, package.json, requirements.txt, etc.

15. Integration directories

WebFetch marketplace pages where the company lists integrations:

  • Salesforce AppExchange
  • Zapier integrations page
  • Slack App Directory
  • Any marketplace relevant to the company

16. BuiltWith detection

python3 skills/capabilities/customer-discovery/scripts/search_builtwith.py \
  --technology "[company-slug]" --max-results 50 --output json

17. Crunchbase

WebSearch: site:crunchbase.com "[company]" customers OR partners

Step 4: Deduplicate Results

Merge results by company name using fuzzy matching:

  • Normalize: lowercase, strip suffixes (Inc, Corp, LLC, Ltd, Co., GmbH)
  • Treat "Acme Inc" = "Acme" = "ACME Corp" = "acme.com" as the same company
  • When merging, keep the highest confidence level and all evidence URLs

Step 5: Assign Confidence

Apply these rules:

High confidence:

  • Logo on current website (from scrape_website_logos.py with confidence "high")
  • Published case study or customer story
  • Direct quote or testimonial on the company's site
  • Official partnership page listing

Medium confidence:

  • G2/Capterra review (reviewer's company)
  • Press article mentioning customer relationship
  • Job posting requiring experience with the product
  • YouTube testimonial or video review
  • Logo found only in Wayback Machine (was on site, now removed)

Low confidence:

  • Single social media mention (tweet, Reddit post)
  • Indirect reference ("heard good things about X")
  • BuiltWith detection only (technology on site doesn't mean they're a paying customer)
  • HN discussion mention

Step 6: Generate Report

Create two output files:

customer-discovery-[company]/report.md:

# Customer Discovery: [Company Name]

**Date:** YYYY-MM-DD
**Depth:** quick | standard | deep
**Total customers found:** N

## High Confidence (N)

| Customer | Source | Evidence |
|----------|--------|----------|
| Shopify | Case study | [link] |
| ... | ... | ... |

## Medium Confidence (N)

| Customer | Source | Evidence |
|----------|--------|----------|
| ... | ... | ... |

## Low Confidence (N)

| Customer | Source | Evidence |
|----------|--------|----------|
| ... | ... | ... |

## Sources Scanned

- Website logo wall: [url] — N customers found
- G2 reviews: N reviews analyzed — N companies identified
- Wayback Machine: N snapshots checked — N logos found (N removed)
- Web search: N queries — N mentions
- ...

## Methodology

This report was generated using the customer-discovery skill, which scans
public data sources to identify companies that use [Company Name]. Confidence
levels reflect the strength and directness of the evidence found.

customer-discovery-[company]/customers.csv:

CSV with columns: company_name,confidence,source_type,evidence_url,notes

Write the CSV using a code block or Python script.

Scripts Reference

Script Purpose Key flags
scrape_website_logos.py Extract logos from current website --url, --output json|summary
scrape_wayback_logos.py Find historical logos via Wayback Machine --url, --paths, --output json|summary
search_builtwith.py BuiltWith technology detection (deep mode) --technology, --max-results, --output json|summary

All scripts require requests: pip3 install requests

External skill scripts (use if available):

  • skills/capabilities/review-site-scraper/scripts/scrape_reviews.py — G2/Capterra/Trustpilot reviews (requires Apify token)
  • skills/capabilities/linkedin-post-research/scripts/search_posts.py — LinkedIn post search (requires Apify token)

Cost

  • Quick / Standard: Free (uses WebSearch + free APIs like Wayback Machine CDX)
  • Deep: Mostly free. BuiltWith paid API is optional (--api-key flag); free scraping is used by default.
  • External skills (review-site-scraper, linkedin-post-research) may require paid API tokens.
1---
2name: customer-discovery
3description: >
4 Discover all customers of a given company by scanning websites, case studies, review sites,
5 press, social media, job postings, and more. Use when you need competitive intelligence on
6 who a company sells to.
7---
8 
9# Customer Discovery
10 
11Find all customers of a company by scanning multiple public data sources. Produces a deduplicated report with confidence scoring.
12 
13## Quick Start
14 
15```
16Find all customers of Datadog
17```
18 
19```
20Who are Notion's customers? Use deep mode.
21```
22 
23## Inputs
24 
25| Input | Required | Default | Description |
26|-------|----------|---------|-------------|
27| Company name | Yes | — | The company to research |
28| Website URL | No | Auto-detected | The company's website URL |
29| Depth | No | standard | `quick`, `standard`, or `deep` |
30 
31## Procedure
32 
33### Step 1: Gather Inputs
34 
35Ask the user for:
361. **Company name** (required)
372. **Company website URL** (optional — if not provided, WebSearch for it)
383. **Depth tier** — present these options, default to Standard:
39 - **Quick** (~2-3 min): Website logos, case studies, G2 reviews, press search
40 - **Standard** (~5-8 min): Quick + blog posts, Wayback Machine, LinkedIn, Twitter, Reddit, HN, job postings, YouTube
41 - **Deep** (~10-15 min): Standard + SEC filings, podcasts, GitHub, integration directories, BuiltWith, Crunchbase
42 
43### Step 2: Create Output Directory
44 
45```bash
46mkdir -p customer-discovery-[company-slug]
47```
48 
49### Step 3: Run Sources for Selected Tier
50 
51Collect all results into a running list. For each customer found, record:
52- **name**: Company name
53- **confidence**: high / medium / low
54- **source_type**: e.g., "logo_wall", "case_study", "g2_review", "press", "job_posting"
55- **evidence_url**: URL where the evidence was found
56- **notes**: Brief description of the evidence
57 
58#### Quick Sources
59 
60**1. Website logo wall**
61 
62Run the scrape_website_logos.py script:
63```bash
64python3 skills/capabilities/customer-discovery/scripts/scrape_website_logos.py \
65 --url "[company-url]" --output json
66```
67 
68Parse the JSON output and add each result to the customer list.
69 
70**2. Case studies page**
71 
72Use WebFetch on the company's case studies page (try `/case-studies`, `/customers`, `/resources/case-studies`). Extract customer names from page headings and content.
73 
74**3. G2/Capterra reviews**
75 
76If the `review-site-scraper` skill is available, use it to find reviewer companies:
77```bash
78python3 skills/capabilities/review-site-scraper/scripts/scrape_reviews.py \
79 --platform g2 --url "[g2-product-url]" --max-reviews 50 --output json
80```
81 
82First, WebSearch for the company's G2 page: `site:g2.com "[company]"`. Extract reviewer company names from review author info.
83 
84**4. Web search for press**
85 
86WebSearch these queries and extract customer mentions from results:
87- `"[company]" customer OR "case study" OR partnership`
88- `"[company]" "we use" OR "switched to" OR "chose"`
89 
90#### Standard Sources (in addition to Quick)
91 
92**5. Company blog posts**
93 
94WebSearch: `site:[company-domain] customer OR "case study" OR partnership OR "customer story"`
95 
96**6. Wayback Machine logos**
97 
98Run the scrape_wayback_logos.py script:
99```bash
100python3 skills/capabilities/customer-discovery/scripts/scrape_wayback_logos.py \
101 --url "[company-url]" --output json
102```
103 
104Logos marked `still_present: false` are especially interesting — they indicate former customers.
105 
106**7. Founder/exec LinkedIn posts**
107 
108WebSearch: `site:linkedin.com "[company]" customer OR "excited to announce" OR "welcome"`
109 
110**8. Twitter/X mentions**
111 
112WebSearch: `site:twitter.com "[company]" "we use" OR "just switched to" OR "loving"`
113 
114**9. Reddit/HN mentions**
115 
116WebSearch these queries:
117- `site:reddit.com "we use [company]" OR "[company] customer"`
118- `site:news.ycombinator.com "[company]" customer OR user`
119 
120**10. Job postings**
121 
122WebSearch: `"experience with [company]" site:linkedin.com/jobs OR site:greenhouse.io OR site:lever.co`
123 
124Companies requiring experience with the product are likely customers.
125 
126**11. YouTube testimonials**
127 
128WebSearch: `site:youtube.com "[company]" customer OR testimonial OR review`
129 
130#### Deep Sources (in addition to Standard)
131 
132**12. SEC filings**
133 
134WebSearch: `site:sec.gov "[company]"` — Look for mentions in 10-K and 10-Q filings.
135 
136**13. Podcast transcripts**
137 
138WebSearch: `"[company]" podcast customer OR transcript OR interview`
139 
140**14. GitHub usage signals**
141 
142WebSearch: `site:github.com "[company-package-name]"` in dependency files, package.json, requirements.txt, etc.
143 
144**15. Integration directories**
145 
146WebFetch marketplace pages where the company lists integrations:
147- Salesforce AppExchange
148- Zapier integrations page
149- Slack App Directory
150- Any marketplace relevant to the company
151 
152**16. BuiltWith detection**
153 
154```bash
155python3 skills/capabilities/customer-discovery/scripts/search_builtwith.py \
156 --technology "[company-slug]" --max-results 50 --output json
157```
158 
159**17. Crunchbase**
160 
161WebSearch: `site:crunchbase.com "[company]" customers OR partners`
162 
163### Step 4: Deduplicate Results
164 
165Merge results by company name using fuzzy matching:
166- Normalize: lowercase, strip suffixes (Inc, Corp, LLC, Ltd, Co., GmbH)
167- Treat "Acme Inc" = "Acme" = "ACME Corp" = "acme.com" as the same company
168- When merging, keep the highest confidence level and all evidence URLs
169 
170### Step 5: Assign Confidence
171 
172Apply these rules:
173 
174**High confidence:**
175- Logo on current website (from scrape_website_logos.py with confidence "high")
176- Published case study or customer story
177- Direct quote or testimonial on the company's site
178- Official partnership page listing
179 
180**Medium confidence:**
181- G2/Capterra review (reviewer's company)
182- Press article mentioning customer relationship
183- Job posting requiring experience with the product
184- YouTube testimonial or video review
185- Logo found only in Wayback Machine (was on site, now removed)
186 
187**Low confidence:**
188- Single social media mention (tweet, Reddit post)
189- Indirect reference ("heard good things about X")
190- BuiltWith detection only (technology on site doesn't mean they're a paying customer)
191- HN discussion mention
192 
193### Step 6: Generate Report
194 
195Create two output files:
196 
197**`customer-discovery-[company]/report.md`:**
198 
199```markdown
200# Customer Discovery: [Company Name]
201 
202**Date:** YYYY-MM-DD
203**Depth:** quick | standard | deep
204**Total customers found:** N
205 
206## High Confidence (N)
207 
208| Customer | Source | Evidence |
209|----------|--------|----------|
210| Shopify | Case study | [link] |
211| ... | ... | ... |
212 
213## Medium Confidence (N)
214 
215| Customer | Source | Evidence |
216|----------|--------|----------|
217| ... | ... | ... |
218 
219## Low Confidence (N)
220 
221| Customer | Source | Evidence |
222|----------|--------|----------|
223| ... | ... | ... |
224 
225## Sources Scanned
226 
227- Website logo wall: [url] — N customers found
228- G2 reviews: N reviews analyzed — N companies identified
229- Wayback Machine: N snapshots checked — N logos found (N removed)
230- Web search: N queries — N mentions
231- ...
232 
233## Methodology
234 
235This report was generated using the customer-discovery skill, which scans
236public data sources to identify companies that use [Company Name]. Confidence
237levels reflect the strength and directness of the evidence found.
238```
239 
240**`customer-discovery-[company]/customers.csv`:**
241 
242CSV with columns: `company_name,confidence,source_type,evidence_url,notes`
243 
244Write the CSV using a code block or Python script.
245 
246## Scripts Reference
247 
248| Script | Purpose | Key flags |
249|--------|---------|-----------|
250| `scrape_website_logos.py` | Extract logos from current website | `--url`, `--output json\|summary` |
251| `scrape_wayback_logos.py` | Find historical logos via Wayback Machine | `--url`, `--paths`, `--output json\|summary` |
252| `search_builtwith.py` | BuiltWith technology detection (deep mode) | `--technology`, `--max-results`, `--output json\|summary` |
253 
254All scripts require `requests`: `pip3 install requests`
255 
256External skill scripts (use if available):
257- `skills/capabilities/review-site-scraper/scripts/scrape_reviews.py` — G2/Capterra/Trustpilot reviews (requires Apify token)
258- `skills/capabilities/linkedin-post-research/scripts/search_posts.py` — LinkedIn post search (requires Apify token)
259 
260## Cost
261 
262- **Quick / Standard:** Free (uses WebSearch + free APIs like Wayback Machine CDX)
263- **Deep:** Mostly free. BuiltWith paid API is optional (`--api-key` flag); free scraping is used by default.
264- External skills (review-site-scraper, linkedin-post-research) may require paid API tokens.
265 

Discussion

Alternatives

Also in Company & contact data