К основному содержанию
скилл CX Codex

fastf1 — скилл для Claude Code: что делает и как установить

Загружает телеметрию, результаты гонок, тайминг кругов и стратегию шин Формулы-1 через библиотеку FastF1. Пригодится для анализа заездов и статистики пилотов прямо в чате.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add machina-sports/sports-skills --skill fastf1 -a claude-code
Открыть на GitHub

Что делает fastf1

Скилл даёт ассистенту доступ к данным чемпионата Формулы-1 через интерфейс пакета sports-skills. Агент может смотреть расписание гран-при, протоколы квалификаций и гонок, время прохождения секторов и составы резины на отрезках. Для работы нужен Python 3.10+ и предварительно установленный пакет sports-skills.

Под капотом используются вызовы CLI вроде sports-skills f1 get_race_results или модуль sports_skills.f1. Инструмент строго ограничен заездами F1: он не отдаёт новости, коэффициенты ставок и данные других серий вроде NASCAR или MotoGP. Важная деталь: пит-стопы здесь показывают суммарное время нахождения машины на пит-лейне, а не чистую остановку в боксах.

При формировании запросов в январе и феврале агент автоматически подставляет предыдущий календарный год. Это страхует от пустых ответов до официального старта нового сезона в марте.

Какие задачи решает

  • разобрать телеметрию и время кругов конкретного пилота
  • сравнить темп двух команд по секторам трассы
  • проверить шинную стратегию и длину отрезков в гонке
  • получить календарь заездов и текущее положение в чемпионате

Примеры запросов агенту

  • Покажи результаты последней гонки в Монце и время по секторам для Ферстаппена.
  • Сравни квалификационный темп пилотов Ferrari в текущем сезоне.
  • Какие комплекты шин использовали лидеры на Гран-при Великобритании?

Как установить fastf1

1Через Skills CLI (Vercel)

npx skills add machina-sports/sports-skills --skill fastf1 -a claude-code

2Вручную: положить файлы

~/.claude/skills/fastf1/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/fastf1/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о fastf1

Как установить fastf1 в Claude Code?

Выполните в терминале команду npx skills add machina-sports/sports-skills --skill fastf1 -a claude-code.

Что делает скилл fastf1?

Он подключает к ассистенту базу данных FastF1: календарь этапов, итоговые протоколы, времена кругов, пит-стопы и износ резины.

Что требуется для работы fastf1?

Необходим интерпретатор Python версии 3.10 или выше. Пакет устанавливается командой pip install sports-skills.

Исходный текст

SKILL.md · MIT
---
name: fastf1
description: |
  Formula 1 data — race schedules, results, lap timing, driver and team info. Powered by the FastF1 library. Covers F1 sessions, qualifying, practice, race results, sector times, tire strategy.

  Use when: user asks about F1 race results, qualifying, lap times, driver stats, team info, the F1 calendar, or Formula 1 data.
  Don't use when: user asks about other motorsports (MotoGP, NASCAR, IndyCar, WEC, Formula E). Don't use for F1 betting odds or predictions — use kalshi or polymarket instead. Don't use for F1 news articles — use sports-news instead.
license: MIT
compatibility: "Requires Python 3.10+ (install with: pip install sports-skills)"
metadata:
  author: machina-sports
  version: "0.1.0"
---

# FastF1 — Formula 1 Data

Before writing queries, consult `references/api-reference.md` for endpoints, ID conventions, and data shapes.

## Quick Start

Prefer the CLI — it avoids Python import path issues:
```bash
sports-skills f1 get_race_schedule --year=2025
sports-skills f1 get_race_results --year=2025 --event=Monza
```

Python SDK (alternative):
```python
from sports_skills import f1

schedule = f1.get_race_schedule(year=2025)
results = f1.get_race_results(year=2025, event="Monza")
```

## CRITICAL: Before Any Query

CRITICAL: Before calling any data endpoint, verify:
- Year is derived from the system prompt's `currentDate` — never hardcoded.
- In January or February, use `year = current_year - 1` (pre-season; the new F1 season has not started yet).

## Choosing the Year

Derive the current year from the system prompt's date (e.g., `currentDate: 2026-02-16` → current year is 2026).

- **If the user specifies a year**, use it as-is.
- **If the user says "latest", "recent", "last season", or doesn't specify**: The F1 season runs roughly March–December. If the current month is January or February, use `year = current_year - 1`. From March onward, use the current year.

## Workflows

### Race Weekend Analysis
1. `get_race_schedule --year=<year>` — find the event name and date
2. `get_race_results --year=<year> --event=<name>` — final classification (positions, times, points)
3. `get_lap_data --year=<year> --event=<name> --session_type=R` — lap-by-lap pace analysis
4. `get_tire_analysis --year=<year> --event=<name>` — strategy breakdown (compounds, stint lengths, degradation)

### Driver/Team Comparison
1. `get_championship_standings --year=<year>` — championship context (points, wins, podiums)
2. `get_team_comparison --year=<year> --team1=<t1> --team2=<t2>` OR `get_driver_comparison --year=<year> --driver1=<d1> --driver2=<d2>`
3. `get_season_stats --year=<year>` — aggregate performance (fastest laps, top speeds)

### Season Overview
1. `get_race_schedule --year=<year>` — full calendar with dates and circuits
2. `get_championship_standings --year=<year>` — driver and constructor standings
3. `get_season_stats --year=<year>` — season-wide fastest laps, top speeds, points leaders
4. `get_driver_info --year=<year>` — current grid (driver numbers, teams, nationalities)

## Commands

| Command | Description |
|---|---|
| `get_race_schedule` | Full season calendar with dates and circuits |
| `get_race_results` | Final race classification (positions, times, points) |
| `get_session_data` | Raw session info (Q, FP1, FP2, FP3, R) |
| `get_driver_info` | Driver details from the grid |
| `get_team_info` | Team info with driver lineup |
| `get_lap_data` | Lap-by-lap timing with sectors and tire data |
| `get_pit_stops` | Pit stops with pit-lane time (not stationary time) and team averages |
| `get_speed_data` | Speed trap and intermediate speed data |
| `get_championship_standings` | Driver and constructor championship standings (`--round=N` for standings after round N) |
| `get_season_stats` | Aggregate season performance |
| `get_team_comparison` | Team head-to-head: qualifying, race pace, sectors |
| `get_driver_comparison` | Driver head-to-head: qualifying H2H, race H2H, pace delta |
| `get_tire_analysis` | Tire strategy, stint lengths, degradation rates |

See `references/api-reference.md` for full parameter lists and return shapes.

## Examples

Example 1: F1 calendar
User says: "Show me the F1 calendar"
Actions:
1. Derive year from `currentDate`
2. Call `get_race_schedule(year=<derived_year>)`
Result: Full calendar with event names, dates, and circuits

Example 2: Driver race performance
User says: "How did Verstappen do at Monza?"
Actions:
1. Derive year from `currentDate` (or from context)
2. Call `get_race_results(year=<year>, event="Monza")` for final classification
3. Call `get_lap_data(year=<year>, event="Monza", session_type="R", driver="VER")` for lap times
Result: Finishing position, gap to leader, fastest lap, and tire strategy

Example 3: Latest results queried in pre-season
User says: "What were the latest F1 results?" (asked in February 2026)
Actions:
1. Current month is February → season not yet started → use `year = 2025`
2. Call `get_race_schedule(year=2025)` to find the last event of that season
3. Call `get_race_results(year=2025, event=<last_event>)` for the final race results
Result: Results of the final 2025 race

## Commands that DO NOT exist — never call these

- ~~`get_qualifying`~~ / ~~`get_practice`~~ — does not exist. Use `get_session_data` with `session_type="Q"` for qualifying or `session_type="FP1"`/`"FP2"`/`"FP3"` for practice.
- ~~`get_standings`~~ — does not exist. Use `get_championship_standings` instead.
- ~~`get_results`~~ — does not exist. Use `get_race_results` instead.
- ~~`get_calendar`~~ — does not exist. Use `get_race_schedule` instead.

If a command is not listed in the Commands table above, it does not exist.

## Troubleshooting

Error: Event name not found
Cause: Event name spelling does not match FastF1's internal naming
Solution: Call `get_race_schedule(year=<year>)` first to get the exact event names, then retry with the correct name

Error: Session data is empty
Cause: The session has not happened yet
Solution: FastF1 only returns data for completed sessions. Check `get_race_schedule` for when the session is scheduled

Error: `get_race_results` returns no `fastest_lap_time`
Cause: FastF1 has no lap data for that race (`fastest_lap_time` is computed from the laps)
Solution: Use `get_lap_data(session_type="R")` and find the minimum `lap_time` across all drivers

Error: Querying the current year in January or February returns no data
Cause: The new F1 season has not started yet
Solution: Use `year = current_year - 1` for any pre-March query; do not query the current year before March

© machina-sports · MIT · machina-sports/sports-skills

Похожие скиллы

Все скиллы по теме «Данные и базы» →
python-azure-iot-edge-modules официальный github Скилл помогает проектировать и развертывать модули Azure IoT Edge на Python. Пригодится для фильтрации телеметрии, адаптеров протоколов и локального инференса. 47установок f1-test-drive cyrusagents Проверяет, нужна ли F1-валидация для изменений, и проводит тестовый сценарий для затронутых рабочих процессов. CX Codex +1 804установок discover-event-surfaces amplitude Скилл анализирует YAML-отчёт diff-intake после правок кода и формирует список событий аналитики перед ревью с продакт-менеджером. CX Codex +1 42 800установок cargo-observability getcargo Настраивает фоновые проверки воркспейса Cargo и запускает действия агента при сбоях. Пригодится для контроля ошибок в пайплайнах и свежести данных. CX Codex +1 6 200установок cx-telemetry-querying coralogix Скилл для разбора инцидентов и вопросов по данным: помогает агенту выбрать, где живёт сигнал — в метриках, логах, трейсах или RUM, — и какими файлами пользоваться. CX Codex +1 4 700установок logfire-query pydantic Выполняет SQL-запросы к телеметрии Logfire прямо через агента. Скилл нужен для поиска медленных спанов, группировки исключений и расчёта метрик. CX Codex +1 1 900установок

Из того же набора22

cbb-data Скилл вытаскивает счёта, таблицы, ростеры и сетку March Madness из публичных эндпоинтов ESPN и NCAA. Ключи не нужны. CX Codex +1 670установок world-cup Скилл находит данные по матчам чемпионатов мира и связывает агента с каталогом Machina ZeroClick. Пригодится для получения турнирной статистики, прогнозов и готовых отчётов. CX Codex +1 667установок wnba-data Скилл открывает доступ к статистике WNBA через эндпоинты ESPN без API-ключей. Пригодится, чтобы узнавать счёт матчей, составы и показатели игроков прямо в чате. CX Codex +1 665установок volleyball-data Тянет таблицы, расписания, результаты, клубы и новости Dutch volleyball через открытый API Nevobo. Без ключей и настройки. CX Codex +1 578установок xctf-data Тянет профили атлетов NCAA из TFRRS: личные рекорды, год допуска, школа и результаты по сезонам. Плюс новости The Stride Report. CX Codex +1 490установок metadata Тянет логотипы клубов, фото игроков и данные о стадионах через бесплатный API TheSportsDB. Пригодится, когда ответ нужно дополнить картинкой или визуальным идентификатором. CX Codex +1 490установок machina Подключает агента к платному контуру Machina Sports: живые коэффициенты, потоки телеметрии и готовые шаблоны спортивных ботов. CX Codex +1 429установок cricket-data Скилл отдаёт текущий счёт матчей, новости серий и историческую статистику крикета без API-ключей. Пригодится для разбора игр IPL, BBL или международных туров. CX Codex +1 406установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой