agentleFS
noahowshnoahowsh/endzoneapi-mcp/skills/game-preview/SKILL.md

game-preview

Skill0 starsChanged 29 days agoMITView on GitHub

Builds a pre-game preview for one NFL matchup: schedule, form, efficiency, head-to-head, injuries, depth chart, rest, weather and betting lines in one brief. Use when user asks to preview a game, break down a matchup, what to know before Sunday, or who has the edge in a specific game. Do not use for a full model, see feature-engineering. Do not use for price shopping, see odds-explorer. Do not use for college games, see college-football.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Only the line, see odds-explorer

    line 26
  2. Very specific:

    Only one team's profile, see epa-analysis

    line 27

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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 Preview

Default data tool: EndzoneAPI (endzoneapi-tool). Budget: about 45 credits for a full preview. A short version (schedule, team EPA for both sides, lines) is about 17.

You are a football analyst writing a preview. Your goal is a one-page brief that says who has the edge, why, how large the market thinks it is, and what could change it.

When to Use

  • "Preview Bills at Chiefs"
  • "What should I know about this week's Eagles game?"
  • "Who has the advantage in this matchup?"
  • "Break down the Sunday night game"

When NOT to Use

  • Building a predictive model, see feature-engineering and walk-forward-validation
  • Only the line, see odds-explorer
  • Only one team's profile, see epa-analysis
  • Player-specific questions, see player-scouting

Commands Available

CommandWhat It DoesCredits
get_scheduleFind the game, kickoff, consensus line2
get_team_statsSeason EPA per play and totals, one team5
get_head_to_headPast meetings, record, average margin10
get_injuriesStatus by team2
get_depth_chartStarters2
get_game_detailWeather, surface, officials, per-book lines10
get_gamesRecent results with starting QBs and rest5

Commands That Do NOT Exist

Not AvailableUse Instead
get_game_previewThis skill, assembled from the calls above
get_matchup_rankingsCompute from two get_team_stats calls
get_win_probability_pregameThe consensus line is the market's estimate, see odds-analysis
get_referee_statsNot available; get_game_detail names the officials only

How It Works

Step 1: Locate the game. get_schedule(team="BUF") returns the next games with game_id. For a past game or a specific week, get_games(season=2025, week=5, team="BUF").

Step 2: Efficiency for both teams. get_team_stats(team="BUF", season=2025) and the same for the opponent: totals.passing_epa_per_play, totals.rushing_epa_per_play, yards_per_attempt, yards_per_carry, plus weeks[] for trend. Early in a season, use the last season as a prior and say how many 2026 games exist.

Step 3: Form and context. get_games(season=2025, team="BUF", limit=5) is the last results with away_rest, home_rest, away_qb_name, home_qb_name. A team that has changed starting quarterback has a different recent form than its season line.

Step 4: Availability. get_injuries(team="BUF") and get_depth_chart(team="BUF", formation="Offense"). Report only players that change the matchup: the quarterback, top two receivers, the left tackle, the top pass rusher. The injury report is incomplete until the Wednesday to Friday practice reports are in.

Step 5: History. get_head_to_head(team1="BUF", team2="KC", limit=5). Head-to-head carries little predictive weight across rosters and coaches; use it for color, never as the argument. Say so.

Step 6: Market. The consensus line from the schedule row, then get_game_detail(game_id=...) for weather, surface and per-book numbers. Convert the spread into an implied margin and the total into implied team totals:

home_implied = (total + spread_line) / 2
away_implied = (total - spread_line) / 2

where spread_line is positive when home is favored. Check with DEN at KC: total 37.5, spread_line -13.5, so KC implied 12.0, DEN implied 25.5. KC scored 13, DEN 20.

Step 7: Write it. Lead with a one-sentence read, then the evidence in this order: efficiency, availability, situation (rest, weather), market, history.

What Moves the Needle

FactorHow to Use It
Starting quarterbackLargest single input, always confirm
Pass versus run EPA gapA team that passes well against a defense weak in pass EPA allowed
RestShort week or bye, from rest days
Wind and surfaceStrong wind tends to hurt the passing game; check get_game_detail
Injuries to the offensive lineShow up in sacks and pressure, see next-gen-stats

Credit Usage

OperationCredits
Find game2
Team stats x210
Recent results x210
Injuries x24
Depth charts x24
Head-to-head10
Game detail10
Total50

Skip head-to-head and depth charts to bring it near 36. Ask before running the full set during a busy slate.

Anti-patterns

RationalizationWhy It's WrongDo This Instead
"They are 4-1 so they are better"Records hide point differential and scheduleShow EPA per play next to the record
"They won the last three meetings"Rosters turn overMention it once, weight it near zero
"The model says X"You have not built oneSay what the line implies, not what you predict
"Injury report is empty"It may not be published yetState the report week and date

Output Format

BUF @ KC -- Sunday, Week 5
Read: [one sentence]
Efficiency: [away] pass EPA/play X, [home] pass EPA/play X (2025; 2026 sample: N games)
Availability: [QB and key names with status]
Situation: rest [away] X / [home] X, [weather]
Market: [spread and total] (implied [away] X, [home] X)
Risk to the read: [one concrete thing]

What to Do Next

What You FoundNext ActionSkill
A view that differs from the lineQuantify and sizeedge-detection
Player-specific angleProp projectionprop-modeling
Need the price across booksShopodds-explorer

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.