From sentiment-analysis
This skill should be used when the user asks about Reddit sentiment, WallStreetBets opinion, r/stocks discussion, retail investor sentiment, social media sentiment on Reddit, what Reddit thinks about a stock, or whether Reddit is bullish or bearish on a ticker.
npx claudepluginhub tradeinsight-info/investment-analysis-skills --plugin sentiment-analysisThis skill uses the workspace's default tool permissions.
Fetch top posts mentioning a ticker from r/wallstreetbets and r/stocks (past 24 hours),
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Analyzes multiple pages for keyword overlap, SEO cannibalization risks, and content duplication. Suggests differentiation, consolidation, and resolution strategies when reviewing similar content.
Share bugs, ideas, or general feedback.
Fetch top posts mentioning a ticker from r/wallstreetbets and r/stocks (past 24 hours), score post titles for sentiment using engagement weighting, and produce a Reddit channel score from -10 to +10.
Confirm both ticker and company name via WebSearch if needed.
WebFetch with required header User-Agent: sentiment-analysis-skill/1.0:
https://www.reddit.com/r/wallstreetbets/search.json?q={ticker}&sort=hot&t=day&limit=15&restrict_sr=1
If the response is empty, has fewer than 3 posts, or returns a redirect/login page:
sort=new instead of hotsite:reddit.com/r/wallstreetbets {ticker}
and extract post titles from search snippets. Record: wsb_fallback = "WebSearch"wsb_available = falseExtract per post: title, score (upvotes), upvote_ratio.
Same process for:
https://www.reddit.com/r/stocks/search.json?q={ticker}&sort=hot&t=day&limit=15&restrict_sr=1
Same retry/fallback sequence. Set rstocks_available = false if all fail.
For each post:
Engagement weight = upvote_ratio × log(max(score, 0) + 1)
If score <= 0, max(score, 0) + 1 = 1, so log(1) = 0 — downvoted posts get zero weight.
If all posts in a subreddit have weight 0, use unweighted average instead.
Sentiment score (-1.0 to +1.0 per title):
Weighted average per subreddit:
weighted_avg = sum(sentiment_i × weight_i) / sum(weight_i)
subreddit_score = weighted_avg × 10
Top 3 posts per subreddit = the 3 posts with the highest engagement weight (popularity signals community conviction on Reddit; not highest absolute sentiment).
reddit_score = (wsb_score + rstocks_score) / 2
If one subreddit is unavailable, use the other's score directly.
If both are unavailable, set reddit_available = false.
REDDIT SENTIMENT RESULT
Ticker: {ticker}
Reddit Channel Score: {reddit_score} / 10
WSB Score: {wsb_score} / 10 ({wsb_post_count} posts) [or "Unavailable"]
r/stocks Score: {rstocks_score} / 10 ({rstocks_post_count} posts) [or "Unavailable"]
Signal: {label per signal bands below}
Fallback Notes: {any fallbacks triggered, or "none"}
Top WSB Posts (by engagement weight):
1. [↑{upvotes} | {upvote_ratio}] "{title}" → {Bullish | Neutral | Bearish}
2. ...
3. ...
Top r/stocks Posts (by engagement weight):
1. [↑{upvotes} | {upvote_ratio}] "{title}" → {Bullish | Neutral | Bearish}
2. ...
3. ...
Signal bands (applied to reddit_score):