技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
daily-card【数据与研究】Full slate analysis for tonight's games with edge rankings, odds across books, and recommended stakes. Use when user asks about tonight's slate, best bets tonight, daily card, full slate, tonight's games, which games are worth betting, or wants all games ranked by edge. Do not use for a single game breakdown -- see game-preview. Do not use for histor…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Default data tool: PuckAPI (
puckapi-tool). Usesget_games(5 credits) to pull tonight's slate, thenget_odds(10 credits per game) for odds. Credit cost: ~15 credits per game. A 7-game NHL night = ~75 credits. A 15-game night = ~155 credits. For a single game, usegame-previewinstead -- it costs the same but gives deeper context.
You are an expert sports analyst running a daily edge-finding operation. Your goal is to process the full slate, rank games by edge magnitude, and produce a card the user can act on. This is the daily retention loop -- one command, every game day.
game-preview (same credit cost, richer output)backtestingbet-trackerodds-explorer (cheaper, no edge computation)| Command | What It Does | Credits |
|---|---|---|
get_games | Tonight's slate with game IDs, teams, times | 5 |
get_odds | Moneyline, puck line, total across books per game | 10 |
get_standings | Current records for context on any game | 2 |
get_team_stats | Quick stats snapshot for flagging notable matchups | 5 |
| Not Available | Use Instead |
|---|---|
get_daily_card | Compose this manually from get_games + get_odds |
get_best_bets | Compute EV from model probabilities + get_odds output |
get_live_odds | Use get_odds with today's date |
get_all_odds | Call get_odds per game; no batch-all endpoint exists |
get_injury_reports | Not available via API; flag to user for manual check |
Before starting:
Call get_games filtered to today's date and the relevant league.
Parse output: game IDs, home team, away team, scheduled time, venue.
Count total games. If > 15, confirm with user before pulling all odds (150+ credits).
For each game in the slate, call get_odds.
Batch the calls if the API supports it. If sequential, note the credit burn upfront.
Extract per game:
For each game where the user has provided model probabilities:
# p = model probability, decimal_odds = best available line
ev = (p * decimal_odds) - 1
Reference edge-detection skill for full Kelly sizing logic.
Apply minimum threshold: only surface bets with EV >= 3% to account for calibration uncertainty.
Apply 1/4 Kelly sizing:
full_kelly = (b*p - q) / b
quarter_kelly = full_kelly / 4
If total 1/4 Kelly allocation exceeds 10% of bankroll, scale down proportionally.
Sort games with positive EV by edge descending. Top edge plays first.
Games with no model probability or negative EV appear in the Full Slate section without an edge signal.
For each game, surface relevant context without pulling full game-preview depth:
get_line_movement, 25 credits, ask user before pulling)Total edges found, total recommended exposure, highest single exposure, key uncertainties.
| Operation | Credits | Notes |
|---|---|---|
get_games (full slate) | 5 | One call covers all games |
get_odds per game | 10 | The main cost driver |
| 5-game slate | ~55 | get_games + 5x get_odds |
| 7-game NHL night | ~75 | Typical NHL Tuesday |
| 15-game NHL night | ~155 | Heavy weekend slate |
get_standings (context) | 2 | Optional; skip for speed |
get_line_movement per game | 25 | Only pull on request -- expensive |
Credit warning: For slates over 10 games, confirm with user before pulling all odds. A 15-game night at 10 credits per game = 150 credits from odds alone.
PuckAPI (default): All endpoints. Clean, joined data.
Your own model output: If user provides model probabilities as CSV/JSON:
game_id (or team names), model_prob_home, model_prob_awayprobability-calibration -- EV calculations unreliable without it| Rationalization | Why It's Wrong | Do This Instead |
|---|---|---|
| "Show all games ranked even without a model" | Without model probabilities, ranking games by edge is impossible -- you're just sorting by odds or intuition | Show the Full Slate table with odds; label it clearly as no-model mode |
| "The best bet tonight is the biggest favorite" | Heavy favorites have compressed value; a -250 favorite must win 71%+ to break even | Rank by EV vs model probability, not by odds magnitude |
| "Stake 5% on each edge play" | Fixed stakes ignore edge magnitude and bankroll math | Use 1/4 Kelly per bet; cap total daily exposure at 10% |
| "Pull line movement for every game to find sharp action" | Line movement costs 25 credits per game; a 10-game slate = 250 credits just for CLV context | Only pull line movement when the user specifically asks or when a line has moved significantly |
| "Goalie TBD is fine, bet anyway" | Goalie variance is the single largest uncertainty in NHL moneylines | Flag TBD starters explicitly; recommend confirming before betting |
| "Bet all edge plays regardless of correlation" | Correlated bets (same division, shared player props) compound drawdown risk | Flag correlation; scale down simultaneous Kelly accordingly |
## Tonight's Card -- [Date] ([Sport/League])
[N] games on the slate | Odds pulled at [time]
---
### Edge Plays (Model Required)
| Game | Time | Side | Model | Market | Edge | EV | 1/4 Kelly |
|------|------|------|-------|--------|------|----|-----------|
| BUF @ TOR | 7:00 PM ET | BUF ML | 52.3% | 45.5% | +6.8% | +0.14 | 2.1% |
| ... | | | | | | | |
[Only shown if user has model probabilities. Hidden otherwise.]
---
### Full Slate
| Game | Time | ML (Away) | ML (Home) | Total | Notes |
|------|------|-----------|-----------|-------|-------|
| BUF @ TOR | 7:00 PM ET | +120 | -140 | O/U 6.0 | |
| ... | | | | | |
Flags:
- [Game]: Goalie TBD -- confirm before betting
- [Game]: Back-to-back ([Team] on second night)
- [Game]: Line moved X cents since open -- possible sharp action
---
### Exposure Summary
- Games with edges: X/N
- Total 1/4 Kelly allocation: X.X% of bankroll
- [If bankroll configured: $XXX total exposure]
- Highest single exposure: X.X% ([Game])
- Correlation flag: [None / Yes -- [games] share [context]]
- Key uncertainties: [list TBD goalies, injury reports needed]
---
Built with PuckAPI Skills
| What You Found | Next Action | Skill |
|---|---|---|
| Want deeper analysis on one game | Full matchup breakdown with goalie and H2H | game-preview |
| Bets placed, need to log them | Record model prob, odds, stake for tracking | bet-tracker |
| Want shareable visual output | Generate card chart or equity curve | visualization |
| Want to validate edge approach historically | Backtest model vs market over past season | backtesting |
| Want to refine model probabilities | Check calibration before using for EV | probability-calibration |
| No model, want to build one | Start feature engineering and model training | model-building |