Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

scroll-stoppers — a Claude Code plugin that mines Reddit, YouTube, TikTok, and Instagram Reels for engagement-ranked winners and tells you exactly what content to make next.

A Claude Code plugin that tells you exactly what content to make next.

Give it a niche. It mines what's actually winning across Reddit, YouTube, TikTok, and Instagram Reels — ranked by real engagement — and hands you back a content brief: the hooks that stopped the scroll, the pains in your customers' exact words, the formats getting watched, and three concrete things to make next. Rendered as a self-contained HTML dashboard you can open anywhere and screenshot clean.

What you get  ·  Why  ·  How it works  ·  Get started  ·  Standalone engine

01 — What you get

  • Hooks — the literal opening lines/titles/captions that stopped the scroll, with engagement numbers, age, and source links
  • Pain points — problems in the customer's exact words, unsanitized
  • Desires — the outcome they say they want
  • Objections — what makes them hesitate
  • Formats — the content structures that are winning, with evidence
  • Voice-of-customer phrase bank — copy-paste lines for ads and emails
  • Make this next — three concrete pieces of content, each grounded in the mined evidence

Hard rule baked into the skill: nothing is fabricated. Every hook, quote, and number traces back to a real post. When the same pain shows up on two or more platforms, it's flagged as a cross-platform validated angle.

02 — Why

Most brands guess at content. They stare at a calendar, copy a competitor (who's also guessing), and hope something hits.

Meanwhile the answer is already public — ranked by engagement. The hooks that worked. The pains people describe in their own words. The formats that actually got watched. It's all sitting on Reddit, YouTube, TikTok, and Instagram. Nobody's reading it systematically.

This plugin does.

03 — How it works

Five-step pipeline: Resolve (niche becomes real targets), Fan out (fetch four platforms), Rank (one engagement curve) — run by a stdlib-only Python engine — then Mine (hooks, pains, voice) and Brief (HTML dashboard) — done by Claude as a creative strategist.

  1. Resolve — a fuzzy keyword becomes real targets: subreddits, search keywords, niche creator handles
  2. Fan out — fetch top content across all four platforms
  3. Rank — normalize wildly different engagement scales onto one curve
  4. Mine — extract hooks, pains, desires, objections, and voice-of-customer language from the winners
  5. Brief — a clean dashboard that tells you what to make

The core design principle: code fetches, Claude mines. A stdlib-only Python engine pulls and ranks the data (cheap, deterministic). Claude reads that data as a creative strategist and extracts the gold (the part language models are actually good at). The engine never tries to "understand" content; Claude never scrapes.

04 — Get started

Requirements

  • Claude Code
  • Python 3.10+
  • An Apify account + API token — powers the YouTube, TikTok, and Instagram scrapers. The free tier has enough monthly credit to test.
  • A Firecrawl API key (optional) — Reddit fallback for when your IP gets rate-limited.

Reddit itself needs no key — it has a free public JSON API.

Install

git clone https://github.com/photospherestudio/scroll-stoppers
claude plugin marketplace add ./scroll-stoppers
claude plugin install scroll-stoppers@scroll-stoppers

Set your keys

Set the keys as environment variables.

Windows (PowerShell, persistent):

[Environment]::SetEnvironmentVariable("APIFY_TOKEN", "apify_api_...", "User")
[Environment]::SetEnvironmentVariable("FIRECRAWL_API_KEY", "fc-...", "User")

macOS / Linux:

export APIFY_TOKEN="apify_api_..."
export FIRECRAWL_API_KEY="fc-..."

A missing key never crashes a run — that platform is skipped with a note.

Use

Once installed, you never touch a terminal. Just chat with Claude Code:

find scroll stoppers for cold plunge tubs
what should I make about magnesium for sleep?
research the glass skin niche for content angles

Claude resolves the communities and creators, runs the engine (~2–3 minutes), mines the ranked data, and hands you the dashboard plus three "make this next" recommendations.


Running the engine standalone

The Python engine works without Claude too:

python skills/scroll-stoppers/scripts/scroll_stoppers.py \
  --niche "cold plunge tubs" \
  --subreddits coldplunge,BecomingTheIceman \
  --keywords "cold plunge,ice bath benefits" \
  --ig-creators wimhofmethod \
  --out ranked.json
Flag Meaning
--niche Human-readable niche name (goes in the output)
--subreddits Comma-separated, no r/ prefix
--keywords Comma-separated search terms for YouTube/TikTok
--ig-creators Comma-separated Instagram handles, no @
--limit Max results per platform source (default 25)
--skip Comma-separated platforms to skip
--out Output JSON path

Render a mined brief into the dashboard:

python skills/scroll-stoppers/scripts/render.py --brief brief.json --out dashboard.html

Structure

scroll-stoppers/
├── .claude-plugin/
│   ├── plugin.json              # plugin manifest
│   └── marketplace.json         # local marketplace for installation
├── assets/
│   └── readme/                  # README graphics (SVG)
└── skills/
    └── scroll-stoppers/
        ├── SKILL.md             # the workflow + mining rules Claude follows
        └── scripts/
            ├── scroll_stoppers.py   # orchestrator CLI
            ├── sources.py           # the 4 platform fetchers
            ├── analyze.py           # log-scale ranking
            └── render.py            # HTML dashboard renderer

Zero pip dependencies — the engine is pure Python standard library.

Design notes

Hard-won lessons baked into the implementation:

  1. Instagram hashtag scrapers are junk for research. They return low-engagement brand spam. This plugin feeds the reel scraper creator handles instead, plus a caption-relevance filter so a creator's off-topic viral reel doesn't pollute the brief.
  2. Engagement scales are incomparable raw. A TikTok gets millions of plays; a Reddit thread gets thousands of upvotes. The ranker puts everything on a log curve, normalizes within platform, and always carries each item's age — so a two-year-old monster is never passed off as "trending now."
  3. Reddit is free — don't pay to scrape it. The public JSON API works with no key. The Firecrawl fallback exists only for throttled/blocked IPs.
  4. Fetch with code, mine with AI. All creative judgment lives in SKILL.md; the Python engine stays deterministic and dumb.

Self-checks

Every non-trivial script carries its own runnable check:

python skills/scroll-stoppers/scripts/sources.py
python skills/scroll-stoppers/scripts/analyze.py
python skills/scroll-stoppers/scripts/render.py --self-test

License

MIT © 2026 Sourav Deb


Created and maintained by Sourav Deb.

About

Content-research agent for Claude Code: mines Reddit, YouTube, TikTok, and Instagram Reels for the hooks, pains, and customer language winning in a niche, then briefs you on what to make next.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages