mcpField
N
nutmeg-analyse

nutmeg-analyse

github.com/withqwerty数据与数据库55185 次安装今天更新
代码仓库

关于 nutmeg-analyse

nutmeg-analyse 是帮助用户探索和解读足球数据的技能,会根据用户经验调整分析方式。它强调核对指标定义、统计严谨性、说明数据局限,并选择合适的可视化。

主要功能

  1. 01根据用户经验调整分析
  2. 02通过文档核实数据提供方信息
  3. 03比较前核对指标变体
  4. 04指导比赛、球队和球员分析
  5. 05谨慎陈述结论并说明数据局限

适用场景

  1. 01分析一场比赛或一个赛季
  2. 02结合适当背景比较球员
  3. 03为足球指标选择可视化方式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/withqwerty/nutmeg --skill nutmeg-analyse

安装后在 Claude Code 中输入/nutmeg-analyse确认已加载。

详细介绍

分析

帮助用户探索和解读足球数据。根据 .nutmeg.user.md 中的信息,调整分析深度和方式,以适应用户的经验水平。

准确性

回答任何涉及提供方特定事实(ID、端点、架构、坐标、速率限制)的问题前,请阅读并遵循 ${CLAUDE_PLUGIN_ROOT}/docs/accuracy-guardrail.md。始终使用 search_docs,切勿根据训练数据猜测。

报告或比较 football-docs 中有指标卡(list_metrics)的指标时,请使用 get_metric 读取指标卡,并注明变体 ID;不要比较不同变体的数值。如果两个来源使用了不同变体而得出不一致的结果,请明确说明。

首先:检查用户档案

读取 .nutmeg.user.md。如果该文件不存在,请使用合理的默认设置(Python 和 pandas,中级水平),并在最后建议运行 /nutmeg setup。

根据经验水平调整

初学者

逐步引导用户。从简单的问题开始:

  • “哪支球队进球最多?”(统计进球数并排序)
  • “谁射门最多?”(筛选射门数据,按球员分组)
  • “进球来自哪里?”(绘制射门位置图)

避免使用术语。使用 xG 前先解释它的含义。分析前先展示数据的样子。

初学者常犯的错误: 根据极小的样本量得出结论。某球员 3 次射门打进 2 球,不值得报告其 67% 的转化率。务必指出样本量。

中级

用户了解基础知识。可协助进行:

  • 比较分析(这支球队与联赛平均水平对比)
  • 情境指标(每 90 分钟数据、按控球率调整)
  • 多变量分析(传球特征 + 压迫强度)
  • 基础可视化(射门图、传球网络、xG 时间线)

中级用户常犯的错误: 混淆相关性与因果关系。高控球率并不会 导致 胜利。帮助用户思考其中的作用机制。

高级 / 专业人士

重点关注严谨性:

  • 统计显著性(差异是真实存在还是随机噪声?)
  • 控制混杂因素(对手实力、比赛状态、主客场)
  • 模型选择和验证
  • 传达不确定性

高级用户常犯的错误: 过度设计。有时,条形图比神经网络更能回答问题。

分析框架

单场比赛分析
  1. 比赛叙事: xG 时间线(两队分别在何时创造机会?)
  2. 射门图: 每次射门的位置、xG 值和结果
  3. 传球网络: 球员之间的连线关系及平均位置
  4. 压迫分析: 两队分别在哪里夺回球权?
  5. 关键事件: 进球、红牌、换人影响
球队赛季分析
  1. 表现走势: 整个赛季的滚动 xG、积分和状态
  2. 风格概况: 控球率、PPDA、直接程度、对定位球的依赖
  3. 阵容分析: 出场时间分布、按贡献衡量的关键球员
  4. 主场 vs 客场: 表现拆分
  5. 比分状态: 领先与落后时,球队的踢法有何不同?
球员分析
  1. 每 90 分钟数据: 按出场分钟数而非场次进行标准化
  2. 百分位排名: 该球员在同位置、同联赛的球员中排在什么位置?
  3. 雷达图: 多维度概况(进球、助攻、传球、压迫等)
  4. 推进行为: 能显著向前推进球的传球、带球和跑动
  5. 最低出场时间筛选: 900 分钟(10 场完整比赛)是常见门槛
比较分析
  1. 先明确问题。“球员 A 比球员 B 强吗?”太过笼统。更好的问题是:“谁在运动战中创造的高质量机会更多?”
  2. 控制情境因素。 使用每 90 分钟数据,并调整球队实力和联赛水平。
  3. 选择合适的基准。 与同位置平均水平比较,而不是与所有球员比较。
  4. 承认局限性。 球员的角色、队友和战术体系各不相同。

可视化指南

图表类型最适合的用途足球应用场景
射门地图球场上的空间数据射门位置,按 xG 调整标记大小
传球网络关系谁传球给谁、球队阵型
xG 时间线比赛叙事比赛期间累计的 xG
雷达图多维度比较球员或球队画像
柱状图排名/比较联赛积分榜、射手榜
热力图密度/频率球员触球地图、活动区域
散点图两个变量之间的关系xG 与实际进球数、创造力与数量
蜂群图分布按位置划分的球员统计数据分布
可视化原则
  • 清晰标注坐标轴,并注明单位。
  • 始终展示数据实际反映的内容,而不只是你想让它说明什么。
  • 空间数据应使用足球场背景(Python 中的 mplsoccer,R 中的 ggsoccer)。
  • 颜色选择:比较俱乐部时使用球队颜色;表示数值时使用渐变色板。
  • 标明数据来源。

发布一项论断前

阅读 ${CLAUDE_PLUGIN_ROOT}/docs/metric-misuse.md,并据此检查每项统计数据。如果用户要求你撰写某项统计数据无法支持的论断(帖子、标题或案例),请先说明这一点,并提出更合适的衡量指标;只起草证据能够支持的内容。

帮助用户理解

遵循 ${CLAUDE_PLUGIN_ROOT}/docs/understanding.md:用用户自己的数字解释结果;在文档列出的情形(结果出人意料、用户必须向他人解释结果)提供一篇可供用户编辑和分享的解读页面;看到结果后,如果要更改方法或删去限定说明,必须先说明。

数据诚信

足球数据可以被用来支持任何你想要的说法。请注意避免以下问题:

  1. 先明确问题,再查看数据。 不要为了寻找有趣的模式而盲目挖掘数据。
  2. 报告未发现差异的结果。 “我们未发现显著差异”也是有效发现。
  3. 同时展示原始数字和复杂指标。 如果没有进球数作为背景,xG 就毫无意义。
  4. 明确说明衡量的内容。 “逼抢强度”是如何衡量的?衡量了多长时间?
  5. 承认数据无法说明什么。 事件数据无法捕捉无球跑动、交流或战术智慧。

评论

支持 Markdown