Skip to content
Back to skills

Review

ASecurity

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.

  • 48 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added May 28, 2026
ai-agentspythonbashreact

Works with

  • mcp

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add withqwerty/nutmeg --skill review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/withqwerty-review/badge)](https://www.skillsdirectory.com/skills/withqwerty-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: nutmeg-review
description: "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."
argument-hint: "[what to review, e.g. 'my shot map code' or 'the passmap page']"
allowed-tools: ["Read", "Write", "Bash", "Glob", "Grep", "Agent", "WebFetch", "mcp__plugin_nutmeg_football-docs__search_docs", "mcp__football-docs__search_docs"]
---

# Review

Dispatch specialised reviewers to check football data code and visualisations for correctness, convention compliance, and edge cases.

## Accuracy

Read and follow `${CLAUDE_PLUGIN_ROOT}/docs/accuracy-guardrail.md` before answering any question about provider-specific facts.

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

## Determine scope

Look at what the user wants reviewed. Read the relevant files. Then decide which reviewers to dispatch:

| Signal | Dispatch |
|---|---|
| Code processes football data (fetching, filtering, transforming, computing metrics) | **data-reviewer** agent |
| Code renders a chart or visualisation | **chart-reviewer** agent (Mode 1: Code Review) |
| User provides a URL or says "check how it looks" | **chart-reviewer** agent (Mode 2: Visual Inspection) |
| Chart has filters, tooltips, state, or dynamic data | **chart-reviewer** agent (Mode 3: Interactive Edge Cases) |
| Code imports `@withqwerty/campos-*` (React + campos) | **chart-reviewer** agent (Mode 4: React + Campos) — pass `${CLAUDE_PLUGIN_ROOT}/skills/_shared/campos-bridge.md` in context |
| Code does both data processing AND chart rendering | **Both agents** in parallel |

**Always dispatch at least one.** If unclear, dispatch both — redundant findings are better than missed issues.

Detection for Mode 4: grep the reviewed files for `@withqwerty/campos-` or `from "@withqwerty/campos`. Any match activates Mode 4 alongside Mode 1.

## Dispatch

Spawn agents in parallel when dispatching multiple. Each agent receives:

1. The file paths to review
2. The user's profile (language, provider, experience level)
3. Which mode(s) to run (for chart-reviewer)
4. Context: what the user said they built and what they're worried about

### Data reviewer prompt template

```
Review the football data code in [FILE_PATHS].

The user is working with [PROVIDER] data in [LANGUAGE].
They built: [DESCRIPTION]
Their concern: [WHAT_THEY_SAID]

Follow the full review checklist in your agent prompt. Use search_docs to verify
provider-specific facts (coordinate systems, qualifier IDs, event types).
```

### Chart reviewer prompt template

```
Review the chart code in [FILE_PATHS].

Mode(s): [Code Review / Visual Inspection / Interactive Edge Cases]
The user is building: [DESCRIPTION]
Their concern: [WHAT_THEY_SAID]
Stack: [LANGUAGE + LIBRARIES from profile]
[If visual inspection: URL or instructions to render]

Load ${CLAUDE_PLUGIN_ROOT}/skills/brainstorm/references/chart-canon.md for convention checking.
```

## Synthesise findings

After both agents report back:

1. **Deduplicate** — if both flag the same issue (e.g., wrong coordinate system), merge into one finding
2. **Sort by severity** — Critical first, then Warning, then Info
3. **Group logically** — Data issues, then Rendering issues, then Convention issues, then Edge cases
4. **Present concisely** — table format with severity, location, issue, fix

## When to suggest visual inspection

If the chart-reviewer's code review finds potential rendering issues but can't confirm without seeing the output, suggest:

> "The code review found [N] potential rendering issues. Want me to visually inspect the chart? I'll need a URL or you can run it locally."

Don't require visual inspection — many users can't easily serve their chart locally. Code review alone catches most issues.

## After review

If findings are found:
- Ask the user which ones to fix
- For Critical issues, offer to fix them directly
- For Warning/Info, explain the trade-off and let them decide

If no findings:
- Say so clearly. Don't invent issues to justify the review.
- Optionally mention what was checked so the user knows the review was thorough.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.