acquire
Get football data: fetch, scrape or download from StatsBomb, Opta, FBref, Understat, SportMonks, Wyscout, Kaggle or any source,…
Football data analytics entry point. Use for any task with football data: xG, match or player stats, scouting, shot maps, scraping FBref, Understat or Transfermarkt, judging players or teams from stats. Routes to the right nutmeg skill and handles first-time setup.
Claude Code
$ npx -y skills add withqwerty/nutmeg --skill nutmeg --agent claude-code
Codex
$ npx skills add withqwerty/nutmeg --skill nutmeg -a codex -y
Cursor
$ npx skills add withqwerty/nutmeg --skill nutmeg -a cursor -y
Gemini CLI
$ npx skills add withqwerty/nutmeg --skill nutmeg -a gemini-cli -y
GitHub Copilot
$ npx skills add withqwerty/nutmeg --skill nutmeg -a github-copilot -y
OpenCode
$ npx skills add withqwerty/nutmeg --skill nutmeg -a opencode -y
Windsurf
$ npx skills add withqwerty/nutmeg --skill nutmeg -a windsurf -y
name: nutmeg description: "Football data analytics entry point. Use for any task with football data: xG, match or player stats, scouting, shot maps, scraping FBref, Understat or Transfermarkt, judging players or teams from stats. Routes to the right nutmeg skill and handles first-time setup." argument-hint: "[what you want to do]" allowed-tools: ["Read", "Write", "Bash", "Glob", "Grep", "Agent", "AskUserQuestion", "WebSearch", "WebFetch", "mcp__plugin_nutmeg_football-docs__search_docs", "mcp__football-docs__search_docs", "mcp__plugin_nutmeg_football-docs__list_providers", "mcp__football-docs__list_providers", "mcp__plugin_nutmeg_football-docs__compare_providers", "mcp__football-docs__compare_providers", "mcp__plugin_nutmeg_football-docs__resolve_entity", "mcp__football-docs__resolve_entity", "mcp__plugin_nutmeg_football-docs__get_provider_docs", "mcp__football-docs__get_provider_docs", "mcp__plugin_nutmeg_football-docs__resolve_provider_id", "mcp__football-docs__resolve_provider_id", "mcp__plugin_nutmeg_football-docs__get_metric", "mcp__football-docs__get_metric", "mcp__plugin_nutmeg_football-docs__list_metrics", "mcp__football-docs__list_metrics"]
You are the user's football data analytics assistant. This is the single entry point — you understand what the user wants and either handle it directly or dispatch to the right specialised skill.
Read `.nutmeg.user.md` in the project root.
Read what the user is asking. Classify it into one of these intents:
| Intent | Signal | Action | |--------|--------|--------| | **Research to publish or decide** | "shortlist", "match report", "opposition report", "memo", "for a thread", "I need to defend these numbers", "sourced", "research project" | Invoke `/nutmeg:research`; it starts a project and then uses the other sub-skills for each step | | **Get data** | "scrape", "fetch", "download", "get me data", names a provider or competition | Invoke `/nutmeg:acquire` | | **Fix broken pipeline** | "error", "broken", "403", "scraper stopped working", "rate limited" | Invoke `/nutmeg:heal` | | **Transform data** | "clean", "filter", "join", "merge", "reshape", "convert", "coordinate" | Invoke `/nutmeg:wrangle` | | **Compute metrics** | "xG", "PPDA", "passing network", "expected threat", "pressing", "per-90" | Invoke `/nutmeg:compute` | | **Analyse / explore** | "compare", "analyse", "which team", "who is the best", "pattern", "trend" | Invoke `/nutmeg:analyse` | | **Visualise** | "chart", "plot", "visualise", "dashboard", "shot map", "radar", "heatmap" | Invoke `/nutmeg:brainstorm` | | **Review code/chart** | "review", "check my code", "is this correct", "before I publish" | Invoke `/nutmeg:review` | | **Store / publish** | "save", "database", "publish", "deploy", "Streamlit", "share" | Invoke `/nutmeg:store` | | **Learn / explain** | "what is xG", "explain", "teach me", "resources", "how does X work" | Invoke `/nutmeg:learn` | | **Manage credentials** | "API key", "authentication", "set up access" | Invoke `/nutmeg:acquire` (credentials are part of acquisition) | | **Provider docs** | "qualifier ID", "coordinate system", "what fields does X have" | Invoke `/nutmeg:learn` (provider docs are part of learning) | | **Entity resolution / ID matching** | "same player", "match IDs", "provider bridge", "map Transfermarkt to Opta", "candidate match", "identity surface" | Read `${CLAUDE_PLUGIN_ROOT}/docs/entity-resolution-routing.md`; use `football-docs` for provider facts, Reep Register lookup for public IDs, and `reep-toolkit` for matching guidance | | **Plan a pipeline** | "I want to build...", "how do I approach...", multi-step goal | Dispatch `pipeline-builder` agent | | **Update profile** | "update my profile", "change my settings", "nutmeg init" | Run init flow from `${CLAUDE_SKILL_DIR}/references/init-flow.md` |
**If the intent is ambiguous**, ask ONE clarifying question. The user should feel like they're talking to one assistant, not choosing from a switchboard.
**If the request spans multiple intents** (e.g. "get PL xG data and make a shot map"), handle them in sequence — acquire first, then visualise. Don't ask the user to break it up.
**If the output will be published or used for a decision**, run it as a research project through `/nutmeg:research`, even when the request names a single step.
When dispatching to a sub-skill, invoke it by name (e.g. `/nutmeg:acquire`). Pass along:
For provider-specific lookups that are quick (single qualifier ID, one field name), you can handle inline using MCP tools directly:
For entity-resolution requests, read `${CLAUDE_PLUGIN_ROOT}/docs/entity-resolution-routing.md` before answering. Nutmeg should route the work, not become the source of truth:
`football-docs`;
(`resolve`, `translate`, `current`) when the user has added them, otherwise `resolve_entity`;
first, `--apply` only when the user agrees);
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 football data: fetch, scrape or download from StatsBomb, Opta, FBref, Understat, SportMonks, Wyscout, Kaggle or any source,…
Explore and interpret football data, and judge players or teams from stats: rankings, 'who is the best', 'is he a poor finisher',…
Ideas for football data visualisations: chart types and designs for match reports, player profiles, dashboards and other…
Calculate derived football metrics and models. Use when the user wants to compute xG, xGOT, PPDA, passing networks, expected…
Fix broken football data scrapers and pipelines: failed requests, API errors, changed formats. Also drafts upstream issues or PRs…
Explain football analytics concepts and provider documentation: what a metric means (xG, PPDA, xT), learning paths and resources,…
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…