Install
openclaw skills install us-market-briefingGenerate US pre-market outlooks and post-market recaps in a fixed 3-section format using finance news plus structured market-data pages for index snapshots and top gainers/losers. Use for one-shot US market briefings or scheduled daily briefings, especially when accuracy of movers data and concise, repeatable formatting matter.
openclaw skills install us-market-briefingUse the fixed production templates in references/templates.md.
Use scripts/is-us-market-holiday.py for deterministic 2026 US market-closure checks in automation, with references/us-market-holidays-2026.md as the human-readable source of truth.
Use this for immediate, one-shot briefings.
Use this when the user asks for scheduled delivery.
cron jobs only.crontab, /etc/crontab) and do not configure external schedulers/services.【US】<Index Name>: <level> (<+/-percent>%).Sources: section at the bottom.[🔗](https://example.com/article).web_search before drafting each briefing.web_search calls and up to 6 web_fetch reads.web_fetch only on relevant finance/news links from trusted domains.BIGGEST MOVERS (TOP 5 GAINERS / TOP 5 LOSERS), use a structured movers source first, then use news/articles to explain the driver.https://finance.yahoo.com/markets/stocks/gainers/https://finance.yahoo.com/markets/stocks/losers/Use this exact procedure for post-market movers:
https://finance.yahoo.com/markets/stocks/gainers/https://finance.yahoo.com/markets/stocks/losers/top_gainers or top_losers dock module entries and capture at least:
Top 5 Gains.Top 5 Losses.<TICKER> Reuters<TICKER> Bloomberg<TICKER> CNBCtop_gainers and top_losers module rows.429 under repeated direct access, so the preferred workflow is page-level movers extraction first, not per-symbol quote scraping.US PRE-MARKET OUTLOOKFUTURES SNAPSHOTKEY DEVELOPMENTS AFFECTING TODAY’S MARKETTICKERS TO WATCHUS POST-MARKET RECAPPOST-MARKET SNAPSHOTBIGGEST MOVERS (TOP 5 GAINERS / TOP 5 LOSERS)MARKET SENTIMENT & FLOW SUMMARYIf a preferred dataset is unavailable, do not fail silently:
Use only when the user requests spend/request caps.
Tracker file: memory/market-briefing-usage.json (workspace-local)
1000 requests.limit in the JSON file.used to 0 and roll month forward.used >= limit, return a short limit-reached notice instead of researching.used by 1.JSON shape:
{
"month": "YYYY-MM",
"used": 0,
"limit": 1000
}
Before generating an automated briefing, determine whether the relevant US market session is a full market-closure day.
python3 skills/us-market-briefing/scripts/is-us-market-holiday.py YYYY-MM-DD using the relevant market date.status in {open, closed, early-close}.closed, do not produce a briefing and do not send a message.early-close as market-open unless Kevin says otherwise.Default timezone: Asia/Singapore
Allow user overrides for timezone, run times, and weekday sets.
When creating/updating jobs, ensure payload prompts request:
references/templates.mdmemory/market-briefing-usage.jsoncompact (default): same 3 sections, fewer bullets.full: richer bullets/details while preserving same structure.