mlb-playoff-scheduler について
mlb-playoff-schedulerは、ファンタジーベースボール向けにMLBのプレーオフ期間の試合日程と対戦相手を評価するスキルです。試合数、対戦の質、保有価値のシグナルを作成し、トレード分析やプレーオフの起用計画に役立てます。
主な機能
- 01プレーオフ期間の試合数を集計
- 02wOBAで対戦相手を評価
- 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日)まであと3週間です。ユーザーは「ジュニア・カミネロ(TB、3B)を保持すべきですか、それとも投手とトレードすべきですか?」と尋ねています。トレード分析ツールは、オファーを評価する前に、カミネロの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(対戦相手の投手力はリーグ平均より低く、カミネロに有利です)holding_value= 0.6 x normalize(20 / 21) + 0.4 x 77 = 0.6 x 95 + 0.4 x 77 = 88
下流での構成:
mlb-trade-analyzerがこれらを読み取ります。カミネロのholding_valueは88と非常に高い値です。提示された投手のholding_valueが65の場合、現状維持が有利なため、トレードはREJECTするか、より価値の低い打者とのトレードをCOUNTERします。mlb-playoff-plannerは同じシグナルを読み取り、プレーオフ対象週に向けたロースターの穴を特定します(例:playoff_gamesが14未満の先発選手はベンチ候補です)。
7月1日より前の動作:
2026-07-01より前にスキルが呼び出された場合、3つのフィールドすべてを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日(日)に終了します。週は月曜から日曜までとして、逆算します。
| ファンタジーの週 | 開始日(月) | 終了日(日) |
|---|---|---|
| 第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 各チームのスケジュールを取得する
Web 検索で mlb.com/schedule と FanGraphs のチーム別スケジュールページを確認します。検索クエリと代替手段については、resources/methodology.md を参照してください。URL はすべて引用してください。
- MLB.com /schedule:チームと日付の範囲を指定(2026-08-17〜2026-09-06)
- FanGraphs のチームページと照合(最近の試合日程変更やダブルヘッダーを確認)
- 確定済みのダブルヘッダーを記録(同じ暦日の試合数として2試合と数える)
- 試合延期のリスクを明記(雨の多い都市に本拠地があり、消化待ちの代替試合があるチーム)
ステップ 4:チームごとに週別の試合数を数える
MLB の全30チームについて、プレーオフの3週間それぞれの試合数を集計します。30行のグリッドを出力してください。出力形式については、resources/template.md を参照してください。
- 第21週の試合数(整数)
- 第22週の試合数(整数)
- 第23週の試合数(整数)
- 合計 = 3週間の試合数の合計(チームごとの
playoff_gamesの値)
ステップ 5:各対戦相手を評価する
各対戦相手について、次の2つの指標を取得します。
- 打者側の評価用:対戦チームの投手陣が許した wOBA(シーズン開始からスケジュール対象期間まで)。数値が低いほど、厳しい対戦相手です。
- 投手側の評価用:対戦チームの打線の対 RHP および対 LHP の 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 の3つのシグナルを引き継ぎます。投手の場合は、対戦する打線が左右で異なるため、さらに利き腕に応じて 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〜23週(8月17日〜9月6日)に予定されている試合数です。休養日がないと仮定した場合、最大で約21試合です。 |
playoff_matchup_quality | 0-100 | 対戦相手の強さを試合数で加重した値です。50は中立を表します。50を超える場合、対戦相手が比較的弱く、保持に有利です。打者の場合は相手投手陣の被wOBAを使用し、投手の場合はその投手の利き腕に対する相手打線のwOBAを使用します。 |
holding_value | 0-100 | 0.6 × 試合数 + 0.4 × 対戦相手の質です。保持するかトレードするかを判断する主要なシグナルです。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試合が記載されている場合、そのチームの試合数は2です。スクレイピングしたデータソースの中には試合を1つにまとめるものがあるため、照合してください。
-
投手には利き腕別の相手wOBAを使用します。 左打者が多いヤンキースと対戦する左投手は、ヤンキースと対戦する右投手とは条件が異なります。左投手には相手打線の対左投手wOBAを、右投手には対右投手wOBAを使用してください。
-
予測値ではなく、シーズン開始からのwOBAを使用します。 相手の質のスコアには、実行日時点の実際のシーズン成績を使用します。3週間という短い期間では、予測を加えてもシグナルは増えずノイズが増えるため、先の成績を予測しないでください。
-
最大試合数は厳密に21ではなく、約21です。 毎日試合をするチームなら21試合になりますが、MLBのスケジュールには休養日が組み込まれています。通常は17〜20試合です。21試合あるチームにはどこかでダブルヘッダーがあるため、フラグを立ててください(ダブルヘッダーの試合はブルペンゲームになることが多く、対戦相手の質が変わります)。
-
保持価値はトレード価値ではありません。
holding_valueは、「この選手は、代替レベルの選手と比べて、私のプレーオフ進出にとって価値が高いか」という問いに答えるものです。一般的なトレード市場での価格ではありません。trade-analyzerはholding_valueと市場価値を組み合わせて、最終的な判断を下します。 -
7月1日以降は毎週再実行します。 スケジュールは変更されるためです(雨天中止、振替試合、9月初旬の昇格による相手ラインアップの変化)。playoff-plannerは毎週日曜日に実行されます。実行のたびにこれらのシグナルを更新してください。
クイックリファレンス
プレーオフ週の期間(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 チームが出力されます)。
生成される出力:YAML フロントマター、チームごとの 30 行の試合一覧、チームごとの対戦相手の質の表、ロースター登録選手の対応表を含む、signals/YYYY-MM-DD-playoff.md のシグナルファイルが 1 つ生成されます。7 月 1 日より前はスタブを使用してフェイルオープンします。
主なリソース:
- resources/template.md:シグナルファイルのテンプレート、チームごとの試合一覧、選手対応表
- resources/methodology.md:スケジュールの照会手順、対戦相手の質のスコアリング、正規化の数式、7 月より前のスタブの動作、左右の投手に応じた調整
- resources/evaluators/rubric_mlb_playoff_scheduler.json:8 項目の品質評価基準