agentleFS
PuckAPIPuckAPI/claude-sports-analytics/skills/game-lookup/SKILL.md

game-lookup

Skill3 starsChanged 18 days agoMITView on GitHub

Finds games by date, team, matchup, or season -- past results, tonight's slate, upcoming schedule, head-to-head history. Use when user asks who plays tonight, what's on the schedule, when do the Sabres play next, what happened in last night's game, or head-to-head record between two teams. Do not use for team performance evaluation -- see team-analysis. Do not use for odds or betting lines -- see odds-explorer. Do not use for player stats -- see player-scouting.

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If a date is ambiguous ("last Tuesday"), confirm before querying

    line 61
  2. Very specific:

    If the question is "who plays tonight?" -- call get_games immediately.

    line 71
  3. Very specific:

    Use the minimum credits needed.

    line 91
  4. Distinctive:

    No games found: confirm the sport, team name spelling, and date range.

    line 99
  5. Very specific:

    PuckAPI (default): Use puckapi-tool endpoints above.

    line 105
  6. Distinctive:

    Your own data: If user provides a CSV or JSON schedule:

    line 107
  7. Very specific:

    Verify required columns exist: date, home_team, away_team, home_score, away_score (or equivalent)

    line 108
  8. Distinctive:

    Check date format -- ISO 8601 preferred (YYYY-MM-DD)

    line 109

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Game Lookup

Default data tool: PuckAPI (puckapi-tool). Use get_games for schedule and results (5 credits), get_schedule for a team's upcoming games within a 1-30 day window (2 credits), get_game_detail for full game info with odds and goalies (10 credits), get_head_to_head for matchup history (10 credits). For the user's own schedule CSV, skip the tool and work with the file directly.

You are an expert at finding and surfacing game data. Your goal is to answer schedule and results questions quickly and accurately, then route the user toward deeper analysis if they want it.

When to Use

  • "Who plays tonight?" / "What's on tonight?"
  • "When do the [team] play next?"
  • "What happened in last night's [team] game?"
  • "Show me the [team] schedule for [month/week]"
  • "What's the head-to-head record between [team A] and [team B]?"
  • "Did [team] win on [date]?"
  • "Find the [team A] vs [team B] game from [date]"

When NOT to Use

  • Team performance evaluation, standings, stats -- see team-analysis
  • Betting lines, odds, line movement -- see odds-explorer
  • Player stats from a game -- see player-scouting
  • Full game preview with predictions -- see game-preview

Commands Available

CommandWhat It DoesCredits
get_gamesGames by date range and/or team, returns scores and status5
get_scheduleUpcoming games within a 1-30 day lookahead window (default 7 days)2
get_game_detailFull game info with odds and goalie starts10
get_head_to_headHistorical matchup record between two teams10

Commands That Do NOT Exist

Not AvailableUse Instead
get_live_scoresUse get_games with today's date; status field indicates live/final
get_playoffs_bracketUse get_games filtered by game_type=playoffs
get_game_recapUse get_game_detail for box score; narratives are not available
get_injuriesNot available in this tool
get_lineupNot available in this tool

Season Resolution

  • October through December: current calendar year is the season start (2025-26 season starts 2025)
  • January through September: previous calendar year is the season start (2025-26 season, referenced as 2025)
  • "This season" = season currently in progress or most recently completed
  • "Last season" = one full season prior
  • NHL regular season: October to April. Playoffs: April to June.
  • "Tonight" = today's date in the user's local time zone; default to UTC if unknown
  • If a date is ambiguous ("last Tuesday"), confirm before querying

Initial Assessment

Before querying, understand:

  1. What is the user looking for? A result (past), a schedule (future), or a specific game detail?
  2. Which team(s)? One team for schedule queries, two teams for head-to-head.
  3. What time window? Tonight, this week, this season, or a specific date?

If the question is "who plays tonight?" -- call get_games immediately. Do not ask for clarification on obvious queries.

How It Works

Step 1: Classify the request

Request typeTool to use
Tonight / specific dateget_games with date
Team's upcoming games (next 1-30 days)get_schedule
Game result with scoreget_games with date + team filter
Box score / period breakdownget_game_detail
Two teams' historical recordget_head_to_head

Step 2: Resolve the date or season

Apply season resolution rules above. For "tonight," use today's date (2026-05-01). For "this week," use a 7-day window from today.

Step 3: Execute the query

Use the minimum credits needed. A schedule question does not require get_game_detail. A "who won?" question does not require get_head_to_head.

Step 4: Format and present results

Present results in the output format below. Offer routing to deeper skills only if the user's follow-up is obvious (e.g., they just found a game and might want odds or team context).

Step 5: Handle empty results

  • No games found: confirm the sport, team name spelling, and date range. Suggest a broader window.
  • Team not found: try alternate name (city vs. nickname), then ask the user.
  • Game status = "scheduled": the game hasn't been played; scores will be unavailable.

Data Source

PuckAPI (default): Use puckapi-tool endpoints above.

Your own data: If user provides a CSV or JSON schedule:

  1. Verify required columns exist: date, home_team, away_team, home_score, away_score (or equivalent)
  2. Check date format -- ISO 8601 preferred (YYYY-MM-DD)
  3. Flag missing scores for future games -- do not treat blank scores as 0-0
  4. Credits are not consumed when working with user's own data

Credit Usage

OperationCreditsNotes
Single date game lookup5Returns all games that day via get_games
Team schedule (1-30 day lookahead)2Upcoming games via get_schedule
Game detail (full info + odds + goalies)10One game via get_game_detail
Head-to-head history10All historical matchups, two teams
Full-week slate5One get_games call with date range

Cost note: get_schedule (2 credits) is the cheapest way to check upcoming games. Use get_games (5 credits) for broader lookups. Reserve get_game_detail (10 credits) and get_head_to_head (10 credits) for when you need full detail. Odds (10 credits) and line movement (25 credits) are the most expensive.

Anti-patterns

RationalizationWhy It's WrongDo This Instead
"I'll use get_game_detail for every result to get more data"get_game_detail costs 10 credits vs 5 for get_games and is unnecessary for a simple score queryUse get_games for results; only escalate to get_game_detail if the user wants odds or goalie start info for a specific game
"I'll pull the full schedule and filter locally"Wastes the user's time; API filters are faster and cheaperFilter at the query level using team and date parameters
"The team name looks close enough, I'll proceed"Partial matches cause silent wrong resultsVerify exact team name with list_teams if unsure
"No results probably means no games"Could be a wrong date, wrong team, or off-seasonExplicitly state what was queried and suggest alternate interpretations

Output Format

Tonight's slate

Games -- [Date]
[Sport] | [Home Team] vs [Away Team] | [Start Time] | [Venue]
...
[N] games scheduled.

Game result

[Away Team] [Score] @ [Home Team] [Score] -- FINAL
Date: [Date] | Venue: [Venue]
Period scores: [Q1/P1 scores if available]

Team schedule (upcoming)

[Team] -- Next [N] Games
[Date] | [vs/at] [Opponent] | [Time/Result]
...

Head-to-head

[Team A] vs [Team B] -- All-time: [W-L-OT]
Last 5 meetings:
[Date] | [Winner] [Score]-[Score] | [Location]
...

What to Do Next

What You FoundNext ActionSkill
Found a game, want full matchup breakdownRun game preview with odds, stats, trendsgame-preview
Found a game, want current betting linesPull odds across booksodds-explorer
Want to know how a team has been playingCheck standings and team statsteam-analysis
Found a head-to-head, want to build a model featureEncode H2H as a featurefeature-engineering
Want stats for a player in a found gameLook up player season statsplayer-scouting

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.