Borrowing it
Nothing to install: this file belongs to parthakker/nfl-analytics. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/parthakker/nfl-analytics/main/.claude/skills/warehouse-queries/SKILL.mdgit clone --depth 1 https://github.com/parthakker/nfl-analyticsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/parthakker/nfl-analytics/warehouse-queries)<a href="https://agentmods.dev/skills/parthakker/nfl-analytics/warehouse-queries"><img src="https://agentmods.dev/badge/skills/parthakker/nfl-analytics/warehouse-queries.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00051 | $0.01712 |
| Opus 5 | $0.00026 | $0.00856 |
| Sonnet 5 | $0.00010 | $0.00342 |
| Haiku 4.5 | $0.00005 | $0.00171 |
Grade A, and why
warehouse-queries scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Warehouse query guide
Connect read-only: duckdb.connect('nfl.duckdb', read_only=True). Full
per-table dictionaries: docs/dictionary/*.md — read the relevant one before
querying a table in depth (participation_charting.md covers the 2026-08
additions).
Tables (grain — coverage)
| Table | Grain | Seasons |
|---|---|---|
| play_by_play | play (372 cols) | 1999–2025 |
| games | game (derived: coaches, scores, lines, roof, weather) | 1999–2025 |
| schedules | game incl. UPCOMING; odds, rest, QBs, refs | 1999–2026 |
| player_stats_week / _season (+_def, _kicking) | player-week / player-season(type) | 2007–2024 |
| player_stats_week_v2 / _season_v2 | unified 145-col v2 | 2025+ |
| team_stats | team-season-seasontype | 2007–2025 |
| advstats_season_/week_{pass,rush,rec,def} | player-season / player-game (PFR) | 2018–2025 |
| ngs_{passing,receiving,rushing} | player-week + week=0 season rows | 2016–2025 |
| players | master ID bridge (gsis_id PK; pfr_id, espn_id) | all |
| rosters_weekly | player-team-week | 2002–2026 |
| injuries | player-week report | 2009–2025 |
| snap_counts | player-game snaps + pct | 2013–2025 |
| depth_charts | team-week slots (2025 schema differs) | 2001–2025 |
| participation | play: personnel, box, rushers | 2016–2023 (+2024 unofficial) |
| ftn_charting | play: PA/screen/RPO/motion/blitz | 2022–2025 |
| combine | prospect-year | 2000–2026 |
| espn_qbr_week / _season | QB-week / QB-season | 2006–2025 |
| draft_picks | draft slot (use w_av, car_av is NULL) | 1980–2026 |
| officials | official-game (numeric game_id = old_game_id) | 2015–2025 |
| stadiums / stadium_aliases / game_venues / team_home_venues | curated venues + per-game resolution | 1999–2026 |
| game_weather_parsed / weather_openmeteo | game weather (parsed pbp / Open-Meteo) | 1999–2025 / sparse |
Views (each has a grain comment in scripts/build_views.py)
v_team_games— team-game workhorse: win, rest_days + rest_days_sched / is_off_bye / short_week, travel_miles (home-base haversine), tz_shift_hours (venue-true, + = east), venue cols, team-perspective spread_line.v_matchup_games/v_team_matchups— team-pair series 1999+ from schedules, franchise-canonicalized (STL→LA…), site/venue/ATS splits, signed current_streak (+N = team won last N).v_coach_matchups(h2h + ATS + last_meeting_game_id),v_coach_seasons(records/ATS/playoffs),v_coach_tendencies(PROE, 4th-down go rate, shotgun/no-huddle/deep-shot, tempo),v_coach_def_tendencies(coach × season allowed pass/rush EPA, sack/takeaway/run-stuff rates; no attempt minimums — interim coaches appear on tiny samples).v_referee_games/v_referee_seasons(head refs 1999+; officials 2015+ coalesced with schedules.referee; aggregate on ref_key),v_referee_team_splits(ref × team W%/ATS/pen diff).v_game_weather— the one weather answer per game (indoor → pbp parse → open-meteo → schedules; forecast for upcoming). Use this, not raw cols.v_player_stats_week_all— cross-era weekly offense (v1+v2 under old names, incl. fantasy_points_half_ppr).v_player_stats_def_week_all/v_player_stats_kicking_week_all— same seam pattern for defense/kicking (v2 arm activity-filtered; def_tackles recomputed solo+assists).v_redzone_usage_week— per player-week RZ carries/targets/TDs from pbp (yardline_100 ≤ 20; player = coalesce(rusher, receiver); counts, not shares — divide by team-week sums yourself).v_team_epa_season/v_team_def_epa_season,v_strength_of_schedule,v_team_travel_season(season travel totals).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 106 lines · 51 tokens per session scan A 1e7ad9c349de
warehouse-queries is a skill published in the GitHub repository parthakker/nfl-analytics (0 stars, last pushed 7d ago), licensed MIT. It adds 51 tokens to every session and 1,712 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
hithink-finance-data
A local data-management skill for the HiThink Finance command-line tool and its DuckDB database. DuckDB is a database stored in a local file.
usage
Wren Engine CLI workflow guide for AI agents. Answer data questions end-to-end using the wren CLI: gather schema context, recall past queries, write SQL through the MDL semantic layer, execute, and learn from confirmed results. Use when: user asks a data question, requests a report or analysis, asks about metrics…
dlt-connector
Connect SaaS data (HubSpot, Stripe, Salesforce, GitHub, Slack, etc.) to Wren Engine for SQL analysis. Guides the user through the full flow: install dlt, pick a SaaS source, set up credentials, run the data pipeline into DuckDB, then auto-generate a Wren semantic project from the loaded data. Use this skill whenever…
generate-mdl
Generate a Wren MDL project by exploring a database with available tools (SQLAlchemy, database drivers, MCP connectors, or raw SQL). Guides agents through schema discovery, type normalization, and MDL YAML generation using the wren CLI. Use when: user wants to create or set up a new MDL, onboard a new data source, or…
wren
Wren CLI for AI agents — a semantic SQL layer over 22+ databases (Postgres, MySQL, BigQuery, Snowflake, Spark, …). The actual workflow guides live inside the wren CLI itself; this is just a discovery stub. Use whenever the user asks a data question (how many, show me, top N, compare, trend, breakdown, metric, revenue…
analytical-databases-expert
Design and query columnar analytical stores: DuckDB, ClickHouse and cloud warehouses, including file formats, partitioning, sort keys and cost control. Use when the user mentions DuckDB, ClickHouse, Parquet, columnar storage, OLAP, a data warehouse or lakehouse, analytical queries over large tables, or when the task…