<< All versions

Skill v1.0.2

currentAutomated scan100/100
withqwerty/nutmeg/store

2 files

──Details
PublishedOctober 14, 2026 at 09:21 AM
Content Hashsha256:efd34e8c7c360b8c...
Git SHAf18a0eeb9d17
Bump Typepatch
Compare with v1.0.1
──Files
Files (1 file, 5.6 KB)
SKILL.md5.6 KBactive
SKILL.md · 138 lines · 5.6 KB

version: "1.0.2" 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"]


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.
← v1.0.1All versions