reddit

Monitor Reddit communities worldwide to discover niche product opportunities — unmet pain points, frustrated users, tool-seeking posts — from high-purchasing-power markets (US, UK, EU, DACH, Nordics, JP, KR, AU). Use this skill whenever the user mentions Reddit, product opportunities, pain point hunting, market research, niche discovery, subreddit monitoring, or wants to find SaaS/product ideas from real user discussions. Also use for /reddit commands and /loop /reddit scheduled scans. This skill MUST be consulted when the user wants to: scan Reddit for product ideas, find pain points in subreddit communities, discover new subreddits, check subreddit quality scores, run a Reddit monitoring loop, deep-dive a specific vertical on Reddit, or find what frustrated users are complaining about. Even without explicitly saying "Reddit," mentions of "pain points," "product opportunities," "micro-SaaS ideas," "niche discovery," or "market research from user discussions" should trigger this skill. It provides reddit.sh — a specialized tool for fetching live Reddit data that raw curl/web search cannot access reliably.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "reddit" with this command: npx skills add sky-flux/skills/sky-flux-skills-reddit

Reddit Opportunity Hunter

Mission

Product Opportunity Hunting, NOT Lead Hunting.

  • Input: Reddit discussions from high-purchasing-power markets
  • Output: Actionable product opportunity reports with build assessments
  • Goal: Surface 1-2 week MVP opportunities in USD/EUR/GBP markets
  • You are scanning for patterns of unmet need, not individual sales leads
  • Every recommendation must pass the Solo Dev Fit test before being highlighted
  • Reference data lives in references/ — subreddits, keywords, seasonal patterns

Quick Start / First Run

  1. Install dependencies: brew install curl jq
  2. Run health check: reddit.sh diagnose — verifies curl, jq, network connectivity
  3. The script auto-creates .reddit/ with reports/, opportunities/, archive/
  4. Verify .gitignore includes .reddit/ — the script warns if missing
  5. Review references/subreddits.json — confirm subreddits match the user's domain
  6. Review references/intent_keywords.json — adjust if the user targets a specific niche
  7. Configure preferences: reddit.sh config show — set language, industries, currency
  8. First scan:
    reddit.sh fetch --campaign global_english --sort new --pages 1
    
  9. Inspect the enriched JSON output, then proceed to Phase 2 (Analysis)

Configuration

On first run, .reddit/config.json is auto-created with defaults. Check and customize it:

reddit.sh config show          # view current config
reddit.sh config set <key> <value>   # change a setting
reddit.sh config reset         # restore defaults
SettingDescriptionDefaultExample
output_languageLanguage for reports and analysisenzh, ja, de
focus_industriesOnly surface opportunities in these industries[] (all)["SaaS","DevTools"]
excluded_subredditsSkip these subreddits during scan[]["Entrepreneur"]
score_thresholdMinimum score to include in reports78
max_build_complexityFilter out opportunities above this levelHeavyMedium
currency_displayCurrency for revenue estimatesUSDCNY, EUR
sub_quality_thresholdMinimum quality score for auto-adding discovered subs7.06.0

First-run prompt: If no config.json exists when the skill is triggered, ask the user:

"This is your first time using Reddit Opportunity Hunter. Quick setup:

  1. What language should reports be in? (default: en)
  2. Any industries to focus on? (default: all)
  3. What currency for revenue estimates? (default: USD)

Or say 'use defaults' to skip."

Save answers via reddit.sh config set.

Core Workflow

Two modes: broad scan (default loop) or focused investigation (user asks about a specific topic).

For focused investigation (e.g., "deep-dive QuickBooks pain points"):

  1. Identify the most relevant campaign(s) — match user's topic to campaigns in subreddits.json
  2. Fetch those campaigns + global_english for cross-market signal
  3. Run targeted searches: reddit.sh search "<topic> frustrated" --global, reddit.sh search "<topic> alternative" --global
  4. Skip straight to Phase 2-3 analysis on the focused data set
  5. Produce detailed opportunity reports for the specific vertical

For broad scan (loop cycle or general scan):

Phase 1: Data Collection

Run reddit.sh fetch for each campaign defined in references/subreddits.json, ordered by scan_priority:

reddit.sh fetch --campaign global_english --sort new --pages 2
reddit.sh fetch --campaign dach_german --sort new --pages 1
reddit.sh fetch --campaign nordic_scandi --sort new --pages 1

Key details:

  • Multi-sub merge: the script combines subreddits as r/A+B+C/new.json to reduce API calls
  • Output is enriched JSON — jq computes _jq_enriched fields (intent matches, sentiment, age)
  • Do NOT re-compute what jq already provides; read the enriched fields directly
  • Rate limit budget: ~100 requests per ~260 seconds; a single fetch loop uses ~40-45
  • Fetch Tier S campaigns every loop, Tier A daily, Tier B weekly
  • Campaign selection: when the user specifies a domain (e.g., "DevTools and marketing"), fetch matching vertical campaigns + global_english. Don't fetch all campaigns — respect the user's focus.

Phase 2: Analysis (Claude)

Before analyzing, read user config:

  • reddit.sh config show — check output_language, focus_industries, score_threshold
  • CRITICAL: Write ALL reports, analysis, section headers, and commentary in the configured output_language. If output_language is zh, every line of output must be Chinese (keep only numbers, scores, URLs, subreddit names, product names, and technical terms in English). This applies to every loop cycle — not just the first one.
  • If focus_industries is set, prioritize opportunities matching those industries
  • If excluded_subreddits is set, skip posts from those subreddits
  • Use currency_display when estimating revenue (convert from USD)
  • Only include opportunities with final_score >= score_threshold
  • Only include opportunities with complexity ≤ max_build_complexity

Read the enriched JSON from Phase 1. For each batch:

  1. Pain point clustering — group similar complaints across posts and subreddits
  2. Frequency counting — how many posts mention this pain this week?
  3. Intensity assessment — use intent_keywords_matched and negative_signals from the enriched data
  4. Market validation signals — look for: budget mentions, team size, already_tried products, willingness to pay
  5. Score each opportunity using the scoring algorithm below
  6. Deduplicate against seen_posts in .reddit/.reddit.json

Phase 3: Deep Verification (score >= 8, or high-engagement posts)

Fetch comment trees for posts that meet any of these triggers:

  • Opportunity score >= 8
  • High engagement: >= 20 comments or >= 30 upvotes on a niche subreddit
  • Tier 1-2 intent signals with specific budget mentions

For each triggered post:

  1. Fetch comment trees: reddit.sh comments <post_id> <subreddit>
  2. Search competitive landscape: reddit.sh search "competitor alternative" --global
  3. Add post to watched_threads for ongoing monitoring
  4. Optional: use WebSearch for cross-platform validation (Twitter/X, HN, G2, Capterra)

Phase 3.5: Micro-Validation

Before promoting an opportunity to "validated":

  • Suggest a landing page smoke test to the user
  • Cross-platform search: Twitter/X, Hacker News, Indie Hackers for the same pain
  • Search for failed attempts at similar products (important signal)
  • Check Product Hunt / GitHub for recent launches in the space

Phase 4: Report

  • Daily scan report -> .reddit/reports/YYYY-MM-DD-scan.md
  • High-value opportunities -> .reddit/opportunities/<slug>.md
  • Scoring breakdown -> include a scoring-breakdown.md when producing >= 3 opportunities, showing per-dimension scores so the user can see why each opportunity ranked where it did
  • Use the templates defined below

reddit.sh Reference

ModeUsagePurpose
fetchreddit.sh fetch --campaign X --sort new --pages 2Fetch & enrich posts
commentsreddit.sh comments <id> <sub>Comment tree for deep-dive
searchreddit.sh search "query" [--global] [--type post|user|subreddit]Reddit search
discoverreddit.sh discover <keyword> [--deep|--from-sub|--industry]Find new subreddits
profilereddit.sh profile <user> [--enrich]User history analysis
crosspostreddit.sh crosspost [--campaign X]Cross-poster detection
stickiedreddit.sh stickied [subreddit]Stickied post mining
firehosereddit.sh firehose [sub1+sub2]Real-time comment stream
duplicatesreddit.sh duplicates <post_id>Link propagation tracking
wikireddit.sh wiki <sub> [page]Community wiki content
statsreddit.sh statsDatabase / state statistics
exportreddit.sh export [--format csv|json]CRM-ready export
cleanupreddit.sh cleanupPurge expired data
diagnosereddit.sh diagnoseHealth check (jq, dirs, state)
configreddit.sh config [show|set <key> <val>|reset]User preferences
expandreddit.sh expand --campaign XTargeted campaign expansion
qualityreddit.sh quality [--report|--history <sub>]Sub quality report + EMA history
promotereddit.sh promote <sub> --campaign XMove discovered sub to tracked config

Helper functions (called during loop cycles, not directly by user):

  • watch_check — check watched threads for new comments since last check
  • competitor_search <campaign> — expand competitor query templates from config
  • update_subreddit_quality <sub> <scanned> [opportunities] — track hit rates per subreddit

Discovery → Promote Pipeline

When finding new subreddits for a campaign:

  1. reddit.sh discover "<keyword>" --deep — probes candidate subs (15-25 API calls per query)
  2. Review discovery results — check pain_posts, avg_comments, competitor_posts
  3. Quality-score each candidate using the multi-dimension algorithm (pain density, engagement, competitor mentions, growth rate, etc.)
  4. For subs scoring >= sub_quality_threshold: reddit.sh promote <sub> --campaign <campaign>
  5. For borderline subs (threshold - 1.0 to threshold): flag as "monitor" for re-evaluation next week

Rate limit caution: --deep discovery uses 15-25 requests per query. Run at most 2-3 discovery queries per session. If you hit 429 rate limits, stop discovery and resume in the next cycle.

Scoring Algorithm

raw_score = intensity      * 0.20
          + competitive_gap * 0.20
          + build_feasibility * 0.20
          + market_value   * 0.20
          + frequency      * 0.15
          + timeliness     * 0.05

Each dimension is scored 1-10 individually.

Adjustments:

adjusted = raw_score
  + cross_market_bonus   (same pain in 3+ Tier S markets -> +1.5)
  + seasonal_bonus       (matches upcoming seasonal pattern -> +1.0; just passed -> -1.0)
  - false_positive_penalty (see below)

final_score = clamp(adjusted, 1, 10)

Weekly decay: if no new mentions this week: final_score *= 0.88

Market tier bonuses (applied to market_value dimension, not final score):

  • Tier S (US, UK, DE, FR, NL, JP, AU, KR, Nordics): +3
  • Tier A (IN, BR, SEA, LATAM, PL, CZ): +1
  • Tier B (Africa, South Asia, rest): +0

Thresholds:

  • = 8: Deep verification (Phase 3) + highlight in report

  • = 7: Show in daily report under New Opportunities

  • < 7: Aggregate only under Trending Pain Points

False positive penalties:

  • Single user mention, no corroboration: -3
  • One-time complaint (user has no topic history): -2
  • Strong open-source alternative (>5k GitHub stars): -2
  • Requires enterprise sales process: mark as "not solo dev fit", do not penalize score but flag

Intent Tiers

Reference references/intent_keywords.json for the full keyword list. You classify intent tier from context — jq only provides raw keyword matches.

TierSignalExamples
1Direct purchase intent"willing to pay", "budget for", "take my money"
2Active solution seeking"looking for a tool", "switching from", "need alternative"
3Pain expression"frustrated with", "too expensive", "waste of time"
4Research"what do you use for", "best practices", "recommendations"
5Indirect signalsDomain discussions implying unmet need

Solo Dev Fit Assessment

Evaluate independently of opportunity score. All must be true for a pass:

  • Build time < 2 weeks for MVP
  • No ongoing compliance burden (HIPAA, SOC2, etc.)
  • Self-serve distribution (no enterprise sales cycle)
  • Subscription or usage-based pricing model viable
  • Known tech stack (no deep domain R&D)
  • No network effects required for initial value

Opportunity Report Template

## Product Opportunity: [Name]

**Score:** X.X/10 | **Intent Tier:** N | **Solo Dev Fit:** Yes/No

### Pain Point
[2-3 sentence summary of the unmet need]

### Market Evidence
- **Frequency:** N posts in last 7 days across M subreddits
- **Intensity:** [low/medium/high] — key signals: ...
- **Geography:** [primary markets]
- **Target user:** [persona]
- **Budget signals:** [quotes or indicators]

### Competitive Landscape
- **Existing paid tools:** [list with pricing]
- **Open-source alternatives:** [list with GitHub stars]
- **Why they fail:** [gap analysis]
- **Recent launches:** [last 6 months]

### Build Assessment
- **Complexity:** [low/medium/high]
- **MVP scope:** [3-5 core features]
- **Build time:** [estimate]
- **Tech stack:** [recommendation]
- **Technical moat:** [if any]
- **Solo Dev Fit:** [Yes/No + reasoning]

### Revenue Model
- **Pricing anchor:** [competitor pricing context]
- **Suggested tiers:** [USD/EUR with PPP notes]
- **Distribution:** [channels]
- **Market size estimate:** [TAM/SAM]
- **Revenue potential:** [12-month projection]
- **CAC / Payback:** [estimate]
- **Churn risk:** [assessment]

### Cross-Market Signal
[Evidence from other markets/platforms]

### Source Posts
- [post title](url) — r/subreddit — N upvotes, M comments — YYYY-MM-DD

Daily Report Template

# Reddit Opportunity Scan — YYYY-MM-DD

## New Opportunities (score >= 7)
[Opportunity cards with score, pain summary, top source post]

## Trending Pain Points
[Clusters below threshold but gaining frequency]

## Time-Sensitive (< 2h old, high intent)
[Posts needing immediate attention — Tier 1-2 intent, fresh]

## Scan Stats
- Subreddits scanned: N
- Posts analyzed: N
- New opportunities: N
- Watched threads updated: N
- API calls used: N / 100

Loop Integration

Trigger with:

/loop 30m /reddit

Each cycle follows Phases 1-4 above, with these loop-specific additions:

  1. Read config first: reddit.sh config show — enforce output_language for ALL output this cycle
  2. Hot-reload references/subreddits.json (picks up edits and newly promoted subs between cycles)
  3. Fetch per scan_priority: Tier S every loop, Tier A daily, Tier B weekly
  4. Deduplicate against seen_posts in .reddit/.reddit.json
  5. watch_check for watched threads with new activity
  6. competitor_search for configured campaigns
  7. Analyze, score, cluster → Phase 2-4 as normal
  8. Score >= 8 → alert: OPPORTUNITY: [title] (score X.X)
  9. update_subreddit_quality with hit rates

Scheduled reports:

  • Weekly summary: trigger on Sundays (or first loop after Sunday midnight)
  • Monthly summary: last day of month (or first loop after)
  • If a scheduled report was missed, generate it on next run

State Management

.reddit/.reddit.json tracks:

KeyPurposeTTL
seen_postsDeduplication30 days
watched_threadsMonitor for new comments7 days default
opportunitiesLifecycle trackingPermanent
products_seenKnown tools/competitorsPermanent
influencersHigh-value Reddit usersPermanent
community_overlapCross-sub posting patterns30 days
subreddit_qualityHit rate per subredditPermanent

Opportunity lifecycle: discovered -> investigating -> validated -> building -> launched -> revenue -> archived

Safety

  • Public data only — no PII beyond Reddit usernames
  • Rate limit compliant — respect the ~100 req/260s budget
  • .reddit/ must be in .gitignore — never commit user data
  • Reply drafts always marked [REVIEW BEFORE POSTING]
  • Suggest max 5 replies per day to avoid spam patterns

Skill Integration

Related skills for downstream workflows:

  • content-strategy — turn validated pain points into content calendars
  • copywriting — turn opportunities into landing page copy
  • competitor-alternatives — deep competitive analysis
  • cold-email — draft outreach / DM templates
  • social-content — repurpose Reddit insights for social posts

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

michelangelo

No summary provided by upstream source.

Repository SourceNeeds Review
Research

LangSkills Search

Search 119K evidence-backed skills from 95K+ papers & 24K+ tech sources

Registry SourceRecently Updated
80Profile unavailable
Research

skill-creator

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

Repository SourceNeeds Review
85.7K94.2Kanthropics
Research

slack-gif-creator

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack."

Repository Source
12.2K94.2Kanthropics
reddit | V50.AI