klse-sentimentlisted
Install: claude install-skill kensongan-prog/trading-advisor
# klse-sentiment — Bursa community-comment sentiment
The KLSE-native raw-fetch leg of the §4 retail-sentiment stack — sibling of
`stocktwits-sentiment` / `reddit-sentiment` / `hn-sentiment`. klsescreener hosts a
per-stock community thread with genuine retail chatter; this scrapes it into a
raw cache that the `sentiment-cache` LLM scorer turns into the canonical
`sentiment.json` composite.
**Why it exists:** for Bursa names the other three legs are usually empty —
StockTwits 404s on KLSE codes, Reddit's `r/Bursa_Malaysia` is thin. Before this,
KLSE tickers scored `UNKNOWN` (no source data). klsescreener comments fill that
slot: no login wall, and it's a site the project already scrapes for quote /
news / announcements.
## Endpoint (discovered 2026-07-01 — see notes/learned.md)
Full thread: `https://www.klsescreener.com/v2/comments/all/stock/{CODE}` (GET,
server-rendered HTML, no auth). The in-page AJAX pager (`/v2/comments/comment/...`)
was **deprecated** (commented out, 404s); the "all" page is the live surface and
caps at ~26 most-recent comments — fine, since we want recency.
## Usage
```bash
python3 .claude/skills/klse-sentiment/klse_sentiment.py # all KLSE in watchlist, 180d window
python3 .claude/skills/klse-sentiment/klse_sentiment.py 9431 5099 # specific Bursa codes
python3 .claude/skills/klse-sentiment/klse_sentiment.py --days 90 # tighter window
python3 .claude/skills/klse-sentiment/klse_sentiment.py --show # print cached values, no fetch
pytho