跳到主要内容
知仓学习社ZHICANG

sports-scores

Get live scores, schedules, and standings for major leagues with zero API keys — ESPN's public JSON endpoints via curl, covering NFL, NBA, MLB, NHL,…

不碰外部(只输出文字)无严重或高危命中mohitagw15856/pm-claude-skills

它会碰到什么

扫了多少1 个文本文件,4 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Sports Scores Skill

"Did we win?" is a live-data question with a keyless answer: ESPN serves structured JSON scoreboards for every major league over plain HTTPS — no key, no signup. The endpoints are unofficial (publicly accessible but undocumented, and they occasionally reshape), so this skill pairs them with the discipline that makes unofficial sources usable: state the source, expect drift, and never present a stale scoreboard as live.

What This Skill Produces

  • The answer — the asked team's score/result first, with game state (live Q3, final, starts 19:30 local)
  • The slate — today's games for a league when that's the question
  • Standings/schedule — where the endpoints serve them
  • The command — exact curl, rerunnable, with the unofficial caveat

Required Inputs

Ask for these if not provided:

  • Team or league — resolve nicknames ("the Niners" → San Francisco 49ers, NFL); ambiguous city names ("New York") get asked
  • Which game — today's default; "did they win" on an off-day means the most recent game — say which game is being answered
  • Time zone — game times convert to the user's local

Framework: The Endpoint Map and the Discipline

  1. Scoreboards: curl -s "https://site.api.espn.com/apis/site/v2/sports/{sport}/{league}/scoreboard" — pairs: football/nfl, basketball/nba, baseball/mlb, hockey/nhl, basketball/wnba, football/college-football, soccer/eng.1 (Premier League; other comps: esp.1, ita.1, ger.1, uefa.champions, usa.1). Add ?dates=YYYYMMDD for a specific day. Each event: competitions[0].competitors[] (team.displayName, score, homeAway), status.type (state: pre/in/post, detail: "Final", "End of 3rd").
  2. Teams and standings: .../{sport}/{league}/teams for the id map · .../{sport}/{league}/standings where available · a team's schedule: .../teams/{id}/schedule.
  3. State is part of the score: "Lakers 98–95" means opposite things live-in-Q4 vs. final — the state string accompanies every score, and live answers carry their fetch time ("as of 21:42 — game in progress").
  4. The nickname resolution step: fetch the teams list once when unsure rather than guessing which "Rangers" (NHL? MLB? Scottish football?) — the wrong-team answer is this domain's cardinal sin.
  5. The unofficial-source honesty: these endpoints are publicly served but undocumented — they can reshape or vanish without notice. Say "via ESPN's public feed" in the answer; on a failed or weird response, report that rather than improvising a score. Never answer scores from memory — training-data scores are, by definition, old games.

Output Format

[Team/League]: [the game]

[The direct answer: "49ers won 27–20 (final, last night)" or "Down 95–98, 4:12 left in the 4th — as of 21:42."]

| Matchup | Score | State | Time (local) |

|---|---|---|---|

[The slate, when a league day was asked]

Source: ESPN public feed (unofficial) · as of [fetch time] · rerun: [exact curl]

Quality Checks

  • [ ] The asked team's result leads; the slate follows
  • [ ] Every score carries its game state, and live scores their fetch time
  • [ ] Nicknames/cities resolved to the right team, asked about when ambiguous
  • [ ] Game times converted to the user's zone
  • [ ] The unofficial-source line appears

Anti-Patterns

  • [ ] Do not answer scores from memory — every remembered score is an old score
  • [ ] Do not present a live score without its clock state and fetch time
  • [ ] Do not guess between same-name teams — resolve or ask
  • [ ] Do not improvise when the endpoint reshapes — report and hand over the command
  • [ ] Do not editorialize outcomes ("embarrassing loss") — the user's team just lost; read the room, give the facts

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 3 个不同仓库或目录里都有叫 sports-scores 的技能。它们内容并不相同,别混用: