Reddit Scout
Find Reddit threads where your product actually belongs in the conversation.
Philosophy
This is NOT a spam tool. Reddit communities despise self-promotion. This skill finds threads where:
- •Someone has a genuine problem your product solves
- •The conversation naturally leads to your product category
- •You can provide real value FIRST, product mention SECOND
The 90/10 rule: 90% of your Reddit activity should be pure value. This skill helps you find the 10% where a product mention is genuinely helpful.
How It Works
- •Search — Uses Firecrawl to search Reddit for keyword matches across configured subreddits
- •Evaluate — Scores each thread on relevance, recency, engagement potential, and fit
- •Report — Delivers a ranked list of opportunities with context
- •Draft — Optionally suggests value-first reply angles (never copy-paste spam)
Invocation
Say any of these:
- •"scout reddit" / "reddit scout"
- •"find reddit threads"
- •"check reddit for opportunities"
- •"reddit scan"
Options (in natural language)
- •Quick scan: Search top 3 subreddits, last 24h only
- •Deep scan: All configured subreddits, last 7 days
- •Topic focus: "scout reddit for [specific topic]" — override keywords with a custom search
- •With drafts: "scout reddit with draft replies" — include suggested reply angles
Execution Steps
Step 1: Load Configuration
Read config.json from this skill's directory. It contains:
- •
product: What you're promoting (name, one-liner, URL) - •
keywords: Search terms grouped by language/theme - •
subreddits: Target communities - •
persona: How to engage (tone, do's and don'ts)
Step 2: Search Reddit via Firecrawl
For each keyword group, search Reddit:
firecrawl search "site:reddit.com r/{subreddit} {keyword}" --scrape --limit 5 --tbs qdr:w --json -o {output_path}
Important:
- •Use
--tbs qdr:dfor quick scan (last 24h),--tbs qdr:wfor deep scan (last week) - •Rotate through keyword groups to avoid redundancy
- •Save raw results to
data/scan-{date}.json
Step 3: Evaluate Each Thread
For each result, score on these criteria:
| Criteria | Weight | What to Look For |
|---|---|---|
| Relevance | 30% | Does the thread topic directly relate to what the product does? |
| Intent | 25% | Is someone actively looking for a solution? ("looking for", "any recommendations", "how do you") |
| Recency | 20% | Posted in last 24h (best) to 7d (acceptable). Older = skip. |
| Engagement | 15% | 5-50 comments = sweet spot. 0 comments = dead. 500+ = buried. |
| Fit | 10% | Can you reply with genuine value WITHOUT mentioning the product? |
Score each thread 1-10. Only report threads scoring 6+.
Step 4: Check Against Seen Threads
Load data/seen.json — skip any thread URL already reported. After reporting, save new URLs to seen.json. Keep last 500 entries max.
Step 5: Deliver Report
Format the report for the current channel. For each qualifying thread:
🔍 Reddit Scout — {N} opportunities found
━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 r/{subreddit} · Score: {score}/10
"{Thread title}"
💬 {comments} comments · ⏰ {time_ago}
🔑 Matched: {keyword}
📝 Context: {1-2 sentence summary of what OP is asking/discussing}
💡 Angle: {Suggested value-first approach — what genuine help you can offer}
→ {url}
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 6 (Optional): Draft Replies
If user requested drafts, generate a reply for each thread following the engagement guide in templates/engagement-guide.md. The draft should:
- •Open with value — answer the question or share relevant experience
- •Be specific — reference details from the thread
- •Mention product naturally — only if genuinely relevant, as one option among others
- •Never sound corporate — write like a real Reddit user
Configuration
All config lives in config.json. Here's the structure:
{
"product": {
"name": "Your Product",
"one_liner": "What it does in one sentence",
"url": "https://yourproduct.com",
"category": "The product category (e.g., 'design tool', 'project management')",
"solves": ["problem 1", "problem 2", "problem 3"]
},
"keywords": {
"direct": ["keyword matching your product directly"],
"problems": ["pain points your users have"],
"competitors": ["competitor alternative", "competitor vs"],
"localized": ["keywords in other languages if applicable"]
},
"subreddits": ["sub1", "sub2", "sub3"],
"persona": {
"tone": "casual-helpful",
"never": ["hard sell", "copy-paste", "multiple links", "fake testimonials"],
"always": ["answer the question first", "share personal experience", "acknowledge alternatives"]
},
"settings": {
"max_results_per_keyword": 5,
"min_score": 6,
"scan_depth": "week",
"languages": ["en", "fr"]
}
}
Anti-Spam Safeguards
This skill enforces several rules to prevent misuse:
- •Cooldown: Will not suggest engaging in the same subreddit more than 2x per scan
- •Dedup: Tracks seen threads to avoid re-reporting
- •Quality gate: Only surfaces threads scoring 6+ on the evaluation rubric
- •No auto-posting: This skill FINDS opportunities. A human decides whether and how to engage.
- •Value-first: Draft replies always lead with genuine help, never with a sales pitch
Data Files
- •
config.json— User configuration (product, keywords, subreddits) - •
data/seen.json— Already-reported thread URLs (auto-maintained) - •
data/scan-{YYYY-MM-DD}.json— Raw Firecrawl results (auto-cleaned after 7 days) - •
templates/engagement-guide.md— Reply guidelines and examples
Scheduling
To run daily at 9:00 AM:
clawdbot cron add \ --name "Reddit Scout Daily" \ --cron "0 9 * * 1-5" \ --tz "Europe/Paris" \ --session isolated \ --message "reddit scout quick scan" \ --deliver \ --channel telegram
For a deep scan on Mondays:
clawdbot cron add \ --name "Reddit Scout Weekly Deep" \ --cron "0 9 * * 1" \ --tz "Europe/Paris" \ --session isolated \ --message "reddit scout deep scan with draft replies" \ --deliver \ --channel telegram
License
MIT — Use it, fork it, improve it.