From sentiment-analysis
This skill should be used when the user asks for a full sentiment report, comprehensive sentiment analysis, complete sentiment summary, sentiment check, overall market mood, how sentiment looks, or explicitly runs /sentiment-report for a publicly traded company. Also use when the user asks to "analyze sentiment", "run sentiment analysis", or "give me a sentiment overview" for a stock.
npx claudepluginhub tradeinsight-info/investment-analysis-skills --plugin sentiment-analysisThis skill uses the workspace's default tool permissions.
User-invocable skill (`/sentiment-report`) that dispatches all three sentiment
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.
User-invocable skill (/sentiment-report) that dispatches all three sentiment
data channels in parallel using the Agent tool, synthesizes a composite score,
and formats the full report with a data source log.
Confirm ticker and company name via WebSearch if needed. Record the current UTC timestamp for the report header.
Use the Agent tool to run all three simultaneously:
news-sentiment for the tickerreddit-sentiment for the tickerstocktwits-sentiment for the tickerDo NOT proceed to Step 3 until all three have returned results.
From each skill output, extract:
news_score, article_count, news_source, low_volume_warning, key_headlinesreddit_score, wsb_score, rstocks_score, wsb_post_count, rstocks_post_count, top_wsb_posts, top_rstocks_posts, fallback_notesstocktwits_score, bullish_count, bearish_count, total_labeled, sample_bullish, sample_bearishBase weights: News 45%, StockTwits 30%, Reddit 25%
Re-normalize if a channel is unavailable (null score). Adjust weights so they sum to 1.0 across available channels only:
| Available Channels | News weight | StockTwits weight | Reddit weight |
|---|---|---|---|
| All three | 0.45 | 0.30 | 0.25 |
| News + StockTwits only | 0.60 (45/75) | 0.40 (30/75) | — |
| News + Reddit only | 0.643 (45/70) | — | 0.357 (25/70) |
| StockTwits + Reddit only | — | 0.545 (30/55) | 0.455 (25/55) |
| News only | 1.00 | — | — |
| StockTwits only | — | 1.00 | — |
| Reddit only | — | — | 1.00 |
composite = (news_score × w_news) + (stocktwits_score × w_st) + (reddit_score × w_reddit)
If fewer than 2 channels have data: Do not compute a composite. Output "⚠️ Insufficient data to compute composite score" and show available channel results individually.
Apply the standard signal bands to the composite score:
= +7.0 → Very Bullish
= +3.0 and < +7.0 → Bullish
-3.0 and < +3.0 → Neutral
Scale composite (-10 to +10) onto a 20-character bar:
█ for filled blocks, ░ for empty{bar} ({composite_score})Examples:
░░░░░░░░░░████████░░ (+8.0)░░░░░█████░░░░░░░░░░ (-5.0)░░░░░░░░░░░░░░░░░░░░ (0.0)Present the report in this exact structure:
## Sentiment Analysis: {TICKER} — {Company Name}
*Last 24 hours · As of {UTC timestamp}*
### Composite Sentiment Score
**{composite_score} / 10 — {Label}**
{ASCII bar}
[If total sources < 5: ⚠️ Low data volume ({n} total sources) — composite may not be representative.]
### Channel Breakdown
| Channel | Score | Signal | Volume | Notes |
|---------|-------|--------|--------|-------|
| News | {news_score} | {label} | {n} articles | {top source domains} |
| StockTwits | {st_score} | {label} | {total_labeled} labeled | {bullish}/{bearish} ratio |
| Reddit (WSB) | {wsb_score} | {label} | {n} posts | avg ↑{avg_upvotes} |
| Reddit (r/stocks) | {rs_score} | {label} | {n} posts | avg ↑{avg_upvotes} |
(Use "N/A" in Score column for unavailable channels; explain in Notes)
### Key Headlines (past 24h)
- [{score}] "{title}" — {source}
- [{score}] "{title}" — {source}
- [{score}] "{title}" — {source}
### Notable Reddit Posts
- [WSB · ↑{upvotes}] "{title}" · {Bullish | Neutral | Bearish}
- [WSB · ↑{upvotes}] "{title}" · {Bullish | Neutral | Bearish}
- [r/stocks · ↑{upvotes}] "{title}" · {Bullish | Neutral | Bearish}
- [r/stocks · ↑{upvotes}] "{title}" · {Bullish | Neutral | Bearish}
### StockTwits Sample
- 🟢 Bullish: "{sample_bullish_message}"
- 🔴 Bearish: "{sample_bearish_message}"
---
### Data Source Log
- **News:** {NewsAPI (key configured) | WebSearch fallback} · {n} articles · {domain breakdown}
- **Reddit WSB:** {Direct JSON | sort=new retry | WebSearch fallback | Unavailable} · {n} posts
- **Reddit r/stocks:** {Direct JSON | sort=new retry | WebSearch fallback | Unavailable} · {n} posts
- **StockTwits:** {Direct API | Unavailable} · {total_labeled} labeled messages
---
*For informational purposes only. Not financial advice. Sentiment scores derived
from public sources and AI analysis. Verify independently before making investment decisions.*