fastf1 について
fastf1は、F1データの照会と分析を行うスキルです。sports-skillsのコマンドラインやPython SDKから各種データを取得でき、対象シーズンの年の選び方も案内します。
主な機能
- 01カレンダーとレース結果の照会
- 02ドライバーとチーム情報の取得
- 03ラップタイムとピットストップの分析
- 04ドライバー、チーム、シーズンの比較
活用シーン
- 01シーズン日程と順位表の確認
- 02レースごとのラップペースとタイヤ戦略の分析
- 03ドライバーまたはチームの比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ machina-sports/ sports-skills --skill fastf1インストール後、Claude Code で/fastf1を入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api-reference.mdcommands.mdschemas.mdscripts/validate_params.sh詳細
FastF1 — Formula 1 Data
クエリを作成する前に、エンドポイント、ID の規則、データ形式について references/api-reference.md を参照してください。
クイックスタート
Python のインポートパスの問題を避けられるため、CLI を優先してください:
sports-skills f1 get_race_schedule --year=2025
sports-skills f1 get_race_results --year=2025 --event=Monza
Python SDK(代替手段):
from sports_skills import f1
schedule = f1.get_race_schedule(year=2025)
results = f1.get_race_results(year=2025, event="Monza")
重要:クエリを実行する前に
重要:データエンドポイントを呼び出す前に、次の点を確認してください:
- 年は、システムプロンプトの
currentDateから取得してください。ハードコードしないでください。 - 1 月または 2 月は、
year = current_year - 1を使用してください(プレシーズンであり、新しい F1 シーズンはまだ始まっていません)。
年の選び方
システムプロンプトの日付から現在の年を取得します(例:currentDate: 2026-02-16 → 現在の年は 2026)。
- ユーザーが年を指定した場合は、その年をそのまま使用します。
- ユーザーが「最新」「最近」「前シーズン」と指定した場合、または年を指定しなかった場合:F1 シーズンはおおむね 3 月から 12 月までです。現在の月が 1 月または 2 月の場合は、
year = current_year - 1を使用します。3 月以降は現在の年を使用します。
ワークフロー
レースウィークエンドの分析
get_race_schedule --year=<year>— イベント名と日付を確認しますget_race_results --year=<year> --event=<name>— 最終順位(順位、タイム、ポイント)を確認しますget_lap_data --year=<year> --event=<name> --session_type=R— ラップごとのペースを分析しますget_tire_analysis --year=<year> --event=<name>— 戦略の内訳(コンパウンド、スティントの長さ、デグラデーション)を確認します
ドライバー/チームの比較
get_championship_standings --year=<year>— チャンピオンシップの状況(ポイント、優勝回数、表彰台回数)を確認しますget_team_comparison --year=<year> --team1=<t1> --team2=<t2>またはget_driver_comparison --year=<year> --driver1=<d1> --driver2=<d2>get_season_stats --year=<year>— 総合成績(ファステストラップ、最高速度)を確認します
シーズンの概要
get_race_schedule --year=<year>— 日程とサーキットを含む全カレンダーを確認しますget_championship_standings --year=<year>— ドライバーとコンストラクターの順位を確認しますget_season_stats --year=<year>— シーズン全体のファステストラップ、最高速度、ポイントリーダーを確認しますget_driver_info --year=<year>— 現在のグリッド(ドライバー番号、チーム、国籍)を確認します
コマンド
| コマンド | 説明 |
|---|---|
get_race_schedule | 日程とサーキットを含むシーズン全体のカレンダー |
get_race_results | レースの最終順位(順位、タイム、ポイント) |
get_session_data | セッションの生データ(Q、FP1、FP2、FP3、R) |
get_driver_info | グリッド上のドライバーの詳細 |
get_team_info | ドライバーのラインアップを含むチーム情報 |
get_lap_data | セクターとタイヤデータを含むラップごとのタイム |
get_pit_stops | ピットレーン通過時間(停車時間ではありません)とチーム平均を含むピットストップ |
get_speed_data | スピードトラップと中間地点の速度データ |
get_championship_standings | ドライバーとコンストラクターのチャンピオンシップ順位(ラウンド N 終了時点の順位は --round=N) |
get_season_stats | シーズンの総合成績 |
get_team_comparison | チーム同士の比較:予選、レースペース、セクター |
get_driver_comparison | ドライバー同士の比較:予選の直接対決、レースの直接対決、ペース差 |
get_tire_analysis | タイヤ戦略、スティントの長さ、デグラデーション率 |
パラメーターと戻り値の形式の一覧については、references/api-reference.md を参照してください。
例
例1:F1 カレンダー ユーザーの発言:「F1 カレンダーを表示して」 操作:
currentDateから年を導き出しますget_race_schedule(year=<derived_year>)を呼び出します 結果:イベント名、日付、サーキットを含む全カレンダー
例2:ドライバーのレースパフォーマンス ユーザーの発言:「フェルスタッペンはモンツァでどうだった?」 操作:
currentDateから年を導き出します(またはコンテキストから取得します)- 最終順位を取得するため、
get_race_results(year=<year>, event="Monza")を呼び出します - ラップタイムを取得するため、
get_lap_data(year=<year>, event="Monza", session_type="R", driver="VER")を呼び出します 結果:最終順位、トップとの差、最速ラップ、タイヤ戦略
例3:プレシーズンに最新の結果を問い合わせる ユーザーの発言:「最新のF1の結果は?」(2026年2月に質問) 操作:
- 現在の月は2月 → シーズンはまだ始まっていません →
year = 2025を使用します - そのシーズンの最終イベントを見つけるため、
get_race_schedule(year=2025)を呼び出します - 最終レースの結果を取得するため、
get_race_results(year=2025, event=<last_event>)を呼び出します 結果:2025年最終レースの結果
存在しないコマンド — 絶対に呼び出さないでください
/get_qualifying— 存在しません。予選にはget_practicesession_type="Q"、フリー走行にはsession_type="FP1"/"FP2"/"FP3"を指定してget_session_dataを使用してください。— 存在しません。代わりにget_standingsget_championship_standingsを使用してください。— 存在しません。代わりにget_resultsget_race_resultsを使用してください。— 存在しません。代わりにget_calendarget_race_scheduleを使用してください。
上記のコマンド一覧表に記載されていないコマンドは存在しません。
トラブルシューティング
エラー:イベント名が見つかりません
原因:イベント名のスペルが FastF1 の内部名称と一致していません
解決策:まず get_race_schedule(year=<year>) を呼び出して正確なイベント名を確認し、その後、正しい名前で再試行してください
エラー:セッションデータが空です
原因:セッションがまだ開催されていません
解決策:FastF1 は完了したセッションのデータのみを返します。get_race_schedule でセッションの開催予定を確認してください
エラー:get_race_results が fastest_lap_time を返しません
原因:FastF1 にそのレースのラップデータがありません(fastest_lap_time はラップデータから計算されます)
解決策:get_lap_data(session_type="R") を使用し、全ドライバーの lap_time の最小値を見つけてください
エラー:1月または2月に現在の年を問い合わせると、データが返されません
原因:新しいF1シーズンがまだ始まっていません
解決策:3月より前の問い合わせでは year = current_year - 1 を使用してください。3月より前に現在の年を問い合わせないでください