{"id":"8e565611-800e-43f5-80be-8ab5c566b138","shortId":"Z2Ur3U","kind":"skill","title":"nutmeg-review","tagline":"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.","description":"# Review\n\nDispatch specialised reviewers to check football data code and visualisations for correctness, convention compliance, and edge cases.\n\n## Accuracy\n\nRead and follow `docs/accuracy-guardrail.md` before answering any question about provider-specific facts.\n\n## First: check profile\n\nRead `.nutmeg.user.md`. If it doesn't exist, tell the user to run `/nutmeg` first.\n\n## Determine scope\n\nLook at what the user wants reviewed. Read the relevant files. Then decide which reviewers to dispatch:\n\n| Signal | Dispatch |\n|---|---|\n| Code processes football data (fetching, filtering, transforming, computing metrics) | **data-reviewer** agent |\n| Code renders a chart or visualisation | **chart-reviewer** agent (Mode 1: Code Review) |\n| User provides a URL or says \"check how it looks\" | **chart-reviewer** agent (Mode 2: Visual Inspection) |\n| Chart has filters, tooltips, state, or dynamic data | **chart-reviewer** agent (Mode 3: Interactive Edge Cases) |\n| Code does both data processing AND chart rendering | **Both agents** in parallel |\n\n**Always dispatch at least one.** If unclear, dispatch both — redundant findings are better than missed issues.\n\n## Dispatch\n\nSpawn agents in parallel when dispatching multiple. Each agent receives:\n\n1. The file paths to review\n2. The user's profile (language, provider, experience level)\n3. Which mode(s) to run (for chart-reviewer)\n4. Context: what the user said they built and what they're worried about\n\n### Data reviewer prompt template\n\n```\nReview the football data code in [FILE_PATHS].\n\nThe user is working with [PROVIDER] data in [LANGUAGE].\nThey built: [DESCRIPTION]\nTheir concern: [WHAT_THEY_SAID]\n\nFollow the full review checklist in your agent prompt. Use search_docs to verify\nprovider-specific facts (coordinate systems, qualifier IDs, event types).\n```\n\n### Chart reviewer prompt template\n\n```\nReview the chart code in [FILE_PATHS].\n\nMode(s): [Code Review / Visual Inspection / Interactive Edge Cases]\nThe user is building: [DESCRIPTION]\nTheir concern: [WHAT_THEY_SAID]\nStack: [LANGUAGE + LIBRARIES from profile]\n[If visual inspection: URL or instructions to render]\n\nLoad skills/brainstorm/references/chart-canon.md for convention checking.\n```\n\n## Synthesise findings\n\nAfter both agents report back:\n\n1. **Deduplicate** — if both flag the same issue (e.g., wrong coordinate system), merge into one finding\n2. **Sort by severity** — Critical first, then Warning, then Info\n3. **Group logically** — Data issues, then Rendering issues, then Convention issues, then Edge cases\n4. **Present concisely** — table format with severity, location, issue, fix\n\n## When to suggest visual inspection\n\nIf the chart-reviewer's code review finds potential rendering issues but can't confirm without seeing the output, suggest:\n\n> \"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.\"\n\nDon't require visual inspection — many users can't easily serve their chart locally. Code review alone catches most issues.\n\n## After review\n\nIf findings are found:\n- Ask the user which ones to fix\n- For Critical issues, offer to fix them directly\n- For Warning/Info, explain the trade-off and let them decide\n\nIf no findings:\n- Say so clearly. Don't invent issues to justify the review.\n- Optionally mention what was checked so the user knows the review was thorough.","tags":["review","nutmeg","withqwerty","agent-skills","claude-code","claude-code-plugin","football-analytics","football-data","mcp","opta","sports-analytics","statsbomb"],"capabilities":["skill","source-withqwerty","skill-review","topic-agent-skills","topic-claude-code","topic-claude-code-plugin","topic-football-analytics","topic-football-data","topic-mcp","topic-opta","topic-sports-analytics","topic-statsbomb"],"categories":["nutmeg"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/withqwerty/nutmeg/review","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add withqwerty/nutmeg","source_repo":"https://github.com/withqwerty/nutmeg","install_from":"skills.sh"}},"qualityScore":"0.458","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 17 github stars · SKILL.md body (3,385 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T01:02:06.625Z","embedding":null,"createdAt":"2026-04-18T23:06:53.097Z","updatedAt":"2026-04-23T01:02:06.625Z","lastSeenAt":"2026-04-23T01:02:06.625Z","tsv":"'/nutmeg':82 '1':129,206,353 '2':147,212,369 '3':163,221,379 '4':231,393 'accuraci':53 'agent':117,127,145,161,176,197,204,281,350 'alon':471 'alway':179 'analysi':20 'answer':59 'ask':481 'back':352 'better':191 'build':14,321 'built':238,267 'case':34,52,166,317,392 'catch':472 'chart':16,27,121,125,143,150,159,173,229,298,304,411,443,467 'chart-review':124,142,158,228,410 'check':40,68,138,345,525 'checklist':278 'clear':512 'code':7,43,105,118,130,167,253,305,311,414,430,469 'complianc':49 'comput':112 'concern':270,324 'concis':395 'confirm':423 'context':232 'convent':28,48,344,388 'coordin':292,363 'correct':11,26,47 'critic':373,489 'data':6,17,25,42,108,115,157,170,245,252,263,382 'data-review':114 'decid':98,506 'dedupl':354 'descript':268,322 'determin':84 'direct':495 'dispatch':21,36,102,104,180,186,195,201 'doc':285 'docs/accuracy-guardrail.md':57 'doesn':74 'dynam':156 'e.g':361 'easili':464 'edg':33,51,165,316,391 'event':296 'exist':76 'experi':219 'explain':498 'fact':66,291 'fetch':109 'file':96,208,255,307 'filter':110,152 'find':189,347,368,416,478,509 'first':67,83,374 'fix':402,487,493 'flag':357 'follow':56,274 'footbal':5,41,107,251 'format':397 'found':432,480 'full':276 'group':380 'id':295 'info':378 'inspect':30,149,314,335,407,441,459 'instruct':338 'interact':32,164,315 'invent':515 'issu':194,360,383,386,389,401,419,436,474,490,516 'justifi':518 'know':529 'languag':217,265,329 'least':182 'let':504 'level':220 'librari':330 'll':445 'load':341 'local':454,468 'locat':400 'logic':381 'look':86,141 'mani':460 'mention':522 'merg':365 'metric':113 'miss':193 'mode':128,146,162,223,309 'multipl':202 'n':433 'need':446 'nutmeg':2 'nutmeg-review':1 'nutmeg.user.md':71 'offer':491 'one':183,367,485 'option':521 'output':427 'parallel':178,199 'path':209,256,308 'pipelin':18 'potenti':417,434 'present':394 'process':106,171 'profil':69,216,332 'prompt':247,282,300 'provid':64,133,218,262,289 'provider-specif':63,288 'qualifi':294 'question':61 're':242 'read':54,70,93 'receiv':205 'redund':188 'relev':95 'render':119,174,340,385,418,435 'report':351 'requir':457 'review':3,4,23,35,38,92,100,116,126,131,144,160,211,230,246,249,277,299,302,312,412,415,431,470,476,520,531 'run':81,226,452 'said':236,273,327 'say':137,510 'scope':85 'search':284 'see':425 'serv':465 'sever':372,399 'signal':103 'skill' 'skill-review' 'skills/brainstorm/references/chart-canon.md':342 'sort':370 'source-withqwerty' 'spawn':196 'specialis':22,37 'specif':65,290 'stack':328 'state':154 'suggest':405,428 'synthesis':346 'system':293,364 'tabl':396 'tell':77 'templat':248,301 'thorough':533 'tooltip':153 'topic-agent-skills' 'topic-claude-code' 'topic-claude-code-plugin' 'topic-football-analytics' 'topic-football-data' 'topic-mcp' 'topic-opta' 'topic-sports-analytics' 'topic-statsbomb' 'trade':501 'trade-off':500 'transform':111 'type':297 'unclear':185 'url':135,336,448 'use':12,283 'user':79,90,132,214,235,258,319,461,483,528 'verifi':287 'visual':29,148,313,334,406,440,458 'visualis':9,45,123 'want':91,437 'warn':376 'warning/info':497 'without':424 'work':260 'worri':243 'wrong':362","prices":[{"id":"ac059933-47cd-41fa-bb0d-356cad52a0b7","listingId":"8e565611-800e-43f5-80be-8ab5c566b138","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"withqwerty","category":"nutmeg","install_from":"skills.sh"},"createdAt":"2026-04-18T23:06:53.097Z"}],"sources":[{"listingId":"8e565611-800e-43f5-80be-8ab5c566b138","source":"github","sourceId":"withqwerty/nutmeg/review","sourceUrl":"https://github.com/withqwerty/nutmeg/tree/main/skills/review","isPrimary":false,"firstSeenAt":"2026-04-18T23:06:53.097Z","lastSeenAt":"2026-04-23T01:02:06.625Z"}],"details":{"listingId":"8e565611-800e-43f5-80be-8ab5c566b138","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"withqwerty","slug":"review","github":{"repo":"withqwerty/nutmeg","stars":17,"topics":["agent-skills","claude-code","claude-code-plugin","football-analytics","football-data","mcp","opta","sports-analytics","statsbomb","xg"],"license":null,"html_url":"https://github.com/withqwerty/nutmeg","pushed_at":"2026-04-16T02:33:15Z","description":"Football data analytics toolkit for Claude Code. Covers Opta, StatsBomb, Wyscout, SportMonks, and free sources.","skill_md_sha":"42ba884fa20917f81a49380fe271592a31bc77ed","skill_md_path":"skills/review/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/withqwerty/nutmeg/tree/main/skills/review"},"layout":"multi","source":"github","category":"nutmeg","frontmatter":{"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."},"skills_sh_url":"https://skills.sh/withqwerty/nutmeg/review"},"updatedAt":"2026-04-23T01:02:06.625Z"}}