← ClaudeAtlas

klse-announcementslisted

Manually refresh klsescreener.com Bursa announcements (Financial Results filings, Entitlements/dividends, AGMs/EGMs, Capital Changes, Shareholding changes) for KLSE tickers into a local JSON cache that the dashboard reads. Use when the user wants a real earnings/announcement halt check on KLSE names — the Risk Simulator's KLSE earnings gate consumes this cache. Uses urllib + regex (no WebFetch) so it's runnable from any Python context. Manual by design — no automation, no cron.
kensongan-prog/trading-advisor · ★ 1 · Web & Frontend · score 62
Install: claude install-skill kensongan-prog/trading-advisor
# KLSE Announcements Refresh Skill ## When to use Trigger this skill when: - The user wants the Risk Simulator's KLSE earnings gate to use real data (rather than the manual-check warning) - "Refresh KLSE announcements" - "Pull Bursa announcements for 1155 / 7241" - Before sizing a KLSE trade where Q-results / ex-div / AGM proximity matters - Audit: "Show me KLSE announcement cache" Do NOT use for: - News headlines (different feed: `klse-news` skill via WebFetch) - Per-ticker fundamentals (use `klse-refresh`) ## Why this exists The original `klse-news` skill fetches Bursa announcements via WebFetch — fine for in-conversation single-ticker analysis, but unusable from a Python script. The Risk Simulator's KLSE earnings gate previously had to warn "manual check needed" because Python couldn't fetch this data. This script fixes that: direct HTTP + regex parsing of klsescreener's announcements page. Output lands in `.claude/cache/klse_announcements/{code}.json`, which the dashboard reads on build so the simulator can run a real halt-window check. Manual by design — no cron, no scheduled refresh. ## What gets cached per ticker ```json { "bursa_code": "4057", "stock_name": "ASIAN PAC HOLDINGS BERHAD", "announcements": [ {"date": "2026-05-28", "category_code": "FA", "category": "Financial Results", "title": "Quarterly rpt on consolidated results for the financial period ended 31/03/2026", "time_of_day": "1:19 pm"}, ... ], "most_recent_financial_re