技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
game-preview【数据与研究】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].…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
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.
daily-cardodds-explorergoalie-analysisteam-analysismodel-building or edge-detection| 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 |
| 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 |
Before starting, understand:
Pull all data in parallel where possible, then compose the report in six sections.
Call get_standings for both teams. Pull:
get_schedule -- days since last game, back-to-back flagCall get_head_to_head for season series between the two teams this season.
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.
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.
Call get_odds (10 credits). Pull moneyline, puck line (-1.5/+1.5), and total (Over/Under) across all available books.
Show:
If the moneylines across books vary by more than 5 cents, flag the discrepancy as a soft market signal.
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) - 1
Show: 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."
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.
| 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 |
PuckAPI (default): All six endpoints. Data is clean and joined.
Your own data: If user provides team/goalie stats as CSV:
get_odds| 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 |
## 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 Skills
| 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 |