← ClaudeAtlas

reddit-sentimentlisted

Manually refresh retail sentiment for watchlist tickers from Reddit (r/wallstreetbets, r/stocks, r/investing, r/CryptoCurrency, r/Bursa_Malaysia, per-coin subs, etc.) into a local JSON cache that the dashboard reads. Returns mention count, velocity vs 7d baseline, and the top posts per ticker. Raw-fetch leg of the retail-sentiment build — sibling of `stocktwits-sentiment`; both feed the LLM scorer in `sentiment-cache`. Manual by design — no automatic refresh, no cron. REQUIRED before any §4 retail-sentiment contrarian read.
kensongan-prog/trading-advisor · ★ 1 · AI & Automation · score 62
Install: claude install-skill kensongan-prog/trading-advisor
# Reddit Sentiment Skill ## When to use Trigger this skill when the user says: - "Refresh Reddit sentiment" / "Pull retail chatter" - "How loud is WSB on AUPH right now?" / "What's r/CryptoCurrency saying about ETH?" - "Refresh sentiment for the watchlist" - "Show me the Reddit cache" Do NOT trigger for: - Single-shot agent-side lookups during analysis (use WebFetch directly on the post URL — faster for one post mid-conversation) - Professional news (use `us-news`, `klse-news` instead — different signal category) - StockTwits or other retail sources (separate skills) ## Why this exists The doctrine's §4 confluence has technicals + fundamentals + news (professional) + positioning. Retail forum sentiment is a **distinct signal category** — most useful as a **contrarian filter**, not an additive bull signal. Extreme retail bullishness alongside extended technicals is a fade signal; extreme retail bearishness with a constructive P1 setup is a capitulation-buy signal. Mid-range sentiment is no-op (most names land here, which is correct). This skill uses Reddit's OAuth API when `REDDIT_CLIENT_ID`/`REDDIT_CLIENT_SECRET` are configured (real per-post/per-comment `score` values, full engagement weighting) and falls back to Reddit's public RSS feed (`search.rss`) when they aren't. RSS carries no scores — posts/comments come back with `score=None`, so the RSS leg's engagement weighting is flat (mention count + velocity only, no upvote-based ranking). This is the **raw fetcher**.