acquire
Fetch, scrape, or download football data from any source. Also handles API key setup and credential management. Use when the user wants to get data from…
Choose how and where to store football data. Use when the user asks about database choices, file formats, cloud storage, data pipelines, or how to organise their football data project. Also covers publishing and sharing outputs (Streamlit, Observable, GitHub Pages).
$ npx -y skills add withqwerty/nutmeg --skill store --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/storeContext preview
The summary Claude sees to decide when to auto-load this skill.
Choose how and where to store football data. Use when the user asks about database choices, file formats, cloud storage, data pipelines, or how to organise their football data project. Also covers publishing and sharing outputs (Streamlit, Observable, GitHub Pages).
name: nutmeg-store description: "Choose how and where to store football data. Use when the user asks about database choices, file formats, cloud storage, data pipelines, or how to organise their football data project. Also covers publishing and sharing outputs (Streamlit, Observable, GitHub Pages)." argument-hint: "[storage question or 'publish']" allowed-tools: ["Read", "Write", "Bash", "AskUserQuestion", "mcp__football-docs__search_docs"]
Help the user choose storage formats, locations, and publishing methods for their football data.
Read and follow `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, tell the user to run `/nutmeg` first.
| 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) or ~$7/mo (Railway, Supabase) | | BigQuery | Massive analytical queries | Free tier: 1TB/mo queries | | Cloudflare R2 | Object storage (raw files) | Free tier: 10GB storage | | S3 / GCS | Object storage at scale | ~$0.023/GB/mo |
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 (shinyapps.io, 25 hrs/mo) | 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 (up to 2GB per release) | | Kaggle Datasets | Community sharing, discoverable, free | | HuggingFace Datasets | ML-focused, versioned, free |
| 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.
Fetch, scrape, or download football data from any source. Also handles API key setup and credential management. Use when the user wants to get data from…
Explore, interpret, and draw conclusions from football data. Use when the user wants to analyse match events, compare teams or players, understand tactical…
Brainstorm football data visualisations and chart designs. Use when the user wants ideas for how to visualise football data, needs inspiration for chart types,…
Calculate derived football metrics and models. Use when the user wants to compute xG, xGOT, PPDA, passing networks, expected threat, possession value, pressing…
Fix broken data scrapers and pipelines. Use when data acquisition fails, a scraper breaks, an API returns errors, or data format has changed. Also handles…