By withqwerty
Acquire football data from StatsBomb, Opta, FBref, Understat, SportMonks via APIs, scraping, downloads; wrangle and transform datasets in Python; compute metrics like xG, PPDA, xT, passing networks; analyze matches, players, tactics; generate visualizations (shot maps, dashboards) in Python/JS; review code correctness; design end-to-end pipelines and storage setups.
npx claudepluginhub withqwerty/plugins --plugin nutmegReviews football chart and visualisation code for correctness, conventions, and rendering issues. Optionally inspects the rendered output in a browser.
Reviews football data code for common mistakes. Use after the user writes data processing, analysis, or visualisation code that works with football event data, stats, or metrics.
Designs end-to-end football data pipelines. Use when the user describes a goal ('I want to analyse pressing in the Premier League') and needs help planning the full workflow from data acquisition to output.
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 StatsBomb, Opta, FBref, Understat, SportMonks, Wyscout, Kaggle, or any football data source. Also use when they ask about API keys, authentication, setting up access to a provider, or what data is available free vs paid.
Explore, interpret, and draw conclusions from football data. Use when the user wants to analyse match events, compare teams or players, understand tactical patterns, build visualisations, or needs guidance on what questions to ask of their data. Adapts to the user's experience level.
Brainstorm football data visualisations and chart designs. Use when the user wants ideas for how to visualise football data, needs inspiration for chart types, wants to explore design approaches for match reports, player profiles, team dashboards, or any football analytics graphic. Searches the web for popular approaches and real-world examples before proposing options.
Calculate derived football metrics and models. Use when the user wants to compute xG, xGOT, PPDA, passing networks, expected threat, possession value, pressing intensity, or any derived football statistic from raw data.
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 submitting upstream issues or PRs when the problem is in a dependency like soccerdata or kloppy.
Learn about football analytics concepts and explore provider documentation. Use when the user asks what a metric means (xG, PPDA, expected threat, xT), wants learning resources, papers, or courses, is new to football analytics, or wants a learning path. Also use when the user asks about data provider documentation — qualifier IDs, coordinate systems, event types, API schemas, field mappings — or wants to compare providers, look something up in the docs, or find out what data a provider offers.
Football data analytics — the single entry point. Use whenever the user mentions football data, xG, expected goals, match analysis, player stats, scouting, match reports, shot maps, passing networks, Premier League data, Champions League stats, scraping FBref/Understat/Transfermarkt, building football charts, or anything football analytics related. Routes to specialised sub-skills automatically. Also handles first-time setup and profile management.
Review football data code and visualisations for correctness. Use after building a chart, data pipeline, or analysis. Dispatches specialised reviewers for data correctness, chart conventions, visual inspection, and interactive edge cases.
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).
Transform, filter, reshape, join, and manipulate football data. Use when the user needs to clean data, merge datasets, convert between formats, handle missing values, work with large datasets, or do any data manipulation task on football data.
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. If you've ever spent an hour figuring out which Opta qualifier is xG, or why your StatsBomb coordinates are upside down, or how to normalise a heatmap properly, this is for you.
What it does: Gives Claude deep, verified knowledge of football data providers, libraries, and conventions. Claude looks up the actual docs instead of guessing from training data, writes code adapted to your stack, and catches football-specific mistakes in your work.
Why not just ask Claude directly? Claude knows football data exists but its knowledge is frozen and often wrong on specifics — qualifier IDs, API endpoints, coordinate systems, method signatures. These change. nutmeg connects Claude to a live, searchable index of real provider documentation so it gets the details right.
nutmeg gives Claude deep knowledge of football data so it can help you:
It adapts to your experience level, preferred programming language, and available data sources.
Includes skills, agents, and the football docs MCP server.
# From Claude Code — add the marketplace first (one-time), then install
/plugin marketplace add withqwerty/plugins
/plugin install nutmeg@withqwerty
Works with Claude Code, Cursor, Codex, Windsurf, and 40+ other agents via the Agent Skills standard.
npx skills add withqwerty/nutmeg
This installs the 10 skills but not the agents or MCP docs server. For the full experience (searchable provider docs, pipeline builder agent, data reviewer agent), use the plugin install above.
Run /nutmeg and describe what you want to do. On first run, it creates your profile (experience, tools, data access) so all skills adapt accordingly.
Most users only need two commands — /nutmeg routes everything else automatically.
| Skill | What it does |
|---|---|
/nutmeg | Start here. Describe what you want — it handles setup, routing, and dispatch |
/nutmeg-learn | Concepts, resources, provider docs, learning paths |
These are invoked automatically by /nutmeg based on what you're doing. Power users can call them directly.
| Skill | What it does |
|---|---|
/nutmeg-acquire | Fetch, scrape, or download data + manage API keys |
/nutmeg-wrangle | Transform, filter, reshape data |
/nutmeg-compute | Calculate derived metrics (xG, PPDA, passing networks) |
/nutmeg-analyse | Explore and interpret football data |
/nutmeg-brainstorm | Research-backed visualisation ideation and chart design |
/nutmeg-store | Choose storage format and publishing method |
/nutmeg-review | Review data code and charts for correctness and conventions |
/nutmeg-heal | Fix broken scrapers, submit upstream issues |
nutmeg includes a searchable index of football data provider documentation. Think Context7 for football data.
# Build the docs index
cd mcp/football-docs-server
npm install
npm run ingest
# The MCP server starts automatically when nutmeg is loaded
Drop markdown files in docs/providers/{provider}/ and re-run npm run ingest:
docs/providers/
opta/
event-types.md
qualifiers.md
coordinate-system.md
api-access.md
statsbomb/
event-types.md
data-model.md
...
| Provider | Event data | Stats | xG | Tracking | Free? |
|---|---|---|---|---|---|
| StatsBomb | Yes | Yes | Yes | No | Open data (select comps) |
| Opta/Perform | Yes | Yes | Yes (xGOT too) | Yes | No (unofficial feed exists) |
| Wyscout | Yes | Yes | No | No | No |
| SportMonks | Partial | Yes | No | No | Free tier |
| FBref | No | Yes | Yes (via StatsBomb) | No | Yes (scraping) |
| Understat | No | Partial | Yes | No | Yes (scraping) |
| ClubElo | No | No | No | No | Yes (API) |
MIT
Analyzes and visualizes football player and match performance data. Provides statistical insights for sports analytics and strategy.
Uses power tools
Uses Bash, Write, or Edit tools
Share bugs, ideas, or general feedback.
Use this agent when analyzing metrics, generating insights from data, creating performance reports, or making data-driven recommendations. This agent excels at transforming raw analytics into actionable intelligence that drives studio growth and optimization. Examples:\n\n<example>\nContext: Monthly performance review needed
Give Claude Code a research team. Forecast, score, classify, or research every row of a dataset.
Comprehensive collection of 33 production-ready skills for strategic thinking, decision-making, research methods, architecture design, and problem-solving. Includes frameworks like Bayesian reasoning, kill criteria, layered reasoning, information architecture, and more.
Open-source, local-first Claude Code plugin for token reduction, context compression, and cost optimization using hybrid RAG retrieval (BM25 + vector search), reranking, AST-aware chunking, and compact context packets.
Agent Skills for AI/ML tasks including dataset creation, model training, evaluation, and research paper publishing on Hugging Face Hub