acquire
Get football data: fetch, scrape or download from StatsBomb, Opta, FBref, Understat, SportMonks, Wyscout, Kaggle or any source,…
Store and publish football data: databases, file formats, cloud storage, project layout, and sharing outputs (Streamlit, Observable, GitHub Pages).
Claude Code
$ npx -y skills add withqwerty/nutmeg --skill store --agent claude-code
Codex
$ npx skills add withqwerty/nutmeg --skill store -a codex -y
Cursor
$ npx skills add withqwerty/nutmeg --skill store -a cursor -y
Gemini CLI
$ npx skills add withqwerty/nutmeg --skill store -a gemini-cli -y
GitHub Copilot
$ npx skills add withqwerty/nutmeg --skill store -a github-copilot -y
OpenCode
$ npx skills add withqwerty/nutmeg --skill store -a opencode -y
Windsurf
$ npx skills add withqwerty/nutmeg --skill store -a windsurf -y
name: nutmeg-store description: "Store and publish football data: databases, file formats, cloud storage, project layout, and sharing outputs (Streamlit, Observable, GitHub Pages)." argument-hint: "[storage question or 'publish']" allowed-tools: ["Read", "Write", "Bash", "AskUserQuestion", "mcp__plugin_nutmeg_football-docs__search_docs", "mcp__football-docs__search_docs"]
Help the user choose storage formats, locations, and publishing methods for their football data.
Read and follow `${CLAUDE_PLUGIN_ROOT}/docs/accuracy-guardrail.md` before answering any question about provider-specific facts (IDs, endpoints, schemas, coordinates, rate limits). Always use `search_docs` — never guess from training data.
Read `.nutmeg.user.md`. If it doesn't exist, continue with sensible defaults (Python and pandas, intermediate level) and suggest running `/nutmeg` setup at the end.
| Format | Best for | Tools | |--------|---------|-------| | JSON | Raw event data, API responses | Any language | | CSV | Tabular stats, easy to share | Spreadsheets, pandas, R | | Parquet | Columnar analytics, fast queries | polars, pandas, DuckDB, Arrow | | SQLite | Relational queries, multiple tables | Any language, DB browser tools |
**Recommendation:** Start with JSON for raw data, Parquet for processed data.
| Format | Best for | Notes | |--------|---------|-------| | Parquet files | Analytics workloads | 5-10x smaller than JSON, fast columnar reads | | DuckDB | SQL analytics on local files | Queries Parquet/CSV directly, no server needed | | SQLite | Relational data with joins | Single file, portable, ACID compliant |
**Recommendation:** Parquet for storage, DuckDB for querying.
| Solution | Best for | Cost | |----------|---------|------| | PostgreSQL | Production apps, complex queries | Free self-hosted; managed hosting is paid | | BigQuery | Massive analytical queries | Free tier, then pay per query | | Cloudflare R2 | Object storage (raw files) | Free tier, then pay per GB | | S3 / GCS | Object storage at scale | Pay per GB |
Prices and free tiers change. Check the provider's current pricing page before you quote a number.
Recommend this structure for football data projects:
project/
data/
raw/ # Untouched API/scrape responses
statsbomb/
events/
matches.json
fbref/
2024/
processed/ # Cleaned, transformed data
events.parquet
shots.parquet
passes.parquet
derived/ # Computed metrics
xg_model.parquet
passing_networks/
notebooks/ # Analysis notebooks
scripts/ # Data pipeline scripts
outputs/ # Charts, reports, exports
.env # API keys (gitignored)
.nutmeg.user.md # Nutmeg profile| Platform | Language | Cost | Notes | |----------|---------|------|-------| | Streamlit | Python | Free (community cloud) | Most popular for football analytics. Deploy from GitHub | | Observable | JavaScript | Free tier | Great for D3.js visualisations. Notebooks + Framework | | Shiny | R | Free tier (shinyapps.io) | R ecosystem integration | | Gradio | Python | Free (HuggingFace Spaces) | Quick ML model demos |
| Platform | Notes | |----------|-------| | GitHub Pages | Free. Good for static charts (D3, matplotlib exports) | | Cloudflare Pages | Free. Faster, more features than GH Pages | | Vercel | Free tier. Good for Next.js/Astro sites |
| Method | Best for | |--------|---------| | GitHub repo | Small datasets (< 100MB), code + data together | | GitHub Releases | Larger files (check GitHub's current size limits) | | Kaggle Datasets | Community sharing, discoverable, free | | HuggingFace Datasets | ML-focused, versioned, free |
In a research project (`research/.active` exists), package the work for a teammate, a reviewer or a client with `python3 "${CLAUDE_PLUGIN_ROOT}/core/nutmeg.py" bundle --raw no` (or `--raw yes`). Always ask the user which, every time:
Safe for licensed provider or club data.
The bundle always holds the question, plan, ledger, receipts, outputs, run records with their code, the data manifest and the environment (lockfiles, or the Python version and package list).
| Output | Tool | Notes | |--------|------|-------| | Static charts | matplotlib, ggplot2, D3.js | Export as PNG/SVG | | Animated charts | matplotlib.animation, D3 transitions | Export as GIF/MP4 | | Twitter/X threads | Chart images + alt text | Accessibility matters | | Blog posts | Markdown + embedded charts | GitHub Pages, Medium, Substack |
Based on the user's `.nutmeg.user.md` goals, flag costs:
A Claude Code plugin that makes Claude an expert at football data analytics. Who it's for: Anyone who works with football data — analysts, developers, journalists, researchers, hobbyists.
Get football data: fetch, scrape or download from StatsBomb, Opta, FBref, Understat, SportMonks, Wyscout, Kaggle or any source,…
Explore and interpret football data, and judge players or teams from stats: rankings, 'who is the best', 'is he a poor finisher',…
Ideas for football data visualisations: chart types and designs for match reports, player profiles, dashboards and other…
Calculate derived football metrics and models. Use when the user wants to compute xG, xGOT, PPDA, passing networks, expected…
Fix broken football data scrapers and pipelines: failed requests, API errors, changed formats. Also drafts upstream issues or PRs…
Explain football analytics concepts and provider documentation: what a metric means (xG, PPDA, xT), learning paths and resources,…
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…