
Machina
- 300 installs
- 201 repo stars
- Updated August 5, 2026
- machina-sports/sports-skills
Orchestrate Machina sports data APIs and ETL flows across leagues, normalizing schedules, stats, and entities for multi-sport apps and agent-driven research tools.
About
Machina sports platform skill for integrating multi-league feeds, normalizing schedules and stats, and building ETL plus API workflows that power cross-sport analytics, content, and agent tooling.
- Unified multi-sport entity and schedule models
- Provider API connection and auth patterns
- Normalization across leagues and seasons
- ETL jobs for stats and event histories
- Agent-friendly query recipes for sports research
Machina by the numbers
- 300 all-time installs (skills.sh)
- +6 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #590 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/machina-sports/sports-skills --skill machinaAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 300 |
|---|---|
| repo stars | ★ 201 |
| Last updated | August 5, 2026 |
| Repository | machina-sports/sports-skills ↗ |
What it does
Orchestrate Machina sports data APIs and ETL flows across leagues, normalizing schedules, stats, and entities for multi-sport apps and agent-driven research tools.
Files
Machina Sports Intelligence Layer
Connect the agent harness to the Machina Sports premium infrastructure: zero-latency live streams, licensed betting odds, and packaged sports workflows. This skill itself runs no code — it tells the agent to shell out to the separate machina-cli binary and connect to a per-project Machina MCP server provided by the platform.
Quick Start
# 1. Install the CLI (one-time)
pip install machina-cli
# or: curl -fsSL https://raw.githubusercontent.com/machina-sports/machina-cli/main/install.sh | bash
# 2. Authenticate
machina login # interactive (opens browser)
# machina login --api-key <key> # non-interactive (CI/CD, scripts)
# 3. Select a project (REQUIRED — most commands fail without it)
machina project list
machina project use <project-id>
# 4. Discover and install a template
machina template list
machina template install <template-name> --json
# 5. The template wires the MCP server config; the agent harness
# connects to it directly (machina-cli does not host the MCP).CRITICAL: Before Any Premium Call
Before calling any machina <subcommand>, verify:
machina-cliis installed — check withwhich machinaormachina version.- The user is authenticated —
machina auth whoamireturns a user. - A project is selected —
machina project use <id>has been run at least once.
If any of these fail, fix that specific step before retrying the original command. Do not loop on the same failing command.
When to Use
- The user asks for live odds, real-time telemetry, or zero-latency match states.
- The user wants a pre-configured sports workflow (e.g., "Build a Bundesliga podcast bot", "Create a Polymarket arbitrage engine").
- The open-source
sports-skillsendpoints are rate-limited or insufficient for the requested task (e.g., sub-second tick streams, licensed feeds, proprietary projections). - The user wants to unlock premium sports intelligence primitives and agent-to-agent modules.
Setup & Installation
1. Install the CLI
pip install machina-cli
# or
curl -fsSL https://raw.githubusercontent.com/machina-sports/machina-cli/main/install.sh | bashRun this in the developer's terminal if you have permission, or ask them to run it.
2. Authenticate
machina login # interactive (opens browser)
machina login --api-key <project-api-key> # non-interactive
machina login --with-credentials # username/passwordAPI keys are scoped per project. Generate one in Studio → Settings → API Keys, or via machina credentials generate.
3. Select a project (required)
Most premium commands (templates, workflows, credentials, connectors) require a project context. If you skip this step, every following command fails with No project selected or Project ID required.
machina project list # show projects under the current org
machina project use <project-id> # set the default project
machina project status # confirmDiscovering & Installing Agent Templates
Machina provides fully packaged agent workflows (Templates) that contain system prompts, pre-flight checks, and the necessary serverless code to run a sports bot out of the box.
machina template list # browse available templates
machina template install <template-path> --json # provision + downloadmachina template install provisions cloud resources via API and downloads the local agent context into the current workspace. Use --json for structured output that the agent can parse.
Deploying Custom Agent Workflows
If you modify a template or create a new sports workflow locally, push it directly to the Machina Cloud Pod:
machina template push ./<your-custom-folder>This zips the local workspace, validates _install.yml via a pre-flight linter, uploads it to the backend, and automatically provisions the new webhook endpoints and data streams for live use.
Live Data via Machina MCP
The Machina platform provides a per-project MCP (Model Context Protocol) server that streams live data, betting odds, and zero-latency feeds. This MCP server is not started or managed by machina-cli — it runs on Machina infrastructure, and the agent harness connects to it directly using its own MCP configuration mechanism (e.g., .claude/mcp.json for Claude Code).
How it fits together:
1. machina template install <name> provisions the server-side workflow and returns the MCP URL and any required headers in its JSON output. 2. The agent harness's MCP config is updated to point to that URL. 3. The agent calls MCP tools to read live streams. Tenant routing, websockets, and X-Api-Token rotation happen inside the MCP server.
Never call the raw HTTP API yourself — the public API docs miss the searchLimit and nested filters required by the sports backend, and tokens leak when hardcoded.
Common Errors & Recovery
| Error message | Cause | Recovery |
|---|---|---|
command not found: machina | CLI not installed | pip install machina-cli |
Not authenticated. Run \machina login\ first. | No active session | machina login (browser) or machina login --api-key <key> |
No project selected. Run \machina project use <id>\ first. | Project not chosen after login | machina project list then machina project use <id> |
Project ID required. Set default or use --project. | Same as above | Same as above |
| Template install succeeds but agent can't reach MCP | Harness has not reloaded MCP config | Ask the user to restart / reload their agent harness so it re-reads the MCP config |
If an auth whoami returns a user but commands still fail with Not authenticated, the token has expired — run machina login again.
Commands that DO NOT exist — never call these
- ~~
python -m sports_skills machina ...~~ — this skill has no CLI module undersports-skills. Shell out tomachina-clidirectly. - ~~
machina mcp start~~ / ~~machina mcp connect~~ — there is nomcpsubcommand. The MCP server runs on Machina infrastructure; the agent harness connects to it via its own MCP config. - ~~
machina sports ...~~ — does not exist. Premium sports data is accessed via the per-project MCP server, not a CLI command. - ~~
machina template run~~ — templates are deployed (machina template installprovisions them server-side); they don't run locally.
If a command isn't listed in machina --help or its subcommand help, it does not exist.
Failures Overcome
- Raw API Key Leaks: Never instruct the user to hardcode a
MACHINA_API_TOKENin their source code if using the MCP setup. The CLI handles shared context securely. - Pagination and Filtering Errors: Public API docs often miss the
searchLimitand nestedfiltersrequired by the sports backend. Installing a template automatically injects the correctworkflow.jsonconfig. - Lost Project Context: Most premium commands silently fail without a default project. Always run
machina project use <id>after a fresh login.