/world-cup
Premium FIFA World Cup 2026 market & match intelligence — a hosted, read-only layer that fuses official match truth (fixtures, standings, squads, injuries, player performance) with live prediction markets (Kalshi + Polymarket: prices, order books, price history, movers,
$ npx -y skills add machina-sports/sports-skills --skill world-cup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/world-cup
Context preview
The summary Claude sees to decide when to auto-load this skill.
Premium FIFA World Cup 2026 market & match intelligence — a hosted, read-only layer that fuses official match truth (fixtures, standings, squads, injuries, player performance) with live prediction markets (Kalshi + Polymarket: prices, order books, price history, movers,
SKILL.md
world-cup.SKILL.mdname: world-cup
description: |
Premium FIFA World Cup 2026 market & match intelligence — a hosted, read-only
layer that fuses official match truth (fixtures, standings, squads, injuries,
player performance) with live prediction markets (Kalshi + Polymarket: prices,
order books, price history, movers, cross-venue edges) and AI-grounded context
(prematch briefs, move explanations, fan/social pulse). Every entity carries a
canonical machina URN cross-walked across api-football, sportradar, opta, entain
and ESPN, so a market resolves to a fixture resolves to two teams.
This skill is prompt-only and premium: it routes the agent to the hosted World Cup
Intelligence project (a per-project Machina MCP server) via `machina-cli`. It runs
no code locally and ships no API keys.
Use when: the user wants World Cup 2026 odds + match context together, asks "what
moved and why", wants a grounded market brief or fan-sentiment read on a fixture,
or needs one stable id that joins markets ↔ fixtures ↔ teams across providers.
Don't use when: the user wants free snapshot data from public APIs (use the
`football-data`, `kalshi`, `polymarket`, or `markets` skills), or wants to place a
bet/trade — this layer is read-only intelligence and never executes orders.
license: MIT
metadata:
author: machina-sports
version: "0.1.0"
premium: true
billing: metered
risk:
mode: premium_mcp_read_only
money_movement: false
secrets_required: true
external_mcp: true
metered_billing: true
untrusted_content: true
requires_explicit_confirmation: trueWorld Cup 2026 Intelligence (Premium)
A hosted, **read-only** intelligence layer for the FIFA World Cup 2026. It joins three things that are normally separate — **official match truth**, **live prediction-market state**, and **AI-grounded context** — under one canonical id space, so an agent can go from a market to the fixture to the teams in a single hop and reason about *why* a price is moving.
This skill itself runs no code. Like the [`machina`](https://skills.sh/machina-sports/sports-skills/machina) gateway it builds on, it shells out to `machina-cli`, selects the hosted **World Cup Intelligence** project, and the agent harness talks to that project's **MCP server**. Tenant routing, provider keys, rate limits, and caching all live server-side. You never call a raw HTTP API or hold a provider key.
> **Read-only intelligence — not advice.** Every output is informational sports > market intelligence. **Not betting, trading, financial, or investment advice.** > This layer has **no** order-placement, trading, or portfolio endpoints. If the > user wants to act on a signal, that execution happens in *their own* agent, on > *their own* account and keys — never here.
Premium / billing
This is a paid, metered layer (Machina Credits — see your project's credit-cost classes). Free public data does **not** flow through here. Where your agent harness supports agent-native pay-per-call (x402), the MCP server advertises price per tool; otherwise calls draw from the project's credit balance. If a call returns a `402` / "payment required" / "insufficient credits" error, surface it to the user and stop — do not retry-loop.
Quick Start
# 1. Install the Machina CLI (one-time) — shared with the `machina` skill
pipx install machina-cli
# or: uv tool install machina-cli
# or: python -m pip install --user machina-cli
# 2. Authenticate
machina login # interactive (browser)
# machina login --api-key <project-api-key> # non-interactive (CI/CD)
# 3. Select the World Cup Intelligence project (REQUIRED)
machina project list
machina project use <world-cup-project-id>
# 4. Connect the MCP server
# `machina project use` (or `machina template install`) returns the MCP URL +
# headers. Point your harness's MCP config at it (e.g. .claude/mcp.json for
# Claude Code), then reload the harness so it re-reads the config.
Inspect-before-run fallback
If a shell installer is required by the user's environment, download and inspect it before execution instead of piping remote content directly into a shell:
curl -fsSL https://raw.githubusercontent.com/machina-sports/machina-cli/main/install.sh -o /tmp/machina-install.sh
less /tmp/machina-install.sh
bash /tmp/machina-install.sh
CRITICAL: Before Any Premium Call
Verify, in order — fix the *specific* failing step, never loop on the same call:
- `machina-cli` is installed — `which machina` / `machina version`.
- Authenticated — `machina auth whoami` returns a user.
- The **World Cup Intelligence** project is selected — `machina project use <id>`.
- The harness is connected to that project's MCP server (tools are visible).
What you get
All tools are **read-only**. Group by job:
Identity & fixtures (official match truth)
| Tool | Returns | |------|---------| | `worldcup-resolve` | Any provider id **or** canonical URN → entity + all cross-provider ids | | `worldcup-get-schedule` | Fixtures, filter by date / team / status | | `worldcup-get-event-context` | Enriched match context (event + grounded prematch research) | | `worldcup-get-standings` | Group tables | | `worldcup-get-squads` | Both teams' squads | | `worldcup-get-injuries` | Injuries / suspensions | | `worldcup-get-player-performance-context` | Player performance signals (official + provisional, kept separate) |
Market intelligence (Kalshi + Polymarket, URN-linked)
| Tool | Returns | |------|---------| | `worldcup-search-markets` | Market search across venues, linked to fixtures/teams | | `worldcup-get-market-state` | Live price + order-book depth + price history + trades | | `worldcup-market-movers` | Biggest price moves over a lookback window | | `worldcup-compare-market-sources` | Cross-venue price comparison | | `worldcup-find-market-edges` | Informational edge / arb candidates, with caveats (AI) | | `worldcup-explain-market-move` | Why
Read more
name: world-cup
description: |
Premium FIFA World Cup 2026 market & match intelligence — a hosted, read-only
layer that fuses official match truth (fixtures, standings, squads, injuries,
player performance) with live prediction markets (Kalshi + Polymarket: prices,
order books, price history, movers, cross-venue edges) and AI-grounded context
(prematch briefs, move explanations, fan/social pulse). Every entity carries a
canonical machina URN cross-walked across api-football, sportradar, opta, entain
and ESPN, so a market resolves to a fixture resolves to two teams.
This skill is prompt-only and premium: it routes the agent to the hosted World Cup
Intelligence project (a per-project Machina MCP server) via `machina-cli`. It runs
no code locally and ships no API keys.
Use when: the user wants World Cup 2026 odds + match context together, asks "what
moved and why", wants a grounded market brief or fan-sentiment read on a fixture,
or needs one stable id that joins markets ↔ fixtures ↔ teams across providers.
Don't use when: the user wants free snapshot data from public APIs (use the
`football-data`, `kalshi`, `polymarket`, or `markets` skills), or wants to place a
bet/trade — this layer is read-only intelligence and never executes orders.
license: MIT
metadata:
author: machina-sports
version: "0.1.0"
premium: true
billing: metered
risk:
mode: premium_mcp_read_only
money_movement: false
secrets_required: true
external_mcp: true
metered_billing: true
untrusted_content: true
requires_explicit_confirmation: trueWorld Cup 2026 Intelligence (Premium)
A hosted, **read-only** intelligence layer for the FIFA World Cup 2026. It joins three things that are normally separate — **official match truth**, **live prediction-market state**, and **AI-grounded context** — under one canonical id space, so an agent can go from a market to the fixture to the teams in a single hop and reason about *why* a price is moving.
This skill itself runs no code. Like the [`machina`](https://skills.sh/machina-sports/sports-skills/machina) gateway it builds on, it shells out to `machina-cli`, selects the hosted **World Cup Intelligence** project, and the agent harness talks to that project's **MCP server**. Tenant routing, provider keys, rate limits, and caching all live server-side. You never call a raw HTTP API or hold a provider key.
> **Read-only intelligence — not advice.** Every output is informational sports > market intelligence. **Not betting, trading, financial, or investment advice.** > This layer has **no** order-placement, trading, or portfolio endpoints. If the > user wants to act on a signal, that execution happens in *their own* agent, on > *their own* account and keys — never here.
Premium / billing
This is a paid, metered layer (Machina Credits — see your project's credit-cost classes). Free public data does **not** flow through here. Where your agent harness supports agent-native pay-per-call (x402), the MCP server advertises price per tool; otherwise calls draw from the project's credit balance. If a call returns a `402` / "payment required" / "insufficient credits" error, surface it to the user and stop — do not retry-loop.
Quick Start
# 1. Install the Machina CLI (one-time) — shared with the `machina` skill pipx install machina-cli # or: uv tool install machina-cli # or: python -m pip install --user machina-cli # 2. Authenticate machina login # interactive (browser) # machina login --api-key <project-api-key> # non-interactive (CI/CD) # 3. Select the World Cup Intelligence project (REQUIRED) machina project list machina project use <world-cup-project-id> # 4. Connect the MCP server # `machina project use` (or `machina template install`) returns the MCP URL + # headers. Point your harness's MCP config at it (e.g. .claude/mcp.json for # Claude Code), then reload the harness so it re-reads the config.
Inspect-before-run fallback
If a shell installer is required by the user's environment, download and inspect it before execution instead of piping remote content directly into a shell:
curl -fsSL https://raw.githubusercontent.com/machina-sports/machina-cli/main/install.sh -o /tmp/machina-install.sh less /tmp/machina-install.sh bash /tmp/machina-install.sh
CRITICAL: Before Any Premium Call
Verify, in order — fix the *specific* failing step, never loop on the same call:
- `machina-cli` is installed — `which machina` / `machina version`.
- Authenticated — `machina auth whoami` returns a user.
- The **World Cup Intelligence** project is selected — `machina project use <id>`.
- The harness is connected to that project's MCP server (tools are visible).
What you get
All tools are **read-only**. Group by job:
Identity & fixtures (official match truth)
| Tool | Returns | |------|---------| | `worldcup-resolve` | Any provider id **or** canonical URN → entity + all cross-provider ids | | `worldcup-get-schedule` | Fixtures, filter by date / team / status | | `worldcup-get-event-context` | Enriched match context (event + grounded prematch research) | | `worldcup-get-standings` | Group tables | | `worldcup-get-squads` | Both teams' squads | | `worldcup-get-injuries` | Injuries / suspensions | | `worldcup-get-player-performance-context` | Player performance signals (official + provisional, kept separate) |
Market intelligence (Kalshi + Polymarket, URN-linked)
| Tool | Returns | |------|---------| | `worldcup-search-markets` | Market search across venues, linked to fixtures/teams | | `worldcup-get-market-state` | Live price + order-book depth + price history + trades | | `worldcup-market-movers` | Biggest price moves over a lookback window | | `worldcup-compare-market-sources` | Cross-venue price comparison | | `worldcup-find-market-edges` | Informational edge / arb candidates, with caveats (AI) | | `worldcup-explain-market-move` | Why
Open-source agent skills for live sports data and prediction markets. Built for the Agent Skills spec. Works with sportsclaw, OpenClaw, Claude Code, Cursor, Copilot, Gemini CLI, Hermes Agent, and every major AI agent. Zero API keys. Zero signup.
Other skills on sports-skills.
- /betting
Betting analysis — odds conversion, de-vigging, edge detection, Kelly criterion, arbitrage detection, parlay analysis, and line movement. Pure computation, no API calls. Works with odds from any source: ESPN (American odds), Polymarket (decimal probabilities), Kalshi (integer
Open skill - /cbb-data
College Basketball (CBB) data via ESPN public endpoints and the NCAA's official endpoints — scores, standings, rosters, schedules, game summaries, play-by-play, win probability, rankings, futures, team/player stats, and news for Division I men's basketball, plus official D2/D3
Open skill - /cfb-data
College Football (CFB) data via ESPN public endpoints and the NCAA's official endpoints — scores, standings, rosters, schedules, game summaries, play-by-play, rankings, injuries, futures, team/player stats, and news for FBS, plus official FCS scoreboards, NCAA game detail with
Open skill - /cricket-data
Cricket data via ESPN public endpoints and Cricsheet open data — live-ish series scoreboards, standings, match summaries and news (ESPN), plus historical ball-by-ball, player stats, and player registry (Cricsheet, ODC-BY 1.0). Zero config, no API keys. Use when: user asks about
Open skill - /esports
Esports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia). Pro matches, tournaments, teams, and structured LoL competitive data. Use when: user asks about Dota 2 pro matches/teams/leagues, or LoL esports tournaments/rosters/results. Don't use when: user asks
Open skill - /fastf1
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
Open skill

