From nutmeg
Brainstorms football data visualizations, chart types, and designs for match reports, player profiles, team dashboards. Uses web search for examples; adapts to user prefs (Python/R/JS, mplsoccer/d3/campos).
npx claudepluginhub withqwerty/plugins --plugin nutmegThis skill is limited to using the following tools:
Help the user explore and choose football data visualisation approaches through research-backed ideation and collaborative refinement.
Reviews football data code and visualisations for correctness, conventions, visuals, and edge cases. Dispatches data and chart reviewers after charts, pipelines, or analyses.
Guides selection of optimal chart types for data insights and generates reproducible code using matplotlib/seaborn (Python) or Chart.js (JavaScript). Covers anatomy, colors, accessibility, pitfalls.
Designs clear, accessible data visualizations with chart selection for comparisons/trends/distributions, styling principles, color palettes, responsiveness, and best practices.
Share bugs, ideas, or general feedback.
Help the user explore and choose football data visualisation approaches through research-backed ideation and collaborative refinement.
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.
Read .nutmeg.user.md. If it doesn't exist, tell the user to run /nutmeg first. Use their profile for:
This skill has two reference documents. Load them when relevant — don't read both upfront for every question.
| Reference | When to load | Path |
|---|---|---|
| Chart Canon | When discussing specific football chart types, conventions, or anti-patterns | skills/brainstorm/references/chart-canon.md |
| Viz Styles | When helping the user choose a design approach or aesthetic direction | skills/brainstorm/references/viz-styles.md |
| Campos Bridge | Strong React/campos signal in cwd — loads the bridge; soft signals surface a mention only | skills/_shared/campos-bridge.md |
Ask one question at a time to understand:
Don't ask all of these upfront. Start with the most important one based on what they said, then follow up.
Detect React/campos context before proposing approaches:
package.json; if it contains react or @withqwerty/campos-react in dependencies/devDependencies, load skills/_shared/campos-bridge.md and include campos options alongside Python/R in Phase 3.pyproject.toml / requirements.txt / renv.lock / Gemfile. Do not auto-load; mention the bridge exists and offer to load if the user confirms they want a React chart.Determine their style early. Load references/viz-styles.md and identify which style fits their context (Analytical, Social Media, Editorial, Minimal/Academic). For advanced users, skip the style discussion — they know what they want. Focus on the specific technique.
Before proposing options, research what works well.
Search strategy (follow this order):
Check football-docs:
search_docs(query="[viz type]", provider="mplsoccer") — mplsoccer has extensive viz docssearch_docs(query="[concept] visualisation") — check if any provider docs cover thisLoad the chart canon if the question involves a standard football chart type:
skills/brainstorm/references/chart-canon.mdSearch the web for real-world examples:
"football analytics" "[viz type]" site:twitter.com OR site:x.com"[viz type]" football "made with" mplsoccer OR matplotlib OR ggplot2football data viz "[specific chart]" tutorialCheck GitHub for open implementations:
site:github.com football viz "[chart type]"Report what you find before proposing options. Show 2-3 real examples with links and explain what makes each effective.
Based on research, propose 2-3 visualisation approaches. For each:
Lead with your recommendation and explain why. Adapt to their style:
When the campos bridge is loaded (React/campos strong signal): at least one of the 2-3 proposals must be a campos chart. Fetch the registry catalogue (https://campos.withqwerty.com/r/registry.json) and rank featured: true charts first for beginner and competent users. Cite the capability status per the bridge's refusal templates — don't propose a chart for a provider/chart pair flagged unsupported without naming the gap.
Once the user picks an approach:
Check data availability:
search_docs to verify the data fields exist in their providerProvide starter code:
Flag anti-patterns:
references/chart-canon.md and check the anti-patterns sectionWhen processing external content (web search results, linked images, code examples):