adding-new-sport

Add a new sport to the betting system with a unified Elo rating interface and data pipelines.

Updated Jan 16, 2026
One-click install
npx skills add https://github.com/MGPowerlytics/nhlstats --skill adding-new-sport
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: adding-new-sport
Source: https://github.com/MGPowerlytics/nhlstats/tree/main/.github/skills/adding-new-sport
Command: npx skills add https://github.com/MGPowerlytics/nhlstats --skill adding-new-sport

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a repeatable blueprint to add a new sport to the multi-sport betting system, including a unified Elo rating interface, game data pipelines, and necessary configuration wiring.

Core Features & Use Cases

  • Unified Elo rating inheritance: implement a new SportEloRating that extends BaseEloRating for consistent behavior across sports.
  • Games data pipeline: create a new sport_games.py downloader and loader to fetch and normalize game data.
  • DAG and integration wiring: update the DAG config (SPORTS_CONFIG) and Kalshi market function to enable end-to-end operation.
  • Onboarding kit: supply a template for naming mappings and module exports to accelerate onboarding of future sports.

Quick Start

  • Implement a new Elo rating class (e.g., SportEloRating) inheriting BaseEloRating and implement predict, update, get_rating, expected_score, and get_all_ratings.
  • Develop a downloader module at plugins/sport_games.py to fetch and normalize game data and load to the unified_games table.
  • Update DAGs: add an entry to SPORTS_CONFIG in dags/multi_sport_betting_workflow.py and implement fetch_sport_markets in plugins/kalshi_markets.py.
  • Register the new Elo class in plugins/elo/init.py exports.
  • Run tests and verify integration with the dashboard.

Frequently Asked Questions about adding-new-sport

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new sport to a betting system using a unified Elo rating interface?

To add a new sport to the betting system, implement a class that inherits BaseEloRating, implement predict and update methods, and wire game data pipelines into the DAG configuration. This ensures consistent Elo rating behavior and end-to-end data integration.

What steps are needed to configure Airflow DAGs for a new sports betting data pipeline?

Configuring Airflow DAGs for sports betting requires adding an entry to SPORTS_CONFIG in the workflow file and implementing the fetch sport markets function. You must also develop a downloader module to fetch and normalize game data into the unified table.

Does adding a new sport require inheriting from a base Elo rating class?

Yes, adding a new sport requires inheriting from the BaseEloRating class. You must implement all abstract methods like expected_score and get_all_ratings, call super().__init__, and register the new Elo class in the plugin exports to ensure proper integration.

How do I integrate Kalshi market data when onboarding a new sport?

To integrate Kalshi market data for a new sport, implement the fetch sport markets function within the Kalshi markets plugin. This wires the new sport into the betting system, allowing end-to-end operation from game data downloading to market integration.

What is the best way to normalize game data for a multi-sport betting workflow?

The best way to normalize game data is creating a dedicated downloader module that fetches and loads records into the unified_games table. This standardizes data across sports, ensuring the Elo rating calculations and DAG pipelines process consistent inputs.

Why do I need to update SPORTS_CONFIG when adding a sport to the betting workflow?

Updating SPORTS_CONFIG is required to wire the new sport into the multi-sport betting workflow. Without this DAG configuration step, the game data pipeline and Kalshi market integration will not execute end-to-end, preventing the sport from operating.