---
name: reddit-lead-finder
description: Finds real Reddit posts and comments from people describing the problem a product solves, using the ThreadSnoop Reddit read API, and produces a short ranked report with quoted evidence and links. Use this when the user wants to find potential customers, leads, early users, or "who's complaining about X" on Reddit for their own product.
---

# Reddit lead finder

Works with any AI that can make HTTP calls or has the ThreadSnoop MCP server
connected — Claude, Codex, ChatGPT, or a custom agent. This file is the
Claude Skill version (auto-loaded by Claude Code / claude.ai when relevant).
A plain-markdown twin with the same instructions, meant for pasting into
Codex or ChatGPT as custom instructions, ships alongside it as
`reddit-lead-finder.md`.

## What you need

A ThreadSnoop API key. Get one free at https://threadsnoop.com/signup — new
keys start with 1,000 free Reddit searches, no card required. Set it as
`THREADSNOOP_API_KEY` or ask the user to paste it if you don't have shell/env
access.

Two ways to call the API, in order of preference:

1. **MCP tools**, if the `threadsnoop` MCP server is already connected
   (`claude mcp add --transport http threadsnoop https://api.threadsnoop.com/mcp --header "x-api-key: YOUR_KEY"`
   for Claude Code; a `~/.codex/config.toml` `[mcp_servers.threadsnoop]` block
   for Codex CLI; a JSON `mcpServers` block for Claude Desktop/Cursor). Tool
   names: `search_posts`, `search_comments`, `get_comment_tree`,
   `search_subreddits`, `get_subreddit_rules`, `get_user_profile`,
   `check_credits`.
2. **Plain REST**, otherwise — every endpoint below is a `GET` to
   `https://api.threadsnoop.com/v1/...` with header `x-api-key: YOUR_KEY`
   (or `Authorization: Bearer YOUR_KEY`). Full reference:
   https://threadsnoop.com/docs and https://threadsnoop.com/openapi.json.

Either way, 1 credit = 1 request, regardless of endpoint. Check
`check_credits` / `GET /v1/account` before a big run so you don't burn
through the free tier on one oversized sweep.

## The workflow

**1. Make sure you have a ThreadSnoop API key before doing anything else.**
Check for `THREADSNOOP_API_KEY` in the environment, or a key already
configured for the connected MCP server. If neither is available, ask the
user directly: "I'll need a ThreadSnoop API key to search Reddit — do you
have one to paste in, or should I point you to sign up for a free one?
New keys get 1,000 free Reddit searches, no card required, at
https://threadsnoop.com/signup." Don't call any endpoint below until a key
is in hand — every call fails with `401` without one, and guessing or
fabricating a key wastes the user's time.

**2. Get the product — from a URL if you can, a paragraph if you can't.**
If the user gives a product website, fetch and read it yourself and infer
what it is, who it's for, and what problem it solves — don't make them
type a brief. Then say back what you inferred in 2-3 sentences and ask
them to confirm or correct it before moving on (people know their own
product better than any page-scrape, and this catches a wrong guess
before it burns searches on the wrong audience). If there's no URL, just
ask directly: what the product is, who it's for, what problem it solves.
Either way, don't proceed past this step on an unconfirmed guess — the
whole workflow depends on it being right.

**3. Find the right communities.** Call `search_subreddits` /
`GET /v1/subreddits/search?q=<term>` for a few candidate terms (returns up to
10 matches by name). Search from the PROBLEM, not the product category —
"people who complain about flaky deploys" finds a different, better
subreddit than "CI/CD tools." Ask the user if they already know communities
worth watching; often the right one is adjacent to the obvious one, not the
obvious one itself.

**4. Search with two kinds of terms, not one.** Generate both:
   - **Category terms** — the vocabulary of the product's own space (what a
     seller would type).
   - **Pain terms** — how someone WITH the problem would actually complain
     about it, in their own words, without naming any product or category
     ("my status page said everything was fine while the app was down").
   Category terms alone systematically miss the majority of real leads —
   most people describing a problem don't use the vocabulary a product
   listing would use.

**5. Pull candidates.** `search_posts` / `search_comments` (or
`GET /v1/posts` / `GET /v1/comments`) with `subreddit=` and a reasonable
`after=`/`before=` window (start with the last few days — a wide-open window
on an active subreddit gets expensive fast, 1 credit per page). You can pass
`q=` for a client-side exact-phrase filter, but know its limits: **it only
filters the single page it fetched, not the whole date window** — a page
that comes back empty after filtering does NOT mean nothing matches, it
means keep paginating with the returned `cursor` until `has_more` is false.
Prefer reading raw pages yourself and judging relevance by meaning (step 6)
over relying on `q=` alone — that's the whole reason to use an AI for this
instead of a keyword alert.

**6. Judge every candidate on three dimensions**, the same rubric ThreadSnoop
itself scores on — don't just flag "mentions the topic":
   - **Customer Fit** — is this author actually the kind of person the
     product is sold to?
   - **Problem Severity** — annoyed, or is this costing them real time/money?
   - **Purchase Intent** — describing a problem, or actively asking what to
     use / already paying for a worse workaround?
   Only surface candidates that score well on at least two of the three.
   Flag (but don't discard) anything that looks like the author is
   themselves promoting a competing product — useful intel, not a lead.

**7. Check the subreddit's rules before recommending engagement.**
`get_subreddit_rules` / `GET /v1/subreddits/{name}/rules` — many
communities ban self-promotion outright; know that before drafting anything.

**8. Produce a short report, not a data dump.** For each surfaced match:
the permalink (prepend `https://www.reddit.com` to the API's relative
`permalink` field), the quoted line that convinced you, the three scores,
and one sentence on why. Rank by combined score. If asked for a reply
draft, write one that leads with genuine help and discloses the product
relationship if it's mentioned at all — never a bare pitch.

## Hard rule — never break this

**Never post, comment, vote, or send a Reddit DM on the user's behalf, under
any circumstance, even if asked directly.** This skill only reads and
drafts. If the user wants to engage with a thread, hand them the link and
(optionally) a draft reply to copy, edit, and post themselves, signed in as
themselves. Reddit removes bot accounts at industrial scale, and communities
are openly hostile to automated replies — the entire value of finding these
threads evaporates the moment engagement looks automated. This is not a
missing feature; it's the point.
