Sports metadata via TheSportsDB free API (key=3). Team logos and badges, player photos, stadium info, league info, and biographical data across 100+ leagues. No API key required, zero config.
SkillScore90Maintained
Automatic
◆Research pack
Last verified 10/7/2026
What it changes
Passed 18 of 20 test cases with the skill, and 4 of 20 without it.
Without skill20%
With skill90%
Checks it passed that the model alone missed
Sets sport parameter to Ice Hockey.
States that rugby is not supported.
Indicates that boxing is not supported.
and 14 more in the full report
14 fixed4 passed either way2 still failing0 broke4 errored
Pass-rate lift
+70 pp
Tokens
+39%
Agent turns
0%
Response time
-52%
Model gemini-3.6-flashMeasured 10/7/2026v318 of 24 cases passed with skill · 20 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 14
Prompt
I need to search for all soccer leagues matching 'La Liga' to get their identifiers. Which search command should I run?
What was checked, without and with the skill
Checked
Without skill
With skill
States that search_leagues command does not exist.
Missed
Passed
case-11 · gemini-3.6-flash · 10/7/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md135 linessingle file
Sports Metadata
Wraps the free TheSportsDB API for team logos, player photos, and stadium info. No API key, no signup.
from sports_skills import metadata
metadata.get_team_logo(team_name="Arsenal")
metadata.get_team_info(team_name="Real Madrid")
metadata.get_player_photo(player_name="Messi")
metadata.search_teams(query="Manchester")
metadata.search_players(query="LeBron")
CRITICAL: Before Any Query
CRITICAL: Before calling any metadata command, verify:
Team names use the full official name — especially for NBA (e.g., "Los Angeles Lakers", not"Lakers").
For get_team_logo, the sport parameter defaults to "Soccer". Pass sport="Basketball", "American Football", "Baseball", "Ice Hockey", "Motorsport", or "Cricket" when the team is not a soccer team — otherwise the lookup falls back to a close name match in any sport. If no result is close to the requested name, it returns an error listing what TheSportsDB offered.
Player searches use just the player name (e.g., "Messi", "LeBron James", "Tiger Woods").
Coverage
Teams (logos, banners, stadium info):
Soccer: 100+ leagues worldwide (Premier League, La Liga, Bundesliga, Serie A, MLS, and many more)
NFL data via ESPN public endpoints plus an nflverse backend for schedules, weekly rosters, play-by-play, and normalized player/team stat tables. Zero config, no API keys.
Use when: user asks about NFL scores, standings, team rosters, schedules, game stats, box scores, play-by-play, injuries, transactions, betting futures, depth charts, team/player statistics, or NFL news.
Don't use when: user asks about football/soccer (use football-data), college football (use cfb-data), or other sports.