II.
Page JSON
Structured · livepage:docs-reference-repos-machina-sports-sports-skills-research
machina-sports/sports-skills json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-reference-repos-machina-sports-sports-skills-research",
"_kind": "Page",
"_file": "wiki/docs/reference-repos/machina-sports/sports-skills/research.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/reference-repos/machina-sports/sports-skills/research.md",
"sourceKind": "repo-docs",
"title": "machina-sports/sports-skills",
"displayName": "machina-sports/sports-skills",
"slug": "docs/reference-repos/machina-sports/sports-skills/research",
"articlePath": "wiki/docs/reference-repos/machina-sports/sports-skills/research.md",
"article": "\n# machina-sports/sports-skills\n\n- **Archetype:** domain-skill-pack\n- **Stars:** 66\n- **Last pushed:** 2026-04-12\n- **License:** MIT\n- **Discovered:** 2026-04-12\n- **Source**: gh-search\n\n## Summary\n\nOpen-source sports data and prediction market skills. 19 SKILL.md files covering 14+ sports (NFL, NBA, MLB, NHL, WNBA, tennis, golf, F1, college sports, volleyball, football/soccer across 13 leagues) plus prediction markets (Kalshi, Polymarket) and betting analytics. Published as both npm (`npx skills add`) and Python (`pip install sports-skills`) packages.\n\nKey differentiators: zero API keys required (wraps public ESPN, FPL, Understat, Transfermarkt, Kalshi, Polymarket APIs), includes a markets orchestration skill that bridges live ESPN schedules with prediction market odds, a betting analysis module (pure computation: odds conversion, de-vigging, Kelly criterion, arbitrage detection), and a sports reporter skill for generating journalism from live data.\n\nIncludes automated nightly health checks that test all upstream endpoints and generate structured reports with GitHub issue auto-filing on failures.\n\n## Assessment\n\nModerate extractable value. The betting analysis workflow (fetch odds -> de-vig -> compute edge -> Kelly sizing -> arbitrage scan) is a clear multi-phase analytical pipeline. The markets orchestration (ESPN schedule -> match to prediction markets -> normalize prices -> evaluate) is another. The nightly health check for upstream API monitoring is a reusable process pattern.\n\nThe skills themselves are primarily data-access wrappers (API reference + CLI commands) with limited multi-phase logic, but the orchestration and analysis layers on top are genuinely novel.\n\n## Extraction Priority\n\n**MEDIUM** - The betting/markets analysis pipeline and API health monitoring process are extractable. The data-access skills themselves are reference material rather than processes.\n\n---\n\n## Processes\n\n### 1. Sports Betting Edge Analysis Pipeline\n\n**Placement:** `specializations/sports-analytics/betting-edge-analysis.js`\n\nMulti-phase analytical pipeline for evaluating betting opportunities across sportsbooks and prediction markets.\n\n**Phases:**\n1. **Data Collection** - Fetch odds from multiple sources: ESPN (American odds), Kalshi (integer probabilities), Polymarket (decimal probabilities)\n2. **Normalization** - Convert all odds to implied probabilities. De-vig sportsbook lines to extract fair probabilities (remove the house edge)\n3. **Edge Detection** - Compare fair probabilities against prediction market prices. Calculate edge percentage and expected value per dollar\n4. **Sizing & Arbitrage** - Apply Kelly criterion for optimal bet sizing. Scan cross-platform price combinations for arbitrage (total implied probability < 1.0)\n5. **Report** - Present findings with fair probability, edge, EV, Kelly fraction, arbitrage ROI if found, and line movement classification\n\n**Tasks:**\n- `fetch-odds` (node) - collect odds from configured sources for a given event\n- `normalize-devig` (node) - convert formats, remove vig, compute fair probabilities\n- `compute-edge` (node) - compare fair vs market, calculate EV and Kelly\n- `detect-arbitrage` (node) - cross-platform arbitrage scan\n- `generate-report` (node) - synthesize findings into actionable output\n\n### 2. Upstream API Health Monitor\n\n**Placement:** `specializations/shared/api-health-monitor.js`\n\nAutomated health monitoring process for multi-source data pipelines. Extracted from sports-skills' nightly health check but generalizable to any system that depends on multiple external APIs.\n\n**Phases:**\n1. **Endpoint Discovery** - Enumerate all configured upstream endpoints with expected response characteristics\n2. **Parallel Probe** - Hit each endpoint with timeout, measure latency, validate response structure\n3. **Classification** - Categorize each source as OK (responsive + valid), Degraded (responsive but slow > threshold), or Down (unreachable / invalid response)\n4. **Report Generation** - Produce structured JSON results + human-readable markdown summary\n5. **Alert** - If failures detected, generate GitHub issue body for auto-filing\n\n**Tasks:**\n- `enumerate-endpoints` (node) - load endpoint config, return probe list\n- `probe-endpoint` (node) - HTTP request with timeout, return latency + status + body sample\n- `classify-results` (node) - apply thresholds, categorize health status\n- `generate-health-report` (node) - structured JSON + markdown output\n- `file-alert` (node, conditional) - create GitHub issue if degraded/down sources found\n\n## Plugin Ideas\n\n### 1. Sports Data Integration Plugin\n\n**Format:** Babysitter marketplace plugin with install.md\n\n**install.md description:** Installs sports data access skills for AI agents. Provides structured CLI interfaces to public ESPN, FPL, Understat, Transfermarkt, Kalshi, and Polymarket APIs. Includes 14+ sport modules (NFL, NBA, MLB, NHL, football/soccer, F1, tennis, golf, college sports), prediction market integration, betting analytics (odds conversion, de-vigging, Kelly criterion, arbitrage), and a sports reporter for generating journalism from live data. Zero API keys required.\n\n**Key components:**\n- Skills: per-sport data access (19 skills), markets orchestration, betting analysis, sports reporter\n- Commands: sport-specific data queries, market comparison, edge analysis\n- Scripts: nightly health check for upstream API monitoring\n- References: per-skill API reference docs, team/player ID lookups, conference mappings\n\n**Why this is a plugin:** Persistent data access tooling that agents use on-demand, not a one-shot workflow. The skills activate contextually when users ask about sports data or betting analysis.\n\n## Implicit Procedural Knowledge\n\n- **De-vigging as a prerequisite:** Never compare raw sportsbook odds directly against prediction market prices. Always de-vig first to extract fair probability, then compare. This is the single most common analytical error in sports betting.\n- **Source-aware price normalization:** ESPN uses American odds (-150/+130), Polymarket uses 0-1 decimals, Kalshi uses 0-100 integers. Normalization to implied probability must happen before any cross-source comparison.\n- **Nightly health checks with threshold-based classification:** The OK/Degraded/Down trichotomy (using a 3-second latency threshold) is more useful than binary up/down for services that gracefully degrade.\n- **Sport-aware entity search:** When bridging ESPN schedules to prediction markets, map through sport codes (e.g., NBA -> `KXNBA` for Kalshi, NBA -> series_id for Polymarket) rather than free-text search. Structured mapping eliminates false matches.\n\n## Library Mapping\n\n| Extractable Process | Library Status | Action | Existing Path | Target Placement |\n|-------------------|----------------|--------|---------------|------------------|\n| Sports Betting Edge Analysis Pipeline | NEW | Multi-phase betting opportunity evaluation with de-vigging and Kelly criterion | - | specializations/business/sports-betting-edge-analysis.js |\n| Upstream API Health Monitor | NEW | Automated health monitoring for multi-source data pipelines with structured reporting | - | specializations/shared/upstream-api-health-monitor.js |\n| De-Vigging and Odds Normalization | NEW | Sports betting odds conversion and fair probability extraction | - | specializations/shared/devigging-odds-normalization.js |\n| Cross-Platform Arbitrage Detection | NEW | Price comparison across prediction markets and sportsbooks for arbitrage opportunities | - | specializations/shared/cross-platform-arbitrage-detection.js |\n\n## Plugin Marketplace Mapping\n\n| Plugin Idea | Marketplace Status | Action | Existing Plugin | Target Placement |\n|-------------|-------------------|--------|-----------------|------------------|\n| Sports Data Integration | NEW | Zero-API-key sports data access across 14+ sports with betting analytics and market integration | - | plugins/a5c/marketplace/blueprints/sports-data-integration/ |\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-reference-repos",
"to": "page:docs-reference-repos-machina-sports-sports-skills-research",
"kind": "contains_page"
}
]
}