skills/world-cup-intelligence/SKILL.md
# World Cup 2026 Intelligence Skill This skill organizes and packages the real-time predictive analytics, market data aggregation, and social sentiment indexing capabilities of the FIFA World Cup 2026 pod into a cohesive, SDK-discoverable, and Studio-renderable capability. ## Overview The `world-cup-intelligence` skill wraps low-level background workflows (ingestion, identity crosswalking, Dixon-Coles model solving) into high-level, client-facing methods exposed via the `@machina-sports/sdk`
npx skillsauth add machina-sports/machina-templates skills/world-cup-intelligenceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill organizes and packages the real-time predictive analytics, market data aggregation, and social sentiment indexing capabilities of the FIFA World Cup 2026 pod into a cohesive, SDK-discoverable, and Studio-renderable capability.
The world-cup-intelligence skill wraps low-level background workflows (ingestion, identity crosswalking, Dixon-Coles model solving) into high-level, client-facing methods exposed via the @machina-sports/sdk or the Machina Studio UI.
By bundling these workflows under a unified manifest, we provide Studio operators with real-time "hot cards" (such as Market Watch and Fan Pulse) and conversational agents with verified data retrieval primitives.
This skill exposes three primary executable workflows.
worldcup-market-watchGenerates a tournament-wide, composite market intelligence card showing odds movers, price spreads, and candidate arbitrage edges.
force_regen is true or the cache is older than 20 minutes (TTL).force_regen (boolean, optional): Forces re-execution of the aggregation connectors and Gemini-based summary authoring.skill_card (object): A structured JSON object containing compiled tournament-wide statistics, top movers, and anomalies.served_from (string): Either 'cache' or 'generated'.worldcup-fan-pulseExtracts real-time public sentiment, trending news storylines, and fan pulse for either a specific fixture or the tournament globally.
event_urn (string, optional): The canonical Machina URN of the event (e.g., urn:machina:sport:soccer:event:scotland-vs-morocco:20260619:wor). If omitted, generates a global tournament pulse.query (string, optional): Custom search parameters. Defaults to "FIFA World Cup 2026".skill_card (object): The structured pulse card containing sentiment dials, key themes, and source attribution links.served_from (string): Either 'cache' or 'generated'.worldcup-get-signalFuses our proprietary Dixon-Coles mathematical model's probabilities with the best real-time market prices across Kalshi and Polymarket.
event_urn (string, required): The target fixture's URN (e.g., urn:machina:sport:soccer:event:scotland-vs-morocco:20260619:wor).bankroll (string, optional): Simulated bankroll size; when supplied, each leg also returns a stake_amount.kelly_fraction (number, optional): Kelly criterion scaling factor. Defaults to 0.25 (quarter-Kelly).min_edge_bps (number, optional): Minimum net edge (basis points) for a leg to be flagged as value. Defaults to 200 (2%).fee_bps (number, optional): Venue fee/slippage in basis points; edge, EV, and Kelly are computed net of it. Defaults to 0.signal (object): Per outcome — model_prob, fair odds (fair_decimal/fair_american), best_price+best_venue, edge/edge_pct, ev_per_dollar, kelly_full+kelly_stake, confidence_tier, and risk_flags.recommendation (string): Standardized plain-text directive — e.g. "No actionable edge -- model and market broadly agree; pass." or "Value: back Draw at kalshi @0.28 -- model 35% vs market 28%, edge 7.1%, suggested stake 2.46% of bankroll (quarter-Kelly). Model confidence: low."top_pick (object): The single highest-EV value leg (suppressed when flagged edge_likely_model_noise).To call these capabilities programmatically inside a fan app or service:
import { MachinaClient } from "@machina-sports/sdk";
const sdk = new MachinaClient({ token: process.env.MACHINA_API_TOKEN });
// Retrieve the hot tournament-wide market watch card
const watchCard = await sdk.skills.run("world-cup-intelligence", "worldcup-market-watch");
console.log(watchCard.skill_card.title); // "World Cup Market Watch"
You can run these workflows directly via the Machina CLI:
# Force-regenerate the tournament market watch card
machina workflow run worldcup-market-watch force_regen=true
# Get betting signal for a specific match
machina workflow run worldcup-get-signal event_urn="urn:machina:sport:soccer:event:scotland-vs-morocco:20260619:wor"
To maintain long-term reliability and isolation, the World Cup Pod separates duties into three strict layers:
┌────────────────────────────────────────────────────────┐
│ AGENTS LAYER │
│ (Reasoning loops: Copilots, Cron Publishers) │
└───────────────────────────┬────────────────────────────┘
│ (chooses / orchestrates)
▼
┌────────────────────────────────────────────────────────┐
│ SKILLS LAYER │
│ (Discovered capability package: skill.yml) │
└───────────────────────────┬────────────────────────────┘
│ (invokes)
▼
┌────────────────────────────────────────────────────────┐
│ WORKFLOWS LAYER │
│ (programmatic pipelines, model-solvers, ingestion) │
└────────────────────────────────────────────────────────┘
worldcup-ingest-fixtures, worldcup-sync-model-forecasts).devops
# Project Manifest Generator Generates a draft `project.manifest.yml` for a Machina template by statically scanning a list of workflows and aggregating the credentials, connectors, datasets and agents they reference. Built to scale **Sprint 1A** of the Pipeline Platform Cleanup (the hand-written botandwin manifest at `entain-templates`) to every template in `machina-templates` without writing each one by hand. ## What it does 1. **Deterministic extraction (always)** — a pyscript connector wa
data-ai
# Press Conference Extractor Skill This skill processes a raw transcript from a press conference and extracts structured insights. ## Use Case Use this skill when you have a long text of a press conference and need to quickly identify the key topics discussed, who said what, and which quotes are the most impactful for news reporting or analysis. ## Inputs - `transcript`: A single long string containing the full text of the press conference. ## Example Output The skill returns a JSON objec
testing
# Post-Match Tweet Thread Skill Receives a raw match object and returns a structured 5-tweet thread in Brazilian Portuguese ready to be scheduled on the team's social account. ## Workflow: `generate-tweet-thread` Takes a single input `match_data` (a JSON object with the match facts) and returns a thread of exactly 5 perspective-tagged tweets. Each tweet is character-counted server-side so the publisher doesn't have to. ### Tweet positions | # | role | content angle
testing
# News Monitor: Storylines Skill This skill monitors news articles for a given entity and clusters them into distinct storylines. ## Use Cases - Tracking media coverage for a specific player, team, or league. - Identifying emerging narratives and trending topics. - Summarizing key events over a specific time period. ## How to Use Invoke the skill through its entry-point workflow, `news-monitor-workflow`, providing the following inputs: - `entity` (string): The name of the entity to search