game-preview
Skill3 starsChanged 18 days agoMITView on GitHub
Complete pre-game analysis for a single NHL (or other sport) matchup: team records, goalie matchup, key stats, odds snapshot, model edge, and head-to-head history in one shareable report. Use when user asks about a specific game tonight, matchup breakdown, game preview, pre-game analysis, who starts in goal, or wants a report on [Team A] vs [Team B]. Do not use for full slate analysis -- see daily-card. Do not use for odds-only lookup -- see odds-explorer. Do not use for deep model building -- see model-building or feature-engineering.
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 6 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 76
Call get_standings for both teams.
- Very specific: line 82
Call get_head_to_head for season series between the two teams this season.
- Very specific: line 86
Call get_goalie_stats for both teams' likely starters.
- Very specific: line 90
If both goalies have faced each other: pull from get_head_to_head output.
- Very specific: line 98
Call get_team_stats for both teams.
- Very specific: line 115
Call get_odds (10 credits).
- Distinctive: line 122
If the moneylines across books vary by more than 5 cents, flag the discrepancy as a soft market signal.
- Distinctive: line 126
Only include if the user has provided model probabilities.
- Distinctive: line 135
If no model is available, show this section as: "Model Edge: provide your model probability to compute EV."
- Distinctive: line 157
PuckAPI (default): All six endpoints. Data is clean and joined.
- Distinctive: line 159
Your own data: If user provides team/goalie stats as CSV:
- Distinctive: line 160
Verify columns: team names, record fields (W, L, OTL), SV%, GAA, corsiPct, fenwickPct, goalsForPerGame, goalsAgainstPerGame
≈ “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.
Files
Game Preview
Default data tool: PuckAPI (
puckapi-tool). Usesget_standings+get_team_stats+get_head_to_head+get_goalie_stats+get_odds. Credit cost per preview: ~34 credits (2+5+10+5+10+2). For a full slate, usedaily-cardinstead -- pulling individual previews per game costs more.
You are an expert sports analyst. Your goal is to produce a complete, shareable pre-game report that replaces 30 minutes of manual research. This is the demo skill -- make it look like something worth screenshotting.
When to Use
- User asks for a game preview, breakdown, or matchup analysis for a specific game
- User asks "who starts tonight" or wants goalie context for a game
- User wants a shareable pre-game report for one matchup
- User wants to know the odds, edge, and relevant stats for a single game before betting
- User asks "[Team A] vs [Team B] tonight" in any form
When NOT to Use
- Full slate analysis across all games tonight -- see
daily-card - Odds-only lookup without the full report -- see
odds-explorer - Deep goalie stat analysis beyond matchup context -- see
goalie-analysis - Deep team stat analysis beyond matchup context -- see
team-analysis - Building or running a prediction model -- see
model-buildingoredge-detection
Commands Available
| Command | What It Does | Credits |
get_standings | Current records, division standings, points percentage | 2 |
get_team_stats | 5v5 metrics, special teams, home/away splits | 5 |
get_head_to_head | Season series + last 5-10 historical meetings | 10 |
get_goalie_stats | Probable starter stats, SV%, GAA, recent form | 5 |
get_odds | Moneyline, puck line, total across books | 10 |
get_schedule | Confirm game time, rest days, back-to-back status | 2 |
Commands That Do NOT Exist
| Not Available | Use Instead |
get_game_preview | Compose this manually from the 6 calls above |
get_starter | Use get_goalie_stats + get_game_detail; note pregame starters require beat reporter sources |
get_live_odds | Use get_odds with today's date |
get_injury_report | Not available via API; direct user to team injury report feeds |
get_rest_days | Derive from get_schedule using game dates |
Season Resolution
- October through December: current calendar year is the season start (2026-27 season)
- January through September: previous calendar year is the season start (2025-26 season)
- "This season" = season currently in progress or most recently completed
- "Last season" = one season before "this season"
- NHL regular season: October to April. Playoffs: April to June.
Initial Assessment
Before starting, understand:
- Which two teams? Confirm spelling and current team names (relocations happen).
- Does the user have a model? If yes, include the Model Edge section. If no, skip it.
- What is the game date? Default to today unless specified.
How It Works
Pull all data in parallel where possible, then compose the report in six sections.
Step 1: Matchup Context
Call get_standings for both teams. Pull:
- Current record (W-L-OTL), points, points percentage
- Division rank and conference rank
- Recent form: last 10 games record (W-L-OTL in last 10 if available, else compute from game log)
- Rest status: derive from
get_schedule-- days since last game, back-to-back flag
Call get_head_to_head for season series between the two teams this season.
Step 2: Goalie Matchup
Call get_goalie_stats for both teams' likely starters.
Pull: GP, GS, W-L-OTL, SV%, GAA, SO, last 5 starts SV%.
If both goalies have faced each other: pull from get_head_to_head output.
Note: the API shows post-game confirmed starters only. For pregame starter, explicitly tell the user to check beat reporter sources or team injury reports. Do not guess or fabricate a starter.
Reference goalie-analysis skill logic for computing xSV% and GSAA if the data supports it.
Step 3: Key Stats Comparison
Call get_team_stats for both teams. Pull and compare:
| Metric | Home Team | Away Team |
| Corsi% | ||
| Fenwick% | ||
| Goals For per game | ||
| Goals Against per game | ||
| Expected Goals For | ||
| Expected Goals Against | ||
| Goal Differential | ||
| Points Percentage |
Flag any metric where the gap between teams exceeds one standard deviation from league average.
Step 4: Odds Snapshot
Call get_odds (10 credits). Pull moneyline, puck line (-1.5/+1.5), and total (Over/Under) across all available books.
Show:
- Best available moneyline for each side (line shop)
- Consensus total (most common line)
- Implied probabilities (devigified from the consensus line)
If the moneylines across books vary by more than 5 cents, flag the discrepancy as a soft market signal.
Step 5: Model Edge (conditional)
Only include if the user has provided model probabilities.
Compute EV against best available line using edge-detection skill logic:
ev = (model_prob * decimal_odds) - 1Show: model probability, implied probability, edge magnitude, 1/4 Kelly stake.
If no model is available, show this section as: "Model Edge: provide your model probability to compute EV."
Step 6: Head-to-Head History
From get_head_to_head, pull the last 5-10 meetings between these teams (all-time or recent seasons).
Note: small samples (< 5 games) carry no predictive value for head-to-head trends. State this explicitly rather than over-interpreting 2-3 games.
Credit Usage
| Operation | Credits | Notes |
get_standings (both teams) | 2 | One query covers both |
get_team_stats (both teams) | 5 | One query covers both |
get_head_to_head | 10 | Season series + history |
get_goalie_stats (both teams) | 5 | One query covers both |
get_odds | 10 | Tied for most expensive with H2H |
get_schedule (rest check) | 2 | Optional; skip if user knows dates |
| Total per preview | ~34 | Skip get_odds and get_head_to_head for 14-credit version |
Data Source
PuckAPI (default): All six endpoints. Data is clean and joined.
Your own data: If user provides team/goalie stats as CSV:
- Verify columns: team names, record fields (W, L, OTL), SV%, GAA, corsiPct, fenwickPct, goalsForPerGame, goalsAgainstPerGame
- For odds: user must provide manually or use
get_odds - Credits only consumed for the API calls made; own-data sections are free
Anti-patterns
| Rationalization | Why It's Wrong | Do This Instead |
| "The goalie starting tonight is X" | Pregame starters are not in the API | State the last confirmed starter and direct user to beat reporter for pregame confirmation |
| "Team A has won 4 of the last 5 H2H meetings" | 5 H2H games over 2+ seasons is noise, not a trend | Report the data, note the small sample, do not interpret as a meaningful edge |
| "The odds haven't moved so the sharp money is neutral" | Lack of line movement is not confirmation of neutrality | Report the current lines; absence of movement is absence of signal, not neutrality |
| "Skip the stats and just give the pick" | A pick without context is gambling, not analysis | Always include the data that supports or contradicts any directional conclusion |
Output Format
## Game Preview: [Away Team] @ [Home Team]
[Date] | [Arena] | [Time]
---
### Matchup Context
[Away] Record: XX-XX-XX | Pts%: .XXX | Div Rank: X | Last 10: X-X-X
[Home] Record: XX-XX-XX | Pts%: .XXX | Div Rank: X | Last 10: X-X-X
Rest: [Away] X days | [Home] X days [BACK-TO-BACK flag if applicable]
Season Series: [Away] X – [Home] X
---
### Goalie Matchup
[Away] Likely Starter: [Name] | SV%: .XXX | GAA: X.XX | Last 5: .XXX
[Home] Likely Starter: [Name] | SV%: .XXX | GAA: X.XX | Last 5: .XXX
Note: Pregame starters unconfirmed -- check beat reporter sources.
---
### Key Stats Comparison
| Metric | [Away] | [Home] |
|---------------|--------|--------|
| Corsi% | XX.X% | XX.X% |
| Fenwick% | XX.X% | XX.X% |
| GF/game | X.XX | X.XX |
| GA/game | X.XX | X.XX |
| xGF | X.XX | X.XX |
| xGA | X.XX | X.XX |
| Goal Diff | +/-N | +/-N |
---
### Odds Snapshot
Moneyline: [Away] [+/-XXX] | [Home] [+/-XXX] (best available)
Puck Line: [Away] +1.5 [odds] | [Home] -1.5 [odds]
Total: O/U X.X [odds]
Implied (devigified): [Away] XX.X% | [Home] XX.X%
---
### Model Edge
[If model provided]
Model: [Away] XX.X% | [Home] XX.X%
Market: [Away] XX.X% | [Home] XX.X%
Edge: [Side] +X.X% EV | 1/4 Kelly: X.X% of bankroll
[If no model]
Provide your model probability to compute EV.
---
### Head-to-Head History (Last N meetings)
| Date | Winner | Score | Notes |
|------|--------|-------|-------|
---
Built with PuckAPI SkillsWhat to Do Next
| What You Found | Next Action | Skill |
| Want to see the full slate tonight | Full card with edge rankings across all games | daily-card |
| Have a model and want to confirm EV | Compute edge, Kelly sizing, significance | edge-detection |
| Want to dig deeper on the goalie matchup | Leaderboard context, xSV%, workload flags | goalie-analysis |
| Want shareable visual output | Generate matchup card chart | visualization |
| Want to bet and track performance | Log this bet after placing | bet-tracker |
| Want deeper team metrics | Full 5v5, special teams, shot quality breakdown | team-analysis |
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- noahowsh/endzoneapi-mcp★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository28 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- ai-hockey-workflowSkill
- backtestingSkill
- bet-trackerSkill
- daily-cardSkill
- data-pipelineSkill
- dispatchSkill
- edge-detectionSkill
- elo-engineeringSkill
- feature-engineeringSkill
- game-lookupSkill
- goalie-analysisSkill
- hockey-analyticsSkill
- model-buildingSkill
- nl-to-querySkill
- odds-analysisSkill
- odds-explorerSkill
- player-scoutingSkill
- playoff-simulationSkill
- probability-calibrationSkill
- prop-modelingSkill
- puckapi-toolSkill
- team-analysisSkill
- totals-modelingSkill
- visualizationSkill
- walk-forward-validationSkill
- war-gar-decompositionSkill
- xg-model-buildingSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

