Best for
- Use when: user asks for a team logo, crest, badge, banner, jersey, kit, player photo or headshot, stadium info, club description, or wants to search for teams or players by name across sports.
machina-sports/sports-skills/skills/metadata/SKILL.md
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. Use when: user asks for a team logo, crest, badge, banner, jersey, kit, player photo or headshot, stadium info, club description, or wants to search for teams or players by name across sports. Good for enriching responses from other skills with images and visual identifiers. Don't use when: user asks for sc
Decision brief
Wraps the free TheSportsDB API for team logos, player photos, and stadium info. No API key, no signup.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/machina-sports/sports-skills --skill "skills/metadata"Inspect the Agent Skill "metadata" from https://github.com/machina-sports/sports-skills/blob/bf4adb22895e6f57ef8c48ca62af7306ad4628a5/skills/metadata/SKILL.md at commit bf4adb22895e6f57ef8c48ca62af7306ad4628a5. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “Quick Start” section in the pinned source before continuing.
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 getteamlogo, the sport parameter defaults to "Soccer". Pass sport="Basketball", "American Football", "Baseball",…
Teams (logos, banners, stadium info): - Soccer: 100+ leagues worldwide (Premier League, La Liga, Bundesliga, Serie A, MLS, and many more) - NFL (American Football) - NBA (Basketball) — requires full team names - MLB (Baseball) - NHL (Ice Hockey) - F1 (Motorsport) - Cricket (IPL,…
Review the “Commands” section in the pinned source before continuing.
1. Call the sport-specific skill (e.g., football getseasonstandings) for the standings table. 2. For each team in the standings, call getteamlogo --teamname= to attach a badge URL. 3. Render the standings with logos alongside team names.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 210 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
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.
Frequently asked questions
Wraps the free TheSportsDB API for team logos, player photos, and stadium info. No API key, no signup.
The source record exposes this install command: npx skills add https://github.com/machina-sports/sports-skills --skill "skills/metadata". Inspect the command and pinned source before running it.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
oaustegard/claude-skills
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre
narrative-io/narrative-skills-marketplace
Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "
event4u-app/agent-config
Use BEFORE writing or editing any non-trivial UI — inventories components, design tokens, shadcn primitives, and reusable patterns into state.ui_audit. Hard gate for the ui directive set.