refresh-data

A data-refresh procedure that downloads updated NFL data from nflverse, a public source of NFL statistics, then rebuilds and checks the analytics warehouse.

In plain words
What is it for?
Use it for weekly updates, a complete historical refresh, or a fresh data download, followed by weather processing, view rebuilding, and warehouse tests.
Why use it?
It makes updating the local database repeatable and identifies download problems, missing files, row-count issues, and failed validation checks.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/parthakker/nfl-analytics/refresh-data
Any agent
npx skills add parthakker/nfl-analytics --skill refresh-data
Clone the repo
git clone --depth 1 https://github.com/parthakker/nfl-analytics

Made for: Claude Code, Codex.

Per session 14 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 259 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00014 $0.00259
Opus 5 $0.00007 $0.00130
Sonnet 5 $0.00003 $0.00052
Haiku 4.5 $0.00001 $0.00026

Measured 2d ago against content hash 84839b722905, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

refresh-data 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 2d 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.

.claude/skills/refresh-data/SKILL.md · 24 lines

What it actually says

Refresh data

  1. Preflight: make sure nothing holds a write lock — explore.cmd (DuckDB UI) must be closed; check logs/refresh.log tail for an already-running refresh.
  2. Run python -m nfl_analytics.cli refresh $ARGUMENTS
    • no flag: weekly mode (current + last season assets + schedules)
    • --full: every season in the manifest
    • --bootstrap: fresh-clone download (~2 GB, resumable) This downloads, runs fetch_weather, rebuilds warehouse + views, snapshots Vegas lines.
  3. Verify: the build output must end with "All tables loaded" and "travel sanity OK"; then run python -m pytest -m warehouse -q.
  4. Report: assets fetched, any FAILURES lines, row-count anomalies, and the refresh.log line. If a download failed with "no candidate matched", nflverse likely renamed an asset — check their releases page before editing the manifest in scripts/refresh_data.py.
Changes

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.

  1. 2d ago First seen · 24 lines · 14 tokens per session scan A 84839b722905

Subscribe to this mod's changes

refresh-data is a skill published in the GitHub repository parthakker/nfl-analytics (0 stars, last pushed 3d ago), licensed MIT. It adds 14 tokens to every session and 259 once invoked, about $0.0001 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.

Related

Other skills, from other repositories

portaljs-add-geo

Auto-ingest a geospatial file (GeoJSON, Shapefile, GeoPackage, KML/KMZ, FlatGeobuf, CSV-with-geometry) into a PortalJS portal on the user's own machine, with no server. Normalizes CRS to EPSG:4326, derives a PMTiles render tier and a GeoParquet query tier, pushes all three artifacts to Cloudflare R2 via Git LFS, and…

datopian/portaljs · 125 tokens

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…

Canner/WrenAI · 82 tokens

genbi

Turn a Wren project's context layer into a shareable, browser-side GenBI web app and deploy it to the user's Vercel or Cloudflare account. Orchestrates the full flow: wren genbi build returns a project-hydrated build instruction, the agent authors the app from scratch into apps/ /, then register → verify → deploy…

Canner/WrenAI · 140 tokens

operator-run

Run Operator ETL locally — MVP demo, pytest, FOIA graph pipeline, Streamlit dashboard. Use when proving the system works or demoing to reviewers.

khaosans/operator-etl · 35 tokens

operator-extend

Extend Operator ETL — new sources, domains, gold SQL marts, gov contracts. Use when adding pipelines beyond the FOIA or orders demos.

khaosans/operator-etl · 33 tokens

agilab-local-llm

Guidance for using local LLM backends (Ollama/GPT-OSS) inside AGILAB with correctness-first prompts.

ThalesGroup/agilab · 35 tokens