关于 mlb-playoff-scheduler
mlb-playoff-scheduler 是面向奇幻棒球的技能,用于评估 MLB 球队在季后赛周的赛程和对手。它生成比赛数量、对阵质量和持有价值信号,供交易分析与季后赛阵容规划使用。
主要功能
- 01统计季后赛周的比赛数量
- 02使用 wOBA 评估对手
- 03按投手左右投调整对阵
- 04计算季后赛对阵质量
- 05综合比赛量与质量计算持有价值
- 06生成球队和球员信号
适用场景
- 01交易前比较球员的季后赛赛程
- 02寻找季后赛对阵有利的球队
- 03将比赛量少的球员列为板凳候选
- 04向交易和季后赛规划流程提供赛程信号
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lyndonkl/ claude --skill mlb-playoff-scheduler安装后在 Claude Code 中输入/mlb-playoff-scheduler确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
resources/methodology.mdtemplate.mdresources/evaluators/rubric_mlb_playoff_scheduler.json详细介绍
MLB 季后赛赛程规划器
目录
示例
场景:现在是 2026-07-14。距离交易截止日(8 月 6 日)还有三周。用户询问:“我应该留着 Junior Caminero(TB,3B),还是把他交易换一个投手?”交易分析器需要先获取 Caminero 的 playoff_games、playoff_matchup_quality 和 holding_value,才能评估这笔交易。
研究阶段(每项事实都通过网络搜索核实,并为每个 URL 添加引用):
- MLB.com 赛程 -> TB 在季后赛阶段第 21-23 周共进行 20 场比赛(7 / 7 / 6)。
- 第 21 周(8 月 17-23 日):TB @ BAL(3 场),TB 对阵 TOR(4 场)。对手 wOBA 平均值(按比赛场次加权):0.322
- 第 22 周(8 月 24-30 日):TB @ NYY(3 场),TB 对阵 BOS(4 场)。对手 wOBA 平均值:0.338
- 第 23 周(8 月 31 日-9 月 6 日):TB 对阵 CLE(3 场),TB @ DET(3 场)。对手 wOBA 平均值:0.308
- 对阵右打者的对方先发投手 wOBA 加权平均值:0.323
归一化阶段:
playoff_games= 7 + 7 + 6 = 20(比赛场次较多;今年联盟中观测到的最高值是 21)playoff_matchup_quality(击球手视角)= 100 - ((0.323 - 0.300) x 1000) = 100 - 23 = 77(对方投球表现弱于联盟平均水平 -> 对 Caminero 有利)holding_value= 0.6 x normalize(20 / 21) + 0.4 x 77 = 0.6 x 95 + 0.4 x 77 = 88
下游组合:
mlb-trade-analyzer会读取这些信号。Caminero 的holding_value= 88,非常高。如果对方提供的投手holding_value为 65,这笔交易更适合维持现状 ->REJECT,或用价值较低的击球手进行COUNTER。mlb-playoff-planner会读取相同的信号,以找出季后赛阶段的阵容短板(例如,任何playoff_games< 14 的先发球员都可能成为替补人选)。
7 月 1 日之前的行为:
如果在 2026-07-01 之前调用此技能,它会生成一个精简信号文件,其中三个字段都设为 null,confidence: 0.0,正文为:“信号不足——时机过早。7 月之前的赛程变化(交易、轮换变动、伤病)会导致季后赛预测不可靠。请在 7 月 1 日之后重新运行。”
工作流
复制此清单并跟踪进度:
MLB Playoff Scheduler Progress:
- [ ] Step 1: Check date gate (today >= 2026-07-01)
- [ ] Step 2: Define the three playoff week windows (Mon-Sun)
- [ ] Step 3: For each MLB team, pull the schedule for weeks 21-23
- [ ] Step 4: Count games per team per week
- [ ] Step 5: Score each opponent (wOBA for hitters, ERA for pitchers)
- [ ] Step 6: Compute playoff_matchup_quality per team (volume-weighted)
- [ ] Step 7: Compute holding_value per team (blend volume + quality)
- [ ] Step 8: Map per-team scores to every rostered player
- [ ] Step 9: Emit signal file and validate
步骤 1:检查日期门槛
提示词中包含今天的日期。如果今天早于 2026-07-01,请跳过步骤 2-8,并输出“信号不足”占位内容(参见 resources/methodology.md)。不要猜测或预先计算;赛程变动(7 月交易、轮换变化、征召)会导致 7 月前的预测失效。
步骤 2:确定季后赛周的时间范围
根据 yahoo-mlb/context/league-config.md,季后赛周为第 21、22、23 周,最后一天是 2026 年 9 月 6 日(周日)。倒推计算(每周为周一至周日):
| Fantasy 周 | 开始(周一) | 结束(周日) |
|---|---|---|
| 第 21 周 | 2026-08-17 | 2026-08-23 |
| 第 22 周 | 2026-08-24 | 2026-08-30 |
| 第 23 周 | 2026-08-31 | 2026-09-06 |
总计:21 个日历日。每支球队最多可进行约 21 场比赛(仅在没有休赛日的情况下,较为罕见)。
步骤 3:查询每支 MLB 球队的赛程
通过网络搜索 mlb.com/schedule 和 FanGraphs 球队赛程页面。查询词和备用方案见 resources/methodology.md。引用每个 URL。
- MLB.com /schedule:按球队和日期范围 2026-08-17 至 2026-09-06 筛选
- 与 FanGraphs 球队页面交叉核对(可发现近期赛程调整/双重赛)
- 标记已确认的双重赛(同一日历日计为 2 场比赛)
- 标记任何延期风险(球队所在城市多雨,且有待补赛)
步骤 4:统计每支球队每周的比赛场次
统计 30 支 MLB 球队在三个季后赛周各自的比赛场次。输出 30 行的表格。输出格式见 resources/template.md。
- 第 21 周比赛场次(整数)
- 第 22 周比赛场次(整数)
- 第 23 周比赛场次(整数)
- 总计 = 三周之和(即每支球队的
playoff_games数值)
步骤 5:为每个对手评分
为每个对手查询两项指标:
- 打者端评分:对手球队投手群本赛季至今的 wOBA 被打击值(截至赛程窗口)。数值越低 = 对阵越困难。
- 投手端评分:对手球队打线对阵右投手和左投手时的 wOBA(考虑左右投手)。数值越低 = 对投手越有利。
来源和查询步骤见 resources/methodology.md。使用截至运行日期的本赛季至今数据;不要进行预测。
步骤 6:计算 playoff_matchup_quality
按第 21-23 周的全部比赛进行加权,权重依据比赛场次:
For hitters on team T:
avg_opp_wOBA_allowed = sum over games g of (opp_staff_wOBA_allowed_g) / playoff_games_T
playoff_matchup_quality = 100 - (avg_opp_wOBA_allowed - 0.300) x 1000
(clamped [0, 100]; league-average staff wOBA allowed ~ 0.320 -> score ~ 80)
For pitchers on team T:
avg_opp_lineup_wOBA = sum over games g of (opp_lineup_wOBA_vs_P_handedness_g) / playoff_games_T
playoff_matchup_quality = 100 - (avg_opp_lineup_wOBA - 0.300) x 1000
(same clamp; easier-hitting opposing lineups -> higher quality for this pitcher)
基准:50 = 对手实力中性。推导过程见 resources/methodology.md。
步骤 7:计算 holding_value
综合比赛场次和对阵质量:
volume_score = (playoff_games / 21) x 100
holding_value = 0.6 x volume_score + 0.4 x playoff_matchup_quality
(clamped [0, 100])
理由:比赛场次比对手较弱这一因素的权重更高(场次确定;对手 wOBA 会波动)。权重依据和其他加权方案(例如,放弃特定类别会改变权重)见 resources/methodology.md。
步骤 8:将球队评分映射到球员
球队 T 的每位在册球员均继承球队 T 的三项信号。投手的 playoff_matchup_quality 还需按惯用手调整(他们面对的打线因左右投手而异)。参见 resources/methodology.md。
步骤 9:输出并验证
使用 resources/template.md 写入 signals/YYYY-MM-DD-playoff.md。调用 mlb-signal-emitter 进行模式验证。根据 resources/evaluators/rubric_mlb_playoff_scheduler.json 对输出评分。最低标准:平均分 3.5+。
信号输出
| 信号 | 范围 | 含义 |
|---|---|---|
playoff_games | int 0-21 | 第 21、22、23 个幻想赛周内安排的比赛场次(8 月 17 日 - 9 月 6 日)。假设没有休赛日,最多约 21 场。 |
playoff_matchup_quality | 0-100 | 按比赛场次加权的对手强度。50 = 中性。>50 = 对手较弱(值得留队)。击球手视角使用对方投手群允许的 wOBA;投手视角使用对方阵容面对该投手惯用手时的 wOBA。 |
holding_value | 0-100 | 0.6 x 比赛场次 + 0.4 x 对阵质量。用于决定留队还是交易的主要信号。>70 = 强烈建议留队;<40 = 如果能换回价值更高的击球手/投手,则可考虑交易。 |
下游:mlb-trade-analyzer 使用 holding_value 评估任何拟议交易的双方。mlb-playoff-planner 使用 playoff_games 标记季后赛周的替补还是首发决策。
防护措施
-
7 月 1 日之前,返回占位内容。 不要提前计算。7 月之前,30-40% 的球队会调整轮值、牛棚或阵容,导致对手质量评分失效。占位内容是诚实的;预先计算的信号则是假精确。
-
50 始终代表中性。 每个 0-100 分数都以联盟平均水平为 50。如果你的分布中位数没有落在 MLB 球队的 50 分处,请重新校准。
-
为每个 URL 提供引用。 比赛场次、双重赛和对手 wOBA 都必须能追溯到
source_urls:中特定的 mlb.com/schedule 或 FanGraphs URL。没有来源的信号,其confidence <= 0.3,并会接受红队审查。 -
双重赛按 2 场计算。 如果 MLB.com 赛程表显示同一日历日有两场比赛,则该队计为 2 场比赛。有些抓取来源会将其合并——请交叉核对。
-
投手的对手 wOBA 应按惯用手区分。 面对洋基队(阵容中左打者较多)的左投手,与面对洋基队的右投手并不相同。左投手应使用对方阵容面对左投手时的 wOBA,右投手则使用面对右投手时的 wOBA。
-
使用赛季至今的 wOBA,而非预测值。 对手质量评分使用截至运行日期的实际赛季数据。不要向前预测——对于这段仅 3 周的窗口,预测只会增加噪声,不会增加有效信号。
-
最大场次约为 21 场,而非恰好 21 场。 每天都比赛的球队会打 21 场,但 MLB 赛程中安排了休赛日。通常范围为 17-20 场。打 21 场的球队必有一场双重赛;请标记出来(双重赛通常会安排牛棚投手先发,这会改变对阵质量)。
-
留队价值不等于交易价值。
holding_value回答的是“与可用的替补级球员相比,这名球员对我冲击季后赛有多大价值?”它并非通用的交易市场价格。交易分析器会结合holding_value和市场价值,得出最终判断。 -
7 月 1 日之后每周重新运行。 赛程可能变化(因雨延期、补赛、9 月初征召球员会改变对手阵容)。季后赛规划器每周日运行;每次运行时都应刷新这些信号。
快速参考
2026 年季后赛周窗口:
Week 21: Mon 2026-08-17 -> Sun 2026-08-23
Week 22: Mon 2026-08-24 -> Sun 2026-08-30
Week 23: Mon 2026-08-31 -> Sun 2026-09-06
Total: 21 calendar days; max ~21 games per team
关键公式:
playoff_games = games_wk21 + games_wk22 + games_wk23
For hitters:
playoff_matchup_quality = 100 - (avg_opp_staff_wOBA_allowed - 0.300) x 1000
(clamped [0, 100]; league avg ~ 0.320 -> 80)
For pitchers:
playoff_matchup_quality = 100 - (avg_opp_lineup_wOBA_vs_hand - 0.300) x 1000
(same clamp)
volume_score = (playoff_games / 21) x 100
holding_value = 0.6 x volume_score + 0.4 x playoff_matchup_quality
(clamped [0, 100])
Pre-July 1: playoff_games = null, playoff_matchup_quality = null,
holding_value = null, confidence = 0.0,
body = "insufficient signal -- too early"
关键数据源(参见 yahoo-mlb/context/frameworks/data-sources.md):
- MLB 赛程:https://www.mlb.com/schedule
- FanGraphs 球队赛程:https://www.fangraphs.com/teams/{team}/schedule
- 球队工作人员允许的 wOBA:https://www.fangraphs.com/leaders.aspx(投球排行榜,球队总计)
- 球队阵容对阵 RHP/LHP 的 wOBA:https://www.fangraphs.com/leaders.aspx(击球,分项 -> 球队总计)
- 球场因素(用于交叉核对):https://www.fangraphs.com/guts.aspx?type=pf&season=2026
所需输入:运行日期(始终传入);可选的名单,用于限定输出范围(否则输出全部 30 支球队)。
生成的输出:一个位于 signals/YYYY-MM-DD-playoff.md 的信号文件,包含 YAML frontmatter、按球队列出赛程的 30 行表格、按球队列出的对手质量表,以及已列入名单球员的映射。7 月 1 日之前会以存根内容宽松处理失败。
关键资源:
- resources/template.md:信号文件模板、按球队列出的赛程表、球员映射表
- resources/methodology.md:赛程查询流程、对手质量评分、归一化公式、7 月 1 日前的存根行为、左右投调整
- resources/evaluators/rubric_mlb_playoff_scheduler.json:8 项标准质量评分表