Skip to content
Data
Skill

/store

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).

From plugin
nutmeg
4210 skills3 agents1 MCP
Install
$ npx -y skills add withqwerty/nutmeg --skill store --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/store

Context 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).

SKILL.md

store.SKILL.md
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"]

Store

Help the user choose storage formats, locations, and publishing methods for their football data.

Accuracy

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.

First: check profile

Read `.nutmeg.user.md`. If it doesn't exist, tell the user to run `/nutmeg` first.

Storage format decision tree

Small projects (< 100MB, single user)

| 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.

Medium projects (100MB - 10GB)

| 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.

Large projects (> 10GB, multiple users)

| 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 |

Directory structure

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

Publishing and sharing

Interactive dashboards

| 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 |

Static sites

| 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 |

Sharing data

| 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 |

Social media / content

| 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 |

Cost awareness

Based on the user's `.nutmeg.user.md` goals, flag costs:

  • **Exploration/learning:** Everything can be free. StatsBomb open data + Jupyter/Colab + GitHub Pages.
  • **Content creation:** Streamlit Community Cloud is free. Cloudflare Pages is free.
  • **Professional:** Budget for API access ($100-1000+/mo for Opta/StatsBomb commercial).
  • **Product:** Database hosting ($7-50/mo), consider data licensing costs separately.
Read more
Ships withnutmeg

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 the whole plugin

Other skills on nutmeg.

acquire
Skill

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…

analyse
Skill

analyse

Explore, interpret, and draw conclusions from football data. Use when the user wants to analyse match events, compare teams or players, understand tactical…

brainstorm
Skill

brainstorm

Brainstorm football data visualisations and chart designs. Use when the user wants ideas for how to visualise football data, needs inspiration for chart types,…

compute
Skill

compute

Calculate derived football metrics and models. Use when the user wants to compute xG, xGOT, PPDA, passing networks, expected threat, possession value, pressing…

heal
Skill

heal

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…

learn
Skill

learn

Learn about football analytics concepts and explore provider documentation. Use when the user asks what a metric means (xG, PPDA, expected threat, xT), wants…