Token导航 LogoToken导航

Agent Skill · 研究检索

football-data(足球数据)

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

football-data 是研究检索类 Agent Skill,可用宿主为 Local Agent,通过unknown获取,权限为需要联网;许可证信息还不明确,暂无第三方扫描结果,按安装量在研究检索类的 73,675 个 Skill 里排第 62,939。

总安装 324周安装 13下载 105核验 2026-05-01
研究检索需要联网unknown未标认证来源可访问许可证需确认审计未展示Local Agent

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:football-data(足球数据)
来源仓库:https://skills.volces.com
仓库路径:football-data
安装命令:
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。当前暂无明确安装命令,请以来源页面说明为准。

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于辅助数据整理、表格处理和指标计算,适合 CSV/Excel 分析和图表准备。可清洗字段、汇总数据或发现异常值,并生成统计说明。使用时需确认数据来源和时间范围,避免将样本当作全量事实。涉及敏感数据导出时,应先评估脱敏和权限控制措施。建议配合本地预览验证结果准确性后再批量操作。

football-data 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:football-data

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Local Agent;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    没有现成安装命令,按unknown的说明从来源页面获取,仓库路径是 football-data。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

football-data 怎么安装?

公开资料没有给出可以直接复制的命令,需要按来源页面说明手动安装,仓库内路径为 football-data。

football-data 支持哪些 AI 工具?

公开资料标注支持 Local Agent。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

football-data 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

football-data 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

football-data 用的人多吗?

公开数据是累计安装 324 次,近一周安装 13 次,下载 105 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

football-data 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 Local Agent 一种宿主,触发方式和使用习惯不用来回切换。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Local Agent,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 要求有安全扫描结论才肯安装的团队。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
football-data

足球数据 · 本页

324—需要联网未明确未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Football Data

Setup

Before first use, check if the CLI is available:

which sports-skills || pip install sports-skills

If pip install fails (package not found or Python version error), install from GitHub:

pip install git+https://github.com/machina-sports/sports-skills.git

The package requires Python 3.10+. If your default Python is older, use a specific version:

python3 --version  # check version
# If < 3.10, try: python3.12 -m pip install sports-skills
# On macOS with Homebrew: /opt/homebrew/bin/python3.12 -m pip install sports-skills

No API keys required.

Quick Start

Prefer the CLI — it avoids Python import path issues:

sports-skills football get_daily_schedule
sports-skills football get_season_standings --season_id=premier-league-2025

Python SDK (alternative):

from sports_skills import football

standings = football.get_season_standings(season_id="premier-league-2025")
schedule = football.get_daily_schedule()

Choosing the Season

Derive the current year from the system prompt's date (e.g., currentDate: 2026-02-16 → current year is 2026).

  • If the user specifies a season, use it as-is.
  • If the user says "current", "latest", or doesn't specify: Call get_current_season(competition_id="...") to get the active season_id. Do NOT guess or hardcode the year.
  • Season format: Always {league-slug}-{year} (e.g., "premier-league-2025" for the 2025-26 season). The year is the start year of the season, not the end year.
  • MLS exception: MLS runs spring-fall within a single calendar year. Use get_current_season(competition_id="mls") — don't assume MLS follows European calendar.
  • Never hardcode a season_id. Always derive it via get_current_season() or from the system date.

Data Coverage by League

Not all data is available for every league. Use the right command for the right league.

CommandAll 13 leaguesTop 5 onlyPL only
get_season_standingsx
get_daily_schedulex
get_season_schedulex
get_season_teamsx
search_teamx
get_team_schedulex
get_team_profilex
get_event_summaryx
get_event_lineupsx
get_event_statisticsx
get_event_timelinex
get_current_seasonx
get_competitionsx
get_event_xgx
get_event_players_statistics (with xG)x
get_season_leadersx
get_missing_playersx

Top 5 leagues (Understat): EPL, La Liga, Bundesliga, Serie A, Ligue 1. PL only (FPL): Premier League — injury news, player stats, ownership, ICT index. All leagues: via ESPN — scores, standings, schedules, match summaries, lineups, team stats. Transfermarkt: Works for any player with a tm_player_id — market values and transfer history.

Note: MLS uses a different season structure (spring-fall calendar). Use get_current_season(competition_id="mls") to detect the right season_id.

ID Conventions

  • season_id: {league-slug}-{year} e.g. "premier-league-2025", "la-liga-2025"
  • competition_id: league slug e.g. "premier-league", "serie-a", "champions-league"
  • team_id: ESPN team ID (numeric string) e.g. "359" (Arsenal), "86" (Real Madrid)
  • event_id: ESPN event ID (numeric string) e.g. "740847"
  • fpl_id: FPL element ID or code (PL players only)
  • tm_player_id: Transfermarkt player ID e.g. "433177" (Saka), "342229" (Mbappe)

Commands

get_current_season

Detect current season for a competition. Works for all leagues.

  • competition_id (str, required): Competition slug

Returns data.competition and data.season:

{"competition": {"id": "premier-league", "name": "Premier League"}, "season": {"id": "premier-league-2025", "name": "2025-26 English Premier League", "year": "2025"}}

get_competitions

List available competitions with current season info. No params. Works for all leagues.

Returns data.competitions[] with id, name, code, current_season.

get_competition_seasons

Get available seasons for a competition. Works for all leagues.

  • competition_id (str, required): Competition slug

get_season_schedule

Get full season match schedule. Works for all leagues.

  • season_id (str, required): Season slug (e.g., "premier-league-2025")

Returns data.schedules[] — same shape as events below.

get_season_standings

Get league table for a season. Works for all leagues.

  • season_id (str, required): Season slug

Returns data.standings[].entries[]:

{
  "position": 1,
  "team": {"id": "359", "name": "Arsenal", "short_name": "Arsenal", "abbreviation": "ARS", "crest": "https://..."},
  "played": 26, "won": 17, "drawn": 6, "lost": 3,
  "goals_for": 50, "goals_against": 18, "goal_difference": 32, "points": 57
}

get_season_leaders

Get top scorers/leaders for a season. Premier League only (via FPL).

  • season_id (str, required): Season slug (must be premier-league-*)

Returns data.leaders[] — note: player name is nested under .player.name:

{
  "player": {"id": "223094", "name": "Erling Haaland", "first_name": "Erling", "last_name": "Haaland", "position": "Forward"},
  "team": {"id": "43", "name": "Man City"},
  "goals": 22, "assists": 6, "penalties": 0, "played_matches": 25
}

Returns empty for non-PL leagues.

get_season_teams

Get teams in a season. Works for all leagues.

  • season_id (str, required): Season slug

search_team

Search for a team by name across all leagues (or a specific one). Uses fuzzy matching.

  • query (str, required): Team name to search (e.g., "Corinthians", "Barcelona", "Man Utd")
  • competition_id (str, optional): Limit search to one league (e.g., "serie-a-brazil", "premier-league")

Returns data.results[] with team, competition, and season for each match:

{"team": {"id": "874", "name": "Corinthians"}, "competition": {"id": "serie-a-brazil", "name": "Serie A Brazil"}, "season": {"id": "serie-a-brazil-2025", "year": "2025"}}

get_team_profile

Get basic team info (name, crest, venue). Does not return squad/roster — use get_season_leaders to find PL player IDs, then get_player_profile for individual player data.

  • team_id (str, required): ESPN team ID
  • league_slug (str, optional): League hint (faster resolution)

Returns data.team and data.venue. data.players[] is empty — see "Deep dive on a PL team" example below for the recommended workflow.

get_daily_schedule

Get all matches for a specific date across all leagues.

  • date (str, optional): Date in YYYY-MM-DD format. Defaults to today.

Returns data.date and data.events[]:

{
  "id": "748381", "status": "not_started", "start_time": "2026-02-16T20:00Z",
  "competition": {"id": "la-liga", "name": "La Liga"},
  "season": {"id": "la-liga-2025", "year": "2025"},
  "venue": {"name": "Estadi Montilivi", "city": "Girona"},
  "competitors": [
    {"team": {"id": "9812", "name": "Girona", "abbreviation": "GIR"}, "qualifier": "home", "score": 0},
    {"team": {"id": "83", "name": "Barcelona", "abbreviation": "BAR"}, "qualifier": "away", "score": 0}
  ],
  "scores": {"home": 0, "away": 0}
}

Status values: "not_started", "live", "halftime", "closed", "postponed".

get_event_summary

Get match summary with scores. Works for all leagues.

  • event_id (str, required): Match/event ID

Returns data.event (same shape as daily schedule events).

get_event_lineups

Get match lineups. Works for all leagues (when available from ESPN).

  • event_id (str, required): Match/event ID

Returns data.lineups[]:

{
  "team": {"id": "364", "name": "Liverpool", "abbreviation": "LIV"},
  "qualifier": "home",
  "formation": "4-3-3",
  "starting": [{"id": "275599", "name": "Caoimhín Kelleher", "position": "Goalkeeper", "shirt_number": 1}],
  "bench": [{"id": "...", "name": "...", "position": "...", "shirt_number": 62}]
}

get_event_statistics

Get match team statistics. Works for all leagues.

  • event_id (str, required): Match/event ID

Returns data.teams[]:

{
  "team": {"id": "244", "name": "Brentford"},
  "qualifier": "home",
  "statistics": {"ball_possession": "40.8", "shots_total": "10", "shots_on_target": "3", "fouls": "12", "corners": "4"}
}

get_event_timeline

Get match timeline/key events (goals, cards, substitutions). Works for all leagues.

  • event_id (str, required): Match/event ID

Returns data.timeline[] with goal, card, and substitution events.

get_team_schedule

Get schedule for a specific team — includes both past results and upcoming fixtures. Works for all leagues.

  • team_id (str, required): ESPN team ID
  • league_slug (str, optional): League hint (faster resolution)
  • season_year (str, optional): Season year filter
  • competition_id (str, optional): Filter results to a single competition (e.g., "serie-a-brazil", "premier-league")

get_head_to_head

UNAVAILABLE — requires licensed data. Do not call this command; it will return empty results. Instead, use get_team_schedule for both teams and filter overlapping matches manually.

  • team_id (str, required): First team ID
  • team_id_2 (str, required): Second team ID

get_event_xg

Get expected goals (xG) data from Understat. Top 5 leagues only: EPL, La Liga, Bundesliga, Serie A, Ligue 1. Returns empty for other leagues.

  • event_id (str, required): Match/event ID

Returns data.teams[] and data.shots[]:

{"team": {"id": "244", "name": "Brentford"}, "qualifier": "home", "xg": 1.812}

data.shots[] contains individual shot data with xG per shot. Note: very recent matches (last 24-48h) may not be indexed on Understat yet.

get_event_players_statistics

Get player-level match statistics with xG enrichment. Works for all leagues (basic stats from ESPN). xG/xA enrichment only for top 5 leagues (Understat).

  • event_id (str, required): Match/event ID

Returns data.teams[].players[]:

{
  "id": "...", "name": "Bukayo Saka", "position": "Midfielder", "shirt_number": 7, "starter": true,
  "statistics": {"appearances": "1", "shotsTotal": "3", "shotsOnTarget": "1", "foulsCommitted": "1", "xg": "0.45", "xa": "0.12"}
}

xg and xa fields only present for top 5 leagues.

get_missing_players

Get injured/missing/doubtful players. Premier League only (via FPL). Returns empty for other leagues.

  • season_id (str, required): Season slug (must be premier-league-*)

Returns data.teams[].players[]:

{
  "id": "463748", "name": "Mikel Merino Zazón", "web_name": "Merino",
  "position": "Midfielder", "status": "injured",
  "news": "Foot injury - Unknown return date",
  "chance_of_playing_this_round": 0, "chance_of_playing_next_round": 0
}

Status values: "injured", "unavailable", "doubtful", "suspended".

get_season_transfers

Get transfer history for specific players via Transfermarkt. Works for any league.

  • season_id (str, required): Season slug (used to filter transfers by year)
  • tm_player_ids (list, required): Transfermarkt player IDs

Returns data.transfers[]:

{
  "player_tm_id": "433177", "date": "2019-07-01", "season": "19/20",
  "from_team": {"name": "Arsenal U23", "image": "https://..."},
  "to_team": {"name": "Arsenal", "image": "https://..."},
  "fee": "-", "market_value": "-"
}

get_player_season_stats

Get player season stats via ESPN overview endpoint. Works for any league with ESPN athlete IDs.

  • player_id (str, required): ESPN athlete ID
  • league_slug (str, optional): League slug hint (e.g., "eng.1", "esp.1"). Defaults to auto-detect.

Returns season stats (goals, assists, appearances, etc.) and game log when available.

get_player_profile

Get player profile. Works for any player if you have their Transfermarkt or FPL ID. At least one ID required.

  • fpl_id (str, optional): FPL player ID (PL players only)
  • tm_player_id (str, optional): Transfermarkt player ID (any league)

With tm_player_id, returns data.player with:

{
  "market_value": {"value": 130000000, "currency": "EUR", "formatted": "€130.00m", "date": "09/12/2025", "age": "24", "club": "Arsenal FC"},
  "market_value_history": [{"value": 7000000, "formatted": "€7.00m", "date": "23/09/2019", "club": "Arsenal FC"}],
  "transfer_history": [
    {"player_tm_id": "433177", "date": "2019-07-01", "season": "19/20", "from_team": {"name": "Arsenal U23"}, "to_team": {"name": "Arsenal"}, "fee": "-"}
  ]
}

With fpl_id, also includes data.player.fpl_data with FPL stats (points, form, ICT index, ownership, etc.).

Supported Leagues

Premier League, La Liga, Bundesliga, Serie A, Ligue 1, MLS, Championship, Eredivisie, Primeira Liga, Serie A Brazil, Champions League, European Championship, World Cup.

Data Sources

SourceWhat it providesLeague coverage
ESPNScores, standings, schedules, lineups, match stats, timelinesAll 13 leagues
openfootballSchedules, standings, team lists (fallback when ESPN is down)10 leagues (all except CL, Euros, World Cup)
UnderstatxG per match, xG per shot, player xG/xATop 5 (EPL, La Liga, Bundesliga, Serie A, Ligue 1)
FPLTop scorers, injuries, player stats, ownershipPremier League only
TransfermarktMarket values, transfer historyAny player (requires tm_player_id)

For licensed data with full coverage across all sports (Sportradar, Opta, Genius Sports), see Machina Sports.

Examples

User: "Show me the Premier League table"

  1. Call get_current_season(competition_id="premier-league") to get the current season_id
  2. Call get_season_standings(season_id=<season_id from step 1>)
  3. Present standings table with position, team, played, won, drawn, lost, GD, points

User: "How did Arsenal vs Liverpool go?"

  1. Call get_daily_schedule() or get_team_schedule(team_id="359") to find the event_id
  2. Call get_event_summary(event_id="...") for the score
  3. Call get_event_statistics(event_id="...") for possession, shots, etc.
  4. Call get_event_xg(event_id="...") for xG comparison (EPL — top 5 only)
  5. Present match report with scores, key stats, and xG

User: "Deep dive on Chelsea's recent form"

  1. Call search_team(query="Chelsea") → team_id=363, competition=premier-league
  2. Call get_team_schedule(team_id="363", competition_id="premier-league") → find recent closed events
  3. For each recent match, call in parallel:

- get_event_xg(event_id="...") for xG comparison and shot map - get_event_statistics(event_id="...") for possession, shots, passes - get_event_players_statistics(event_id="...") for individual player xG/xA

  1. Call get_missing_players(season_id=<season_id>) → filter Chelsea's injured/doubtful players
  2. Call get_season_leaders(season_id=<season_id>) → filter Chelsea players, get their FPL IDs
  3. Call get_player_profile(fpl_id="...", tm_player_id="...") for key players — combine FPL stats (form, ownership, ICT) with Transfermarkt data (market value, transfer history)
  4. Present: xG trend across matches, key player stats, injury report, market values

User: "What's Saka's market value?"

  1. Call get_player_profile(tm_player_id="433177") for Transfermarkt data
  2. Optionally add fpl_id for FPL stats if Premier League player
  3. Present market value, value history, and transfer history

User: "Tell me about Corinthians"

  1. Call search_team(query="Corinthians") → team_id=874, competition=serie-a-brazil
  2. Call get_team_schedule(team_id="874", competition_id="serie-a-brazil") for fixtures
  3. Pick a recent match and call get_event_timeline(event_id="...") for goals, cards, subs
  4. Note: xG, FPL stats, and season leaders are NOT available for Brazilian Serie A

Error Handling

When a command fails (wrong event_id, missing data, network error, etc.), do not surface the raw error to the user. Instead:

  1. Catch it silently — treat the failure as an exploratory miss, not a fatal error.
  2. Try alternatives — e.g., if an event_id returns no data, call get_daily_schedule() or get_team_schedule() to discover the correct ID. If ESPN is down, openfootball data may still be available via get_season_standings or get_season_schedule.
  3. Only report failure after exhausting alternatives — and when you do, give a clean human-readable message (e.g., "I couldn't find that match — can you confirm the teams or date?"), not a traceback or raw CLI output.

This is especially important when the agent is responding through messaging platforms (Telegram, Slack, etc.) where raw exec failures look broken.

Common Mistakes

These are the ONLY valid commands. Do not invent or guess command names:

  • get_current_season
  • get_competitions
  • get_competition_seasons
  • get_season_schedule
  • get_season_standings
  • get_season_leaders
  • get_season_teams
  • search_team
  • get_team_profile
  • get_daily_schedule
  • get_event_summary
  • get_event_lineups
  • get_event_statistics
  • get_event_timeline
  • get_team_schedule
  • get_head_to_head
  • get_event_xg
  • get_event_players_statistics
  • get_missing_players
  • get_season_transfers
  • get_player_profile
  • get_player_season_stats

Commands that DO NOT exist (commonly hallucinated):

  • get_standings — the correct command is get_season_standings (requires season_id).
  • get_live_scores — not available. Use get_daily_schedule() for today's matches; status field shows "live" for in-progress games.
  • get_team_squad / get_team_roster — get_team_profile does NOT return players. Use get_season_leaders for PL player IDs, then get_player_profile for individual data.
  • get_transfers — the correct command is get_season_transfers (requires season_id + tm_player_ids).
  • get_match_results / get_match — use get_event_summary with an event_id.
  • get_player_stats — use get_event_players_statistics for match-level stats, or get_player_profile for career data.

Other common mistakes:

  • Using get_season_leaders or get_missing_players on non-PL leagues — they return empty. Check the Data Coverage table.
  • Using get_event_xg on leagues outside the top 5 — returns empty. Only works for EPL, La Liga, Bundesliga, Serie A, Ligue 1.
  • Guessing team_id or event_id instead of discovering them via search_team, get_daily_schedule, or get_season_schedule.

If you're unsure whether a command exists, check this list. Do not try commands that aren't listed above.

Troubleshooting

  • sports-skills command not found: Package not installed. Run pip install sports-skills. If the package is not found on PyPI, install from GitHub: pip install git+https://github.com/machina-sports/sports-skills.git. Requires Python 3.10+ — see Setup section.
  • ModuleNotFoundError: No module named 'sports_skills': Same as above — install the package. Prefer the CLI over Python imports to avoid path issues.
  • Empty results for PL-only commands on other leagues: get_season_leaders and get_missing_players only return data for Premier League. They silently return empty for other leagues — check the Data Coverage table.
  • get_team_profile returns empty players: This is expected — squad rosters are not available. To get player data for a PL team, use get_season_leaders to find players and their FPL IDs, then get_player_profile(fpl_id="...") for detailed stats. For Transfermarkt data, you need the player's tm_player_id.
  • Finding FPL IDs and Transfermarkt IDs: Use get_season_leaders(season_id="premier-league-2025") to discover FPL IDs for PL players. Transfermarkt IDs must be looked up on transfermarkt.com — the ID is the number at the end of the player's URL. Well-known examples: Cole Palmer = 568177, Bukayo Saka = 433177, Mbappe = 342229.
  • No xG for recent matches: Understat data may lag 24-48 hours after a match ends. If get_event_xg returns empty for a recent top-5 match, try again later.
  • Wrong season_id format: Must be {league-slug}-{year} e.g. "premier-league-2025". Not "2025-2026", not "EPL-2025". Use get_current_season() to discover the correct format.
  • Team/event IDs unknown: Use search_team(query="team name") to find team IDs by name, or get_season_teams to list all teams in a season. Use get_daily_schedule or get_season_schedule to find event IDs. IDs are ESPN numeric strings.

平台分布

Local Agent

74.92%
按下载量换算79

安全审计

暂无安全审计结果可展示。

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills