sentiment-inlinelisted
Install: claude install-skill kensongan-prog/trading-advisor
# Sentiment Inline Skill
## When to use
- The operator wants the stale watchlist sentiment refreshed **now**, and the normal
sentiment-cache pass (OpenRouter free tier) is too slow or the operator doesn't want spend.
- A session is active (this skill needs a session model to do the classification — it is **not**
headless). Automated builds / the watcher still use the normal `sentiment-cache` path.
## What it does (and doesn't)
- **Does:** re-classifies the already-fetched raw social messages in
`.claude/cache/{stocktwits,reddit,hn}_sentiment/*.json` using *you* (the session model), then
writes the canonical `.claude/cache/sentiment/<TICKER>.json` the dashboard reads — reusing
`sentiment_cache.py`'s real aggregation, engagement weighting, coverage haircut, composite math,
rationale, and cache format. Only the LLM call is swapped for you.
- **Doesn't:** fetch fresh social data (run the stocktwits/reddit/hn fetchers first if the raw
caches themselves are stale), and doesn't run unattended.
## Workflow (three steps — you are step 2)
1. **Dump** the body batches the real scorer would send to the LLM:
```
python3 .claude/skills/sentiment-inline/score_inline.py dump --stale
# or: dump TICK1 TICK2 | dump --all | --ttl-hours N
```
Writes `/tmp/ta_sentiment_inbox.json` with a `batches` array; each batch has `ticker`,
`source` (stocktwits/reddit/hackernews), `bodies` (the messages), and `scores: null`.
2. **Score** — read the inbox and, for e