NBA Today Pulse

v1.0.15

Timezone-aware NBA daily intelligence using bundled public ESPN/NBA fetchers plus official NBA injury-report PDFs, with compact day fast path, same-day stats...

2· 418·1 current·1 all-time
byStsk@hhjsnsnsk

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for hhjsnsnsk/nba-today-pulse.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "NBA Today Pulse" (hhjsnsnsk/nba-today-pulse) from ClawHub.
Skill page: https://clawhub.ai/hhjsnsnsk/nba-today-pulse
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install nba-today-pulse

ClawHub CLI

Package manager switcher

npx clawhub@latest install nba-today-pulse
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (daily NBA intelligence, official injury PDFs, ESPN/NBA fetchers) match the included files: multiple provider modules, report builders, PDF text extractor, timezone resolver, and CLI dispatcher. No unrelated credentials, binaries, or config paths are requested.
Instruction Scope
SKILL.md directs the agent to run the local python entrypoint (tools/nba_today_command.py) with an injected --tz and describes precise fixed output shapes and follow-up handling. The instructions do not ask the agent to read unrelated files, inspect memory, or exfiltrate secrets; they focus on building and rendering NBA reports.
Install Mechanism
There is no install spec (instruction-only skill). The only runtime requirement is python3 and the bundle ships the Python tools. No downloads or external installers are invoked by the skill metadata.
Credentials
The skill requests no environment variables, no credentials, and no config paths. The code does read an optional env var for a timing budget (NBA_TR_PREGAME_MULTI_BUDGET_SECONDS) but that is reasonable for internal throttling and is not required.
Persistence & Privilege
always is false and autonomous model invocation is the platform default. The code has an in-memory cache and a disk-cache path, but disk caching is disabled by default in disk_cache_enabled(); the skill does not request permanent system presence or modify other skills/configs.
Assessment
This skill appears coherent and implements what it advertises: it runs local Python scripts that fetch public ESPN/NBA endpoints and parse official injury PDFs. Things to consider before installing: (1) the skill makes network calls to public sports sites (espn / nba) — if you have privacy or network policy concerns, inspect provider_espn.py and provider_nba.py to confirm which domains are contacted; no API keys are requested. (2) It runs Python code and invokes subprocesses (the skill calls the router script via subprocess) — standard for CLI-style skills but means the code runs with the agent's runtime permissions. (3) There is a minimal vendored PDF parser for injury PDFs: it is intentionally small and may be brittle but not obviously malicious. (4) Disk caching is present in code but disabled by default; if you see disk writes enabled later (or someone patches the code), consider the privacy implications of writing fetched payloads to /tmp or similar. If you want extra assurance, review the full provider_* modules for the exact network endpoints and any unexpected external URLs; ask the publisher for a homepage or source repo to verify origin if that matters to you.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binspython3
latestvk974qzhqjrert0dv1jrqxrns1985ftya
418downloads
2stars
16versions
Updated 3d ago
v1.0.15
MIT-0

NBA Today Pulse v15

Version: 1.0.15

Get a compact mixed-status NBA day view, same-day stat leaders, dedicated pregame/live/post reports, independent injury reports, and explicit official_report summaries in one skill. This public 1.0.15 bundle keeps the stable public skill identity while following the validated thin-wrapper contract from the current NBA_TR runtime.

Do not invent scores, injuries, lineups, player stats, matchup reasons, article facts, or turning-point narratives that are not supported by the bundled tool output.

Single Execution Command

Production paths must resolve timezone first and inject --tz explicitly.

If the user message already includes a timezone or city:

python3 {baseDir}/tools/nba_today_command.py --command "<raw request>" --tz "<resolved timezone>"

If the user message does not include a timezone but the runtime already knows the user's timezone preference:

python3 {baseDir}/tools/nba_today_command.py --command "<raw request>" --tz "<resolved timezone>"

Only the single branch that asks the user for timezone is allowed to omit --tz.

Relative-date requests must stay grounded in the same injected timezone:

python3 {baseDir}/tools/nba_today_command.py --command "Show today's NBA games" --tz "Asia/Shanghai"
python3 {baseDir}/tools/nba_today_command.py --command "Show tomorrow's NBA games" --tz "America/Los_Angeles"
python3 {baseDir}/tools/nba_today_command.py --command "Who scored the most in today's NBA games?" --tz "Asia/Shanghai"
python3 {baseDir}/tools/nba_today_command.py --command "Summarize today's NBA official reports" --tz "Asia/Shanghai"
python3 {baseDir}/tools/nba_today_command.py --command "今日NBA赛况" --tz "Asia/Shanghai"
python3 {baseDir}/tools/nba_today_command.py --command "明天NBA赛况" --tz "America/Los_Angeles"
python3 {baseDir}/tools/nba_today_command.py --command "今天比赛谁得分最高" --tz "Asia/Shanghai"
python3 {baseDir}/tools/nba_today_command.py --command "今天NBA官方报道" --tz "Asia/Shanghai"

Intent Mapping

  • day: today's or tomorrow's NBA slate, daily status, all games, mixed-status day view
  • stats_day: today's NBA stats, who scored the most today, best performance today, rebounds leader, assists leader, most threes, largest margin
  • pregame: preview, pregame, prediction, matchup preview, all-games preview, multi-matchup preview
  • live: live game, in-game direction, current momentum, current game flow
  • post: recap, review, postgame, what happened in the game
  • injury: injury report, team injuries, matchup injury report
  • official_report: NBA.com official story, official recap, official preview, game article summary, or any nba.com/game/... URL

Injury requests take priority over preview phrasing. Explicit official-report wording or an NBA.com game URL takes priority over generic day, pregame, or post wording.

official_report remains a separate explicit route and must not be mixed back into normal day, pregame, post, or live rendering.

Follow-up Refresh Handling

  • If the previous turn only asked the user for timezone and the next reply is just a city or IANA timezone, continue the same NBA request silently
  • If the user says refresh, update, check again, score looks wrong, 更新, 刷新, 再看一下, or 比分不对 while the conversation is already about one NBA matchup, rerun the same request silently and return only the latest tool output
  • If the user says key players only, play digest only, fourth quarter only, injuries only, 只看关键球员, 只看回合摘要, 只看第四节, or 只看伤病 while the conversation is already about one NBA matchup, keep the same matchup and append the focus phrase to the reconstructed full request
  • If the user follows a normal answer by asking for official report, NBA.com story, article summary, or 官方报道, keep the same date or matchup context when reconstructing the official-report request
  • Refresh follow-ups must not add commentary, score explanations, or rewritten summaries

Fixed Output Shapes

  • stats_day: Best Performance → Top Scorer → Top Rebounder → Top Assists → Most Threes → Double/Triple Doubles → Largest Margin → Summary
  • pregame: Game Info → Lineups & Key Players → Injuries → Team Form → Prediction Analysis → Summary
  • live: Game Info → Lineups & Key Players → Injuries → Live Momentum → Team Comparison → Key Player Stats (up to 5 players per team, compact PTS/REB/AST/STL/BLK + shooting) → Play Digest (up to 8 scored plays plus recent 3-minute run when available) → Summary
  • post: Game Info → Starting Lineups → Result & Flow Summary → Key Performances → Team Comparison → Injuries → Turning Point → Summary
  • day: grouped cards ordered by Live → Final → Upcoming; live cards show at most 3 compact player lines per team, without team-total rows or duplicate play lines; final cards stay compact
  • injury: Fact Layer → Analysis Layer
  • official_report: source/game info → official headline/type/date/byline when available → concise rewritten article summary → themes or single-game cards → source label/link

Timezone Behavior

  • First use any explicit timezone or city in the user message
  • Otherwise use a valid timezone input supplied by the runtime and inject it through --tz
  • If no timezone can be resolved, ask once for a city or IANA timezone and stop there
  • If the request already carries relative-date semantics, do not invent a conflicting external --date
  • Never explain internal runtime provenance or inspect memory files
  • If timezone still cannot be resolved after checking the current message and runtime preference, return the short city/IANA prompt once and stop

Parameter Mapping Examples

  • Show today's NBA games in Shanghai time -> --tz Asia/Shanghai
  • Who scored the most in today's NBA games in Shanghai time? -> --tz Asia/Shanghai
  • Show tomorrow's NBA games in Los Angeles time -> --tz America/Los_Angeles
  • Show today's NBA games in America/Los_Angeles -> --tz America/Los_Angeles
  • Preview tomorrow's Celtics vs Hornets game in Shanghai time -> --tz Asia/Shanghai
  • Show today's Lakers live game flow in Shanghai time -> --tz Asia/Shanghai
  • Recap today's Knicks vs Thunder game in Shanghai time -> --tz Asia/Shanghai
  • Show tomorrow's Pistons injury report in Shanghai time -> --tz Asia/Shanghai
  • Summarize today's NBA official reports in Shanghai time -> --tz Asia/Shanghai
  • Summarize the official report for https://www.nba.com/game/hou-vs-lal-0042500171 in Shanghai time -> --tz Asia/Shanghai
  • 今日NBA赛况,按上海时区 -> --tz Asia/Shanghai
  • 今天比赛谁得分最高,按上海时区 -> --tz Asia/Shanghai
  • 明天NBA赛况,按洛杉矶时区 -> --tz America/Los_Angeles
  • 明天凯尔特人vs黄蜂前瞻,按上海时区 -> --tz Asia/Shanghai
  • 今天湖人 live,按上海时区 -> --tz Asia/Shanghai
  • 复盘今天尼克斯vs雷霆,按上海时区 -> --tz Asia/Shanghai
  • 明天活塞伤病报告,按上海时区 -> --tz Asia/Shanghai
  • 今天NBA官方报道,按上海时区 -> --tz Asia/Shanghai
  • 总结 https://www.nba.com/game/hou-vs-lal-0042500171 的官方报道,按上海时区 -> --tz Asia/Shanghai
  • runtime-known timezone, no explicit timezone in the message -> --tz <resolved timezone>

Data Access Behavior

This skill makes outbound HTTP requests through bundled providers to fetch public ESPN and NBA data. For supported injury-report requests it also downloads and parses official NBA injury-report PDFs. For explicit official_report requests it reads public NBA.com game pages for official preview/recap story data. This is declared scope, not generic browsing, and it must not be replaced with freeform web search or unrelated host inspection.

No install step is defined. The host runs the bundled Python files in place through the single entrypoint above, without fetching extra installers, package-manager dependencies, or remote archives at install time.

No credentials are required. Do not request API keys, tokens, cookies, passwords, or unrelated account access.

The public bundle is memory-cache only. Its only optional environment inputs are timezone fallbacks: OPENCLAW_USER_TIMEZONE, OPENCLAW_TIMEZONE, USER_TIMEZONE, and TZ.

Output Rules

  • Run only the bundled nba_today_command.py entrypoint
  • Do not switch scripts, reconstruct parameters, or retry alternate command formats
  • On success, return the tool output directly
  • Do not summarize, simplify, rephrase, add suggestions, or append follow-up offers after the tool output
  • Prefer compact cards and concise sections; day and live should stay readable without raw stat dumps or repeated season-average lines
  • For live requests, trust the explicit scoreboard returned by the bundled tool chain; the runtime may refresh it from nba_live play-by-play or boxscore before rendering
  • For postgame requests, trust the bundled play-by-play-driven recap and turning-point text instead of rewriting it in the skill layer
  • For official-report requests, trust the bundled official-report output and do not expand it with freeform article text
  • On user-fixable issues such as missing timezone or no matching game, return the final short tool result directly
  • Keep AWAY @ HOME ordering unchanged
  • Match the user's language; Chinese output should prefer Chinese team names and controlled player-name mappings
  • Chinese team-name display may vary by locale-aware mapping inside the tool chain, while English display remains canonical and non-regionalized
  • Keep relative dates such as today / tomorrow / 今天 / 明天 / 今日 / 明日 grounded in the resolved requestor timezone
  • Do not compute or guess the game score from FG, 3PT, FT, player-point subtotals, or team-total snippets

Forbidden Behaviors

  • Do not expose process narration, tool exploration, file inspection, or command retry chatter
  • Do not mention internal memory files, host runtime details, or prior-record reasoning
  • Do not use web search or generic browsing to patch missing facts unless the user explicitly asks for online verification
  • Do not inspect unrelated host files or request secrets, API keys, tokens, or credentials
  • Do not add betting advice, odds, spreads, totals, or gambling language
  • Do not add future speculation, unverified lineup guesses, or unsupported injury assumptions
  • Do not rewrite the tool result into a different structure

Comments

Loading comments...