From machina-sports-sports-skills
Retrieves sports metadata (team logos, player photos, stadium info) from TheSportsDB free API across 100+ leagues. No API key required, zero config.
How this skill is triggered — by the user, by Claude, or both
Slash command
/machina-sports-sports-skills:metadataThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Wraps the free [TheSportsDB](https://www.thesportsdb.com) API for team logos, player photos, and stadium info. No API key, no signup.
Wraps the free TheSportsDB API for team logos, player photos, and stadium info. No API key, no signup.
sports-skills metadata get_team_logo --team_name="Arsenal"
sports-skills metadata get_team_info --team_name="Real Madrid"
sports-skills metadata get_player_photo --player_name="Messi"
sports-skills metadata search_teams --query="Manchester"
sports-skills metadata search_players --query="LeBron"
Python SDK:
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 calling any metadata command, verify:
"Los Angeles Lakers", not "Lakers").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 "first result regardless of sport," which may return the wrong team."Messi", "LeBron James", "Tiger Woods").Teams (logos, banners, stadium info):
Players (photos, bios):
Not covered: MMA/UFC, Rugby, Esports, Boxing.
| Command | Required | Optional | Description |
|---|---|---|---|
get_team_logo | team_name | sport | Team logo / badge URL |
get_team_info | team_name | Full team info: stadium, description, social links, banner | |
get_player_photo | player_name | Player photo URL | |
search_teams | query | Fuzzy search for teams across sports | |
search_players | query | Fuzzy search for players across sports |
football get_season_standings) for the standings table.get_team_logo --team_name=<name> to attach a badge URL.get_team_info --team_name="<name>" for stadium, description, founding year, social links.badge and banner URLs — no second call needed.search_teams --query="<partial-name>" to disambiguate.name field from the result for follow-up get_team_info calls.Example 1: Get a Premier League team logo User says: "What does the Arsenal logo look like?" Actions:
get_team_logo(team_name="Arsenal") — sport defaults to "Soccer", which is correct here.
Result: Logo URL, sport, league, and country.Example 2: NBA team — full name required User says: "Get the Lakers logo" Actions:
get_team_logo(team_name="Los Angeles Lakers", sport="Basketball") — both the full name AND the sport filter are needed.
Result: Lakers badge from the NBA branch of TheSportsDB.Example 3: Player photo User says: "Show me a photo of Messi" Actions:
get_player_photo(player_name="Messi").
Result: Player photo URL, sport, team, and nationality.Example 4: Disambiguate "Manchester" User says: "Find me Manchester teams" Actions:
search_teams(query="Manchester").
Result: List of teams matching "Manchester" — Manchester United, Manchester City, etc. — each with sport, league, and country.get_stadium_infoget_team_info.get_league_logoget_team_logo for team badges only.get_player_statsfootball get_player_profile, nba get_player_stats).search_leaguesIf a command is not listed in the Commands table above, it does not exist.
Error: get_team_logo returns the wrong team
Cause: A short or ambiguous team name (e.g., "Lakers", "Arsenal") matched a different sport first
Solution: Pass an explicit sport parameter and use the team's full official name
Error: get_player_photo returns null / empty
Cause: Player not in TheSportsDB, or the name spelling differs (e.g., "Cristiano Ronaldo" vs "Ronaldo")
Solution: Use search_players --query=<partial> first to find the canonical spelling, then retry
Error: Logo URL works but the image is low resolution Cause: TheSportsDB returns the badge as-is from contributors Solution: This is an upstream limitation. Most badges are 200×200 or larger; very small icons indicate a low-quality submission. No workaround.
npx claudepluginhub machina-sports/sports-skillsAccess sports data from TheSportsDB API including team search, past scores, and upcoming fixtures. Useful for sports-related queries and data retrieval.
Provides football/soccer data across 13 leagues including standings, schedules, match stats, xG, transfers, and player profiles. Zero config, no API keys.
Generates original sports journalism articles (previews, live reports, post-game analysis, player profiles) from real-time data via CLI. Use when you need written coverage of games, teams, or players.