finnhublisted
Install: claude install-skill kensongan-prog/trading-advisor
# Finnhub client skill
## When to use
- **Live quote on demand** — the dashboard's per-row 🔄 button calls `quote(symbol)`.
- **Bulk OHLCV** — sector rotation + screener pull daily candles via `stock_candle` / `candle_closes`.
- **Recent company news** — `company_news(symbol, days)` cross-checks Alpha Vantage's `us-news` feed and fills coverage gaps on names AV missed.
Do NOT use for:
- KLSE tickers (no coverage on free tier — use `klse-*` skills).
- Crypto (use `crypto-coingecko` / `crypto-derivatives` / `hyperliquid-flow`).
- Per-article sentiment scoring (Finnhub returns headlines without sentiment; if you need sentiment, score elsewhere or read AV's pre-scored items).
- Analyst rating actions — `upgrade_downgrade(symbol)` returned HTTP 403 (premium-gated) when verified live 2026-07-01 and has been removed from this client. The dashboard's news glyph gets the same shape of data (`{gradeTime, fromGrade, toGrade, company, action}`) from yfinance's `Ticker.upgrades_downgrades` instead — see `news_glyph.py`'s `_yf_upgrades_downgrades()`.
## Setup
1. Free signup at https://finnhub.io/register (no card).
2. Drop the key into `.claude/skills/finnhub/.env`:
```
FINNHUB_API_KEY=your-key-here
```
3. The client auto-loads `.env` on import. Verify:
```python
from finnhub_client import is_configured, quote
assert is_configured()
print(quote("AAPL"))
```
## Library interface (Python)
All functions return `(data, error)` tuples. `error` is None on success,