mcpField
M
mlb-playoff-scheduler

mlb-playoff-scheduler

github.com/lyndonklその他18742 回インストール10 週間前に更新
リポジトリ

mlb-playoff-scheduler について

mlb-playoff-schedulerは、ファンタジーベースボール向けにMLBのプレーオフ期間の試合日程と対戦相手を評価するスキルです。試合数、対戦の質、保有価値のシグナルを作成し、トレード分析やプレーオフの起用計画に役立てます。

主な機能

  1. 01プレーオフ期間の試合数を集計
  2. 02wOBAで対戦相手を評価
  3. 03投手の左右別相性を反映
  4. 04プレーオフ対戦品質を算出
  5. 05試合数と品質から保有価値を算出
  6. 06球団・選手別シグナルを出力

活用シーン

  1. 01トレード前に選手の日程を比較
  2. 02プレーオフで有利な対戦を探す
  3. 03試合数が少ない選手をベンチ候補にする
  4. 04トレードやプレーオフ計画に日程情報を渡す

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lyndonkl/claude --skill mlb-playoff-scheduler

インストール後、Claude Code で/mlb-playoff-schedulerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

resources/
methodology.md
template.md
resources/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-172026-08-23
第22週2026-08-242026-08-30
第23週2026-08-312026-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_gamesint 0-21ファンタジーの第21〜23週(8月17日〜9月6日)に予定されている試合数です。休養日がないと仮定した場合、最大で約21試合です。
playoff_matchup_quality0-100対戦相手の強さを試合数で加重した値です。50は中立を表します。50を超える場合、対戦相手が比較的弱く、保持に有利です。打者の場合は相手投手陣の被wOBAを使用し、投手の場合はその投手の利き腕に対する相手打線のwOBAを使用します。
holding_value0-1000.6 × 試合数 + 0.4 × 対戦相手の質です。保持するかトレードするかを判断する主要なシグナルです。70を超える場合は保持が有力です。40未満の場合は、より価値の高い打者/投手を獲得できるなら、トレード候補です。

後続処理:mlb-trade-analyzer は holding_value を使って、提案された取引の両者を評価します。mlb-playoff-planner は playoff_games を使って、プレーオフ期間中の控えと先発の判断にフラグを立てます。

ガードレール

  1. 7月1日より前はスタブを返します。 事前計算はしないでください。7月前は、チームの30〜40%でローテーション、ブルペン、またはラインアップが変動し、対戦相手の質のスコアリングが無効になります。スタブは正直な値ですが、事前計算されたシグナルは見せかけの精度です。

  2. 常に50を中立とします。 0〜100のすべてのスコアは、リーグ平均の50を基準にします。中央値がMLBチームの50にならない分布の場合は、基準を調整してください。

  3. すべてのURLを出典として記載します。 試合数、ダブルヘッダー、相手のwOBAは、それぞれ source_urls: に記載した特定のmlb.com/scheduleまたはFanGraphsのURLから追跡できる必要があります。出典のないシグナルには confidence <= 0.3 を設定し、レッドチームレビューの対象とします。

  4. ダブルヘッダーは2試合として数えます。 MLB.comのスケジュールで同じ暦日に2試合が記載されている場合、そのチームの試合数は2です。スクレイピングしたデータソースの中には試合を1つにまとめるものがあるため、照合してください。

  5. 投手には利き腕別の相手wOBAを使用します。 左打者が多いヤンキースと対戦する左投手は、ヤンキースと対戦する右投手とは条件が異なります。左投手には相手打線の対左投手wOBAを、右投手には対右投手wOBAを使用してください。

  6. 予測値ではなく、シーズン開始からのwOBAを使用します。 相手の質のスコアには、実行日時点の実際のシーズン成績を使用します。3週間という短い期間では、予測を加えてもシグナルは増えずノイズが増えるため、先の成績を予測しないでください。

  7. 最大試合数は厳密に21ではなく、約21です。 毎日試合をするチームなら21試合になりますが、MLBのスケジュールには休養日が組み込まれています。通常は17〜20試合です。21試合あるチームにはどこかでダブルヘッダーがあるため、フラグを立ててください(ダブルヘッダーの試合はブルペンゲームになることが多く、対戦相手の質が変わります)。

  8. 保持価値はトレード価値ではありません。 holding_value は、「この選手は、代替レベルの選手と比べて、私のプレーオフ進出にとって価値が高いか」という問いに答えるものです。一般的なトレード市場での価格ではありません。trade-analyzerは holding_value と市場価値を組み合わせて、最終的な判断を下します。

  9. 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 を参照):

必要な入力:実行日(常に渡されます)。必要に応じて、出力対象を絞り込むロースターリストを指定できます(指定しない場合は、全 30 チームが出力されます)。

生成される出力:YAML フロントマター、チームごとの 30 行の試合一覧、チームごとの対戦相手の質の表、ロースター登録選手の対応表を含む、signals/YYYY-MM-DD-playoff.md のシグナルファイルが 1 つ生成されます。7 月 1 日より前はスタブを使用してフェイルオープンします。

主なリソース:

コメント