{
  "schemaVersion": "1.0",
  "item": {
    "slug": "baseball",
    "name": "Baseball",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/khaney64/baseball",
    "canonicalUrl": "https://clawhub.ai/khaney64/baseball",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/baseball",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=baseball",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/baseball.py",
      "scripts/mlb_api.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/baseball"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/baseball",
    "agentPageUrl": "https://openagent3.xyz/skills/baseball/agent",
    "manifestUrl": "https://openagent3.xyz/skills/baseball/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/baseball/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Baseball — MLB Game Tracker",
        "body": "Fetch real-time MLB game schedules, live game status, box scores, player search, and season statistics via the MLB Stats API."
      },
      {
        "title": "Quick Start",
        "body": "# List today's games\npython scripts/baseball.py games\n\n# Live game status for the Phillies\npython scripts/baseball.py live PHI\n\n# Box score for a specific game\npython scripts/baseball.py score 718415\n\n# Box score for last Tuesday's Phillies game\npython scripts/baseball.py score PHI --date 02/15/2026\n\n# Search for a player\npython scripts/baseball.py player Judge\n\n# Search with team filter\npython scripts/baseball.py player Wheeler --team PHI\n\n# Player season stats by ID\npython scripts/baseball.py stats 592450\n\n# Player season stats by name\npython scripts/baseball.py stats Aaron Judge --season 2025"
      },
      {
        "title": "List Teams",
        "body": "# Show all team abbreviations\npython scripts/baseball.py teams"
      },
      {
        "title": "List Games",
        "body": "# Today's games\npython scripts/baseball.py games\n\n# Games on a specific date\npython scripts/baseball.py games --date 09/15/2025\n\n# Next 7 days of games\npython scripts/baseball.py games --days 7\n\n# Upcoming week for a specific team\npython scripts/baseball.py games --team PHI --days 7\n\n# Filter by team\npython scripts/baseball.py games --team PHI\n\n# JSON output\npython scripts/baseball.py games --format json"
      },
      {
        "title": "Live Game Status",
        "body": "Show live count, runners, batter/pitcher matchup, and line score for an in-progress game.\n\n# By team abbreviation (finds today's game)\npython scripts/baseball.py live PHI\n\n# By game PK\npython scripts/baseball.py live 718415\n\n# Game status from a specific date\npython scripts/baseball.py live NYY --date 02/10/2026\n\n# JSON output\npython scripts/baseball.py live PHI --format json"
      },
      {
        "title": "Box Score",
        "body": "Show the line score for any game (in-progress or final).\n\n# By team abbreviation (today's game)\npython scripts/baseball.py score PHI\n\n# By game PK (works for any game, past or present)\npython scripts/baseball.py score 718415\n\n# By team abbreviation for a past date\npython scripts/baseball.py score PHI --date 02/15/2026\n\n# JSON output\npython scripts/baseball.py score PHI --format json"
      },
      {
        "title": "Search Players",
        "body": "# Search by last name\npython scripts/baseball.py player Judge\n\n# Search by full name\npython scripts/baseball.py player Aaron Judge\n\n# Filter by team\npython scripts/baseball.py player Wheeler --team PHI\n\n# JSON output\npython scripts/baseball.py player Judge --format json"
      },
      {
        "title": "Player Stats",
        "body": "# By player ID (from player search results)\npython scripts/baseball.py stats 592450\n\n# By player name (auto-resolves if unique match)\npython scripts/baseball.py stats Aaron Judge\n\n# Specific season\npython scripts/baseball.py stats Aaron Judge --season 2024\n\n# JSON output\npython scripts/baseball.py stats 592450 --format json"
      },
      {
        "title": "Text (Default)",
        "body": "games:\n\nMLB Games - 09/15/2025\nAway              Record     Home              Record     Time       Status               Game ID\n-----------------------------------------------------------------------------------------------\nPHI Phillies      85-62      NYM Mets          80-67      7:10 PM    In Progress          718415\nBOS Red Sox       72-75      TB Rays           78-69      6:40 PM    Final (5-3)          718420\n\nlive:\n\nPHI Phillies 3  @  NYM Mets 5\n  Top 6th  |  1 out  |  2-1 count\n  Bases: 1B [X]  2B [ ]  3B [X]\n  AB: Kyle Schwarber  vs  P: Sean Manaea\n  Last: Trea Turner singled on a line drive to left field.\n\n       1  2  3  4  5  6  7  8  9    R  H  E\nPHI    0  1  0  2  0  0  -  -  -    3  7  1\nNYM    2  0  0  1  2  0  -  -  -    5  9  0\n\nscore:\n\nFinal: PHI Phillies 6  @  NYM Mets 4\n\n       1  2  3  4  5  6  7  8  9    R  H  E\nPHI    0  1  0  2  0  0  2  0  1    6  11  0\nNYM    2  0  0  1  2  0  0  0  0    4   9  1\n\nplayer:\n\nPlayer Search: \"Judge\"\nID         Name                      Pos   Team                 #     B/T   Age\n--------------------------------------------------------------------------------\n592450     Aaron Judge               RF    NYY Yankees          99    R/R   33\n\nstats (batting):\n\nAaron Judge  #99  RF  |  New York Yankees  |  R/R  |  Age 33\n2025 Season Batting Statistics\n  G     AB    R     H    2B   3B   HR   RBI   SB   BB    K    AVG    OBP    SLG    OPS\n  152   541   137   179  30   2    53   114   12   124   160  .331   .457   .688   1.145\n\nstats (pitching):\n\nZack Wheeler  #45  P  |  Philadelphia Phillies  |  L/R  |  Age 35\n2025 Season Pitching Statistics\n  G    GS   W    L    ERA    IP      H    R    ER   HR   SO   BB   SV   HLD  WHIP   K/9    BB/9\n  30   30   14   6    2.85   198.1   155  68   63   18   210  42   0    0    0.99   9.55   1.91"
      },
      {
        "title": "JSON",
        "body": "{\n  \"date\": \"09/15/2025\",\n  \"games\": [\n    {\n      \"game_pk\": 718415,\n      \"status\": \"In Progress\",\n      \"away_team\": {\"id\": 143, \"name\": \"Philadelphia Phillies\", \"abbreviation\": \"PHI\"},\n      \"home_team\": {\"id\": 121, \"name\": \"New York Mets\", \"abbreviation\": \"NYM\"},\n      \"away_record\": \"85-62\",\n      \"home_record\": \"80-67\",\n      \"away_score\": 3,\n      \"home_score\": 5,\n      \"venue\": \"Citi Field\",\n      \"start_time\": \"2025-09-15T19:10:00-04:00\"\n    }\n  ]\n}\n\nplayer search (JSON):\n\n{\n  \"query\": \"Judge\",\n  \"players\": [\n    {\n      \"id\": 592450,\n      \"full_name\": \"Aaron Judge\",\n      \"position\": \"RF\",\n      \"position_name\": \"Right Fielder\",\n      \"primary_number\": \"99\",\n      \"bats\": \"R\",\n      \"throws\": \"R\",\n      \"age\": 33,\n      \"team\": \"New York Yankees\",\n      \"team_abbreviation\": \"NYY\",\n      \"active\": true\n    }\n  ]\n}"
      },
      {
        "title": "Output Fields",
        "body": "game_pk — Unique MLB game identifier\nstatus — Game state: Scheduled, Pre-Game, Warmup, In Progress, Final, Postponed, etc.\naway_team / home_team — Team id, full name, and abbreviation\naway_record / home_record — Win-loss record (schedule only)\naway_score / home_score — Current or final score\ninning / inning_half — Current inning number and half (Top/Bottom)\nballs / strikes / outs — Current count\nrunners — Base occupancy: first, second, third (true/false)\nmatchup — Current batter and pitcher names\nlast_play — Description of the last completed play\nline_score — Inning-by-inning runs with R/H/E totals\nvenue — Ballpark name\nstart_time — Scheduled start in local time (ISO 8601)\nid — MLB player identifier (use with stats command)\nfull_name — Player's full name\nposition — Position abbreviation (RF, P, C, SS, etc.)\nprimary_number — Jersey number\nbats / throws — Batting side and throwing hand (R, L, S)\nbatting — Season batting stats (avg, obp, slg, ops, hr, rbi, etc.)\npitching — Season pitching stats (era, wins, losses, whip, strikeouts, etc.)"
      },
      {
        "title": "Team Abbreviations",
        "body": "Run python scripts/baseball.py teams to list all abbreviations. Partial team names also work (e.g., \"Phillies\", \"Dodgers\", \"Red Sox\").\n\nARI, ATL, BAL, BOS, CHC, CWS, CIN, CLE, COL, DET, HOU, KC, LAA, LAD, MIA, MIL, MIN, NYM, NYY, OAK, PHI, PIT, SD, SF, SEA, STL, TB, TEX, TOR, WSH"
      },
      {
        "title": "Notes",
        "body": "Data is sourced from the MLB Stats API. See copyright.\nThe MLB Stats API is free and open — no API key or authentication is required. Please don't abuse it. Excessive requests (rapid polling, bulk scraping, etc.) may result in your IP being blocked. When checking live games, poll no more than once every 15 seconds.\nThe live and score commands accept either a numeric game PK or a team abbreviation. When using an abbreviation, the script looks up today's schedule to find the team's game. Use --date MM/DD/YYYY to look up a game on a different date.\nThe games text output includes a Game ID column. Use this ID with score or live to drill into a specific game — especially useful for doubleheaders where team abbreviation alone is ambiguous.\nThe player command searches active MLB players. Use stats <ID> with the player ID from search results to view season statistics.\nThe stats command accepts either a numeric player ID or a player name. If a name matches multiple players, you'll be prompted to use a specific ID.\nDuring the offseason, use --season to view stats from a previous year (e.g., --season 2025)."
      }
    ],
    "body": "Baseball — MLB Game Tracker\n\nFetch real-time MLB game schedules, live game status, box scores, player search, and season statistics via the MLB Stats API.\n\nQuick Start\n# List today's games\npython scripts/baseball.py games\n\n# Live game status for the Phillies\npython scripts/baseball.py live PHI\n\n# Box score for a specific game\npython scripts/baseball.py score 718415\n\n# Box score for last Tuesday's Phillies game\npython scripts/baseball.py score PHI --date 02/15/2026\n\n# Search for a player\npython scripts/baseball.py player Judge\n\n# Search with team filter\npython scripts/baseball.py player Wheeler --team PHI\n\n# Player season stats by ID\npython scripts/baseball.py stats 592450\n\n# Player season stats by name\npython scripts/baseball.py stats Aaron Judge --season 2025\n\nUsage\nList Teams\n# Show all team abbreviations\npython scripts/baseball.py teams\n\nList Games\n# Today's games\npython scripts/baseball.py games\n\n# Games on a specific date\npython scripts/baseball.py games --date 09/15/2025\n\n# Next 7 days of games\npython scripts/baseball.py games --days 7\n\n# Upcoming week for a specific team\npython scripts/baseball.py games --team PHI --days 7\n\n# Filter by team\npython scripts/baseball.py games --team PHI\n\n# JSON output\npython scripts/baseball.py games --format json\n\nLive Game Status\n\nShow live count, runners, batter/pitcher matchup, and line score for an in-progress game.\n\n# By team abbreviation (finds today's game)\npython scripts/baseball.py live PHI\n\n# By game PK\npython scripts/baseball.py live 718415\n\n# Game status from a specific date\npython scripts/baseball.py live NYY --date 02/10/2026\n\n# JSON output\npython scripts/baseball.py live PHI --format json\n\nBox Score\n\nShow the line score for any game (in-progress or final).\n\n# By team abbreviation (today's game)\npython scripts/baseball.py score PHI\n\n# By game PK (works for any game, past or present)\npython scripts/baseball.py score 718415\n\n# By team abbreviation for a past date\npython scripts/baseball.py score PHI --date 02/15/2026\n\n# JSON output\npython scripts/baseball.py score PHI --format json\n\nSearch Players\n# Search by last name\npython scripts/baseball.py player Judge\n\n# Search by full name\npython scripts/baseball.py player Aaron Judge\n\n# Filter by team\npython scripts/baseball.py player Wheeler --team PHI\n\n# JSON output\npython scripts/baseball.py player Judge --format json\n\nPlayer Stats\n# By player ID (from player search results)\npython scripts/baseball.py stats 592450\n\n# By player name (auto-resolves if unique match)\npython scripts/baseball.py stats Aaron Judge\n\n# Specific season\npython scripts/baseball.py stats Aaron Judge --season 2024\n\n# JSON output\npython scripts/baseball.py stats 592450 --format json\n\nOutput Format\nText (Default)\n\ngames:\n\nMLB Games - 09/15/2025\nAway              Record     Home              Record     Time       Status               Game ID\n-----------------------------------------------------------------------------------------------\nPHI Phillies      85-62      NYM Mets          80-67      7:10 PM    In Progress          718415\nBOS Red Sox       72-75      TB Rays           78-69      6:40 PM    Final (5-3)          718420\n\n\nlive:\n\nPHI Phillies 3  @  NYM Mets 5\n  Top 6th  |  1 out  |  2-1 count\n  Bases: 1B [X]  2B [ ]  3B [X]\n  AB: Kyle Schwarber  vs  P: Sean Manaea\n  Last: Trea Turner singled on a line drive to left field.\n\n       1  2  3  4  5  6  7  8  9    R  H  E\nPHI    0  1  0  2  0  0  -  -  -    3  7  1\nNYM    2  0  0  1  2  0  -  -  -    5  9  0\n\n\nscore:\n\nFinal: PHI Phillies 6  @  NYM Mets 4\n\n       1  2  3  4  5  6  7  8  9    R  H  E\nPHI    0  1  0  2  0  0  2  0  1    6  11  0\nNYM    2  0  0  1  2  0  0  0  0    4   9  1\n\n\nplayer:\n\nPlayer Search: \"Judge\"\nID         Name                      Pos   Team                 #     B/T   Age\n--------------------------------------------------------------------------------\n592450     Aaron Judge               RF    NYY Yankees          99    R/R   33\n\n\nstats (batting):\n\nAaron Judge  #99  RF  |  New York Yankees  |  R/R  |  Age 33\n2025 Season Batting Statistics\n  G     AB    R     H    2B   3B   HR   RBI   SB   BB    K    AVG    OBP    SLG    OPS\n  152   541   137   179  30   2    53   114   12   124   160  .331   .457   .688   1.145\n\n\nstats (pitching):\n\nZack Wheeler  #45  P  |  Philadelphia Phillies  |  L/R  |  Age 35\n2025 Season Pitching Statistics\n  G    GS   W    L    ERA    IP      H    R    ER   HR   SO   BB   SV   HLD  WHIP   K/9    BB/9\n  30   30   14   6    2.85   198.1   155  68   63   18   210  42   0    0    0.99   9.55   1.91\n\nJSON\n{\n  \"date\": \"09/15/2025\",\n  \"games\": [\n    {\n      \"game_pk\": 718415,\n      \"status\": \"In Progress\",\n      \"away_team\": {\"id\": 143, \"name\": \"Philadelphia Phillies\", \"abbreviation\": \"PHI\"},\n      \"home_team\": {\"id\": 121, \"name\": \"New York Mets\", \"abbreviation\": \"NYM\"},\n      \"away_record\": \"85-62\",\n      \"home_record\": \"80-67\",\n      \"away_score\": 3,\n      \"home_score\": 5,\n      \"venue\": \"Citi Field\",\n      \"start_time\": \"2025-09-15T19:10:00-04:00\"\n    }\n  ]\n}\n\n\nplayer search (JSON):\n\n{\n  \"query\": \"Judge\",\n  \"players\": [\n    {\n      \"id\": 592450,\n      \"full_name\": \"Aaron Judge\",\n      \"position\": \"RF\",\n      \"position_name\": \"Right Fielder\",\n      \"primary_number\": \"99\",\n      \"bats\": \"R\",\n      \"throws\": \"R\",\n      \"age\": 33,\n      \"team\": \"New York Yankees\",\n      \"team_abbreviation\": \"NYY\",\n      \"active\": true\n    }\n  ]\n}\n\nOutput Fields\ngame_pk — Unique MLB game identifier\nstatus — Game state: Scheduled, Pre-Game, Warmup, In Progress, Final, Postponed, etc.\naway_team / home_team — Team id, full name, and abbreviation\naway_record / home_record — Win-loss record (schedule only)\naway_score / home_score — Current or final score\ninning / inning_half — Current inning number and half (Top/Bottom)\nballs / strikes / outs — Current count\nrunners — Base occupancy: first, second, third (true/false)\nmatchup — Current batter and pitcher names\nlast_play — Description of the last completed play\nline_score — Inning-by-inning runs with R/H/E totals\nvenue — Ballpark name\nstart_time — Scheduled start in local time (ISO 8601)\nid — MLB player identifier (use with stats command)\nfull_name — Player's full name\nposition — Position abbreviation (RF, P, C, SS, etc.)\nprimary_number — Jersey number\nbats / throws — Batting side and throwing hand (R, L, S)\nbatting — Season batting stats (avg, obp, slg, ops, hr, rbi, etc.)\npitching — Season pitching stats (era, wins, losses, whip, strikeouts, etc.)\nTeam Abbreviations\n\nRun python scripts/baseball.py teams to list all abbreviations. Partial team names also work (e.g., \"Phillies\", \"Dodgers\", \"Red Sox\").\n\nARI, ATL, BAL, BOS, CHC, CWS, CIN, CLE, COL, DET, HOU, KC, LAA, LAD, MIA, MIL, MIN, NYM, NYY, OAK, PHI, PIT, SD, SF, SEA, STL, TB, TEX, TOR, WSH\n\nNotes\nData is sourced from the MLB Stats API. See copyright.\nThe MLB Stats API is free and open — no API key or authentication is required. Please don't abuse it. Excessive requests (rapid polling, bulk scraping, etc.) may result in your IP being blocked. When checking live games, poll no more than once every 15 seconds.\nThe live and score commands accept either a numeric game PK or a team abbreviation. When using an abbreviation, the script looks up today's schedule to find the team's game. Use --date MM/DD/YYYY to look up a game on a different date.\nThe games text output includes a Game ID column. Use this ID with score or live to drill into a specific game — especially useful for doubleheaders where team abbreviation alone is ambiguous.\nThe player command searches active MLB players. Use stats <ID> with the player ID from search results to view season statistics.\nThe stats command accepts either a numeric player ID or a player name. If a name matches multiple players, you'll be prompted to use a specific ID.\nDuring the offseason, use --season to view stats from a previous year (e.g., --season 2025)."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/khaney64/baseball",
    "publisherUrl": "https://clawhub.ai/khaney64/baseball",
    "owner": "khaney64",
    "version": "0.1.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/baseball",
    "downloadUrl": "https://openagent3.xyz/downloads/baseball",
    "agentUrl": "https://openagent3.xyz/skills/baseball/agent",
    "manifestUrl": "https://openagent3.xyz/skills/baseball/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/baseball/agent.md"
  }
}