mcpField
N
nutmeg-store

nutmeg-store

github.com/withqwertyData & databases55158 installsUpdated today
Repository

About nutmeg-store

nutmeg-store is a skill for choosing storage formats, project layouts, and publishing methods for football data. It tailors guidance to project scale and user goals, and includes rules for packaging research work with raw-data controls.

Key features

  1. 01Storage choices by project size
  2. 02Football data directory layout
  3. 03Dashboard and static-site publishing options
  4. 04Data sharing recommendations
  5. 05Research bundles with raw-data controls
  6. 06Cost guidance by project goals

Use cases

  1. 01Selecting formats for football analytics data
  2. 02Publishing dashboards or static visualizations
  3. 03Sharing datasets with collaborators
  4. 04Packaging research for review or handoff

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/withqwerty/nutmeg --skill nutmeg-store

After installing, type/nutmeg-storein Claude Code to confirm it loaded.

Details

From the project README

Store

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

Accuracy

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.

First: check profile

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.

Storage format decision tree

Small projects (< 100MB, single user)
FormatBest forTools
JSONRaw event data, API responsesAny language
CSVTabular stats, easy to shareSpreadsheets, pandas, R
ParquetColumnar analytics, fast queriespolars, pandas, DuckDB, Arrow
SQLiteRelational queries, multiple tablesAny language, DB browser tools

Recommendation: Start with JSON for raw data, Parquet for processed data.

Medium projects (100MB - 10GB)
FormatBest forNotes
Parquet filesAnalytics workloads5-10x smaller than JSON, fast columnar reads
DuckDBSQL analytics on local filesQueries Parquet/CSV directly, no server needed
SQLiteRelational data with joinsSingle file, portable, ACID compliant

Recommendation: Parquet for storage, DuckDB for querying.

Large projects (> 10GB, multiple users)
SolutionBest forCost
PostgreSQLProduction apps, complex queriesFree self-hosted; managed hosting is paid
BigQueryMassive analytical queriesFree tier, then pay per query
Cloudflare R2Object storage (raw files)Free tier, then pay per GB
S3 / GCSObject storage at scalePay per GB

Prices and free tiers change. Check the provider's current pricing page before you quote a number.

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
PlatformLanguageCostNotes
StreamlitPythonFree (community cloud)Most popular for football analytics. Deploy from GitHub
ObservableJavaScriptFree tierGreat for D3.js visualisations. Notebooks + Framework
ShinyRFree tier (shinyapps.io)R ecosystem integration
GradioPythonFree (HuggingFace Spaces)Quick ML model demos
Static sites
PlatformNotes
GitHub PagesFree. Good for static charts (D3, matplotlib exports)
Cloudflare PagesFree. Faster, more features than GH Pages
VercelFree tier. Good for Next.js/Astro sites
Sharing data
MethodBest for
GitHub repoSmall datasets (< 100MB), code + data together
GitHub ReleasesLarger files (check GitHub's current size limits)
Kaggle DatasetsCommunity sharing, discoverable, free
HuggingFace DatasetsML-focused, versioned, free
Handing over a research project

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:

  • --raw no keeps raw data (the project's data/, run outputs and figure snapshots) out and lists it by hash. Safe for licensed provider or club data.
  • --raw yes includes it. Only when the user has the right to share the data; the gate shows the team's licence notes.

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

Social media / content
OutputToolNotes
Static chartsmatplotlib, ggplot2, D3.jsExport as PNG/SVG
Animated chartsmatplotlib.animation, D3 transitionsExport as GIF/MP4
Twitter/X threadsChart images + alt textAccessibility matters
Blog postsMarkdown + embedded chartsGitHub 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 commercial data access. Provider pricing is negotiated, so do not quote a figure.
  • Product: Database hosting ($7-50/mo), consider data licensing costs separately.

Comments

Markdown supported